Course schema generator
A course or training program you teach, online or in person.
Rich result retiredCourse · Course info
Guide
What Google does with Course markup
Google retired the Course info rich result in 2025, so this markup no longer changes how the page looks in Google. It is still valid Schema.org that other search engines and course aggregators read.
When to use it
Use on course landing pages for MOOCs, bootcamps, and training programs with a defined curriculum.
Fields Google looks for
| Property | Status | In the form |
|---|---|---|
| name | Required | Course title |
| description | Required | Description |
| provider | Recommended | Provider |
| offers | Recommended | Price |
| hasCourseInstance | Recommended | Sessions |
Example output
This is what the builder produces from the example data. Paste it into the page's HTML, in the <head> or the body.
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Introduction to Data Engineering",
"description": "Eight weeks of hands-on pipelines with SQL and Python.",
"inLanguage": "en",
"provider": {
"@type": "Organization",
"name": "Northwind Academy",
"url": "https://example.com"
},
"offers": {
"@type": "Offer",
"category": "Paid",
"price": 490,
"priceCurrency": "EUR"
},
"hasCourseInstance": [
{
"@type": "CourseInstance",
"courseMode": "Online",
"startDate": "2026-09-07",
"endDate": "2026-10-30",
"courseWorkload": "PT40H"
}
]
}Common questions
- Course vs CourseInstance?
- Course is the catalog item. CourseInstance is a specific run with dates, mode, and instructor.
- Can free courses include offers?
- Yes. Use price 0 with priceCurrency when the page states the course is free.