Course schema markup helps your educational content appear in Google's course rich results — showing course name, provider, and key details in search. Course structured data is used by online learning platforms, universities, and anyone offering structured educational content. The CourseInstance sub-type adds scheduling and format details for specific course runs.
| Property | Type | Description |
|---|---|---|
namerich result | string | The name of the course. |
descriptionrich result | string | A description of the course content and objectives. |
providerrich result | Organization | The institution or platform offering the course. |
Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.
| Property | Type | Description |
|---|---|---|
url | URL | The course enrollment or landing page URL. |
hasCourseInstance | CourseInstance | A specific scheduled run of the course. Include courseMode, startDate, endDate, and location. |
courseCode | string | The course identifier or code. |
educationalLevel | string or URL | Difficulty level (e.g. Beginner, Intermediate, Advanced). |
offers | Offer | Pricing information for the course. |
Rich result type: Course info rich result
Requirements: Required: name, description, and provider (Organization with name). Add hasCourseInstance for specific course runs with dates and format.
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Introduction to Structured Data and SEO",
"description": "Learn how to implement Schema.org structured data to improve your search visibility and unlock Google rich results.",
"provider": {
"@type": "Organization",
"name": "SchemaCheck Academy",
"url": "https://schemacheck.dev"
},
"url": "https://schemacheck.dev/courses/structured-data-seo",
"courseCode": "SD-101",
"educationalLevel": "Beginner",
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": "online",
"startDate": "2026-04-01",
"endDate": "2026-04-30",
"courseWorkload": "PT5H"
},
"offers": {
"@type": "Offer",
"price": "49",
"priceCurrency": "USD"
}
}Validate this schema against Google's requirements in one API call:
curl "https://schemacheck.dev/api/v1/validate" \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonld":{"@context":"https://schema.org","@type":"Course","name":"Introduction to Structured Data and SEO","description":"Learn how to implement Schema.org structured data to improve your search visibility and unlock Google rich results.","provider":{"@type":"Organization","name":"SchemaCheck Academy","url":"https://schemacheck.dev"},"url":"https://schemacheck.dev/courses/structured-data-seo","courseCode":"SD-101","educationalLevel":"Beginner","hasCourseInstance":{"@type":"CourseInstance","courseMode":"online","startDate":"2026-04-01","endDate":"2026-04-30","courseWorkload":"PT5H"},"offers":{"@type":"Offer","price":"49","priceCurrency":"USD"}}}'100 free validations/month. No credit card required.