Course Schema Markup
Course schema enables course rich results in Google Search with provider, description, and rating info. Essential for online learning platforms, universities, and training providers.
What is Course schema markup?
Course schema markup is structured data in JSON-LD format that helps search engines understand your page content. It requires properties like name, description, provider and enables rich results in Google Search. Course schema enables course rich results in Google Search with provider, description, and rating info. Essential for online learning platforms, universities, and training providers.
Required Properties
| Property | Type | Description |
|---|---|---|
| name | Text | The name of the course. |
| description | Text | A description of the course. |
| provider | Organization | The organization offering the course. |
Recommended Optional Properties
| Property | Type | Description |
|---|---|---|
| url | URL | URL to the course page. |
| courseCode | Text | The course identifier or code. |
| hasCourseInstance | CourseInstance | A specific instance of the course with dates. |
| offers | Offer | Pricing information for the course. |
| aggregateRating | AggregateRating | Overall student rating. |
| image | ImageObject or URL | An image representing the course. |
Example JSON-LD Code
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Advanced JavaScript: From ES6 to ES2025",
"description": "Master modern JavaScript with hands-on projects covering ES6+, async patterns, and the latest ECMAScript features.",
"provider": {
"@type": "Organization",
"name": "CodeAcademy Plus",
"sameAs": "https://codeacademy.example.com"
},
"offers": {
"@type": "Offer",
"price": "49.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "1250"
}
}
Place this inside a <script type="application/ld+json"> tag in your page's <head>.
Common Mistakes to Avoid
- ✗ Missing the provider — Google requires knowing who offers the course
- ✗ Not including pricing information when the course has a fee
- ✗ Using Course schema for individual lessons instead of the overall course
- ✗ Not updating course instances when new sessions are scheduled
- ✗ Omitting ratings and reviews that could improve rich result appearance
Generate Course Schema Markup
Use our free schema generator to create valid Course JSON-LD code in seconds.
Open Schema Generator