The Ultimate CourseInstance
Schema Generator
An instance of a Course which is distinct from other instances because it is offered at a different time or location or through different media or modes of study or to a specific section of students.
Magic Build
Paste your URL below and our AI will automatically fill the CourseInstance fields for you.
Configuration
Live GeneratorWhy use CourseInstance?
Output Panel
Want to automate this?
Connect your site to SchemaGen and our AI will automatically extract and deploy schemas for you. No manual coding required.
Launch AI GeneratorWhat is CourseInstance Schema?
An instance of a Course which is distinct from other instances because it is offered at a different time or location or through different media or modes of study or to a specific section of students.
Google uses CourseInstance structured data to understand the content and context of your pages. When correctly implemented, this schema can unlock rich results in Google Search β enhancing your listing with additional information that dramatically improves visibility and click-through rates.
Why Add CourseInstance Structured Data?
Appear in Rich Results
Structured data helps Google show enhanced results for your pages in search β including stars, prices, FAQs, and more.
Boost Click-Through Rate
Rich snippets can increase CTR by up to 30% compared to plain search results β more clicks with the same ranking.
Feed AI Search Engines
AI answer engines like Perplexity and Google SGE use structured data to verify and cite facts from your content.
How to Implement CourseInstance JSON-LD
Generate
Use the form above to fill in your details and generate valid CourseInstance JSON-LD markup in seconds.
Copy
Copy the generated JSON-LD output code with one click β it's already formatted and ready to deploy.
Deploy
Paste the code into your <head> tag, or use SchemaGen's SDK to deploy without touching code.
Want to skip steps 2 & 3? Connect SchemaGen's SDK to deploy directly from the dashboard.
Properties You Can Include
CourseInstance schema supports the following schema.org properties. Required fields are the minimum Google needs to consider your markup valid; recommended fields unlock richer search result appearances.
| Property | Description | Expected Type | Status |
|---|---|---|---|
| about | The subject matter of an object. | Thing | Optional |
| actor | An actor (individual or a group), e.g. in TV, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip. | PerformingGroup, Person | Optional |
| additionalType | An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. Typically the value is a URI-identified RDF class, and in this case corresponds to the use of rdf:type in RDF. Text values can be used sparingly, for cases where useful information can be added without their being an appropriate schema to reference. In the case of text values, the class label should follow the schema.org style guide. | Text, URL | Optional |
| aggregateRating | The overall rating, based on a collection of reviews or ratings, of the item. | AggregateRating | Optional |
| alternateName | An alias for the item. | Text | Optional |
| attendee | A person or organization attending the event. | Organization, Person | Optional |
| attendees | A person attending the event. | Organization, Person | Optional |
| audience | An intended audience, i.e. a group for whom something was created. | Audience | Optional |
| composer | The person or organization who wrote a composition, or who is the composer of a work performed at some event. | Organization, Person | Optional |
| contributor | A secondary contributor to the CreativeWork or Event. | Organization, Person | Optional |
| courseMode | The medium or means of delivery of the course instance or the mode of study, either as a text label (e.g. "online", "onsite" or "blended"; "synchronous" or "asynchronous"; "full-time" or "part-time") or as a URL reference to a term from a controlled vocabulary (e.g. https://ceds.ed.gov/element/001311#Asynchronous). | Text, URL | Optional |
| courseSchedule | Represents the length and pace of a course, expressed as a Schedule. | Schedule | Optional |
| courseWorkload | The amount of work expected of students taking the course, often provided as a figure per week or per month, and may be broken down by type. For example, "2 hours of lectures, 1 hour of lab work and 3 hours of independent study per week". | Text | Optional |
| description | A description of the item. | Text, TextObject | Optional |
| director | A director of e.g. TV, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip. | Person | Optional |
| disambiguatingDescription | A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation. | Text | Optional |
| doorTime | The time admission will commence. | DateTime, Time | Optional |
| duration | The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601). | Duration, QuantitativeValue | Optional |
| endDate | The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)). | Date, DateTime | Optional |
| eventAttendanceMode | The eventAttendanceMode of an event indicates whether it occurs online, offline, or a mix. | EventAttendanceModeEnumeration | Optional |
Example CourseInstance JSON-LD
Here's what valid CourseInstance structured data looks like with sample values filled in. Use the generator above to replace these with your own data.
{
"@context": "https://schema.org",
"@type": "CourseInstance",
"name": "Example CourseInstance",
"image": "https://example.com/images/example.jpg",
"url": "https://example.com/page",
"about": {
"@type": "Thing",
"name": "Example Thing",
"image": "https://example.com/images/example.jpg",
"url": "https://example.com/page"
},
"actor": {
"@type": "PerformingGroup",
"name": "Example PerformingGroup",
"image": "https://example.com/images/example.jpg",
"url": "https://example.com/page"
},
"additionalType": "Example additionalType",
"aggregateRating": {
"@type": "AggregateRating",
"name": "Example AggregateRating",
"image": "https://example.com/images/example.jpg",
"url": "https://example.com/page"
},
"alternateName": "Example alternateName"
}Validate Your CourseInstance Schema
Once deployed, validate your schema is working correctly with our free audit tool. Paste your URL and we'll check for errors, missing properties, and Google Rich Result eligibility.
Check your CourseInstance schema for errors and Rich Result eligibility