Course Schema Markup
Course markup helps educational content and online courses appear in Google's course carousel and education-related search features, connecting learners with courses that match their interests.
Eligible Rich Results
When to Use Course
Properties
| Property | Type | Status | Description |
|---|---|---|---|
| name | Text | required | Course title. |
| description | Text | required | What the course covers. |
| provider | Organization | required | Who offers the course. |
| url | URL | recommended | Course page URL. |
| image | URL | optional | Course thumbnail. |
| offers | Offer | recommended | Pricing. |
| hasCourseInstance | CourseInstance | optional | Specific session/cohort. |
| inLanguage | Text | optional | Language of instruction. |
| educationalLevel | Text | optional | Difficulty level. |
| aggregateRating | AggregateRating | optional | Student ratings. |
JSON-LD Examples
Online Course
An online programming course.
{
"@context": "https://schema.org",
"@type": "Course",
"name": "React Masterclass",
"description": "Master React from fundamentals to advanced patterns. Build real-world projects.",
"provider": {
"@type": "Organization",
"name": "CodeAcademy Pro",
"sameAs": "https://codeacademypro.com"
},
"url": "https://codeacademypro.com/courses/react",
"offers": {
"@type": "Offer",
"price": "49.99",
"priceCurrency": "USD"
},
"inLanguage": "en",
"educationalLevel": "Intermediate"
} Common Mistakes
Missing provider — Google requires knowing who offers the course.
Not including pricing — even free courses should have an Offer with price: '0'.
Complete Guide to Course Schema Markup
Course schema markup enables educational content to appear in Google's course-related search features. When someone searches for 'learn React' or 'Python course online', Google may display a carousel of courses pulled from structured data.
The three required properties are name, description, and provider. Even if the course is self-published, include a provider Organization. For pricing, always include an Offer — use price: '0' for free courses.
Related Types
Ready to Create Course Markup?
Use our free generator to create valid Course JSON-LD markup with a visual form. No coding required.
Open Generator