Course is the Schema.org type for a series of lessons or an educational program. Google supported two course features: a course list carousel and a richer course info result with ratings, price and details. In 2025 Google announced it was phasing out several lesser-used search features, including course info. The markup is still valid Schema.org, and SaaS academies and certification programs can use it to describe their courses accurately.
Core properties
A Course needs a name and description, and should name a provider, usually the Organization. hasCourseInstance describes specific runs, with courseMode such as online and a schedule. offers can describe price, and educationalCredentialAwarded can name a certificate.
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Certified Admin: Workflow Automation",
"description": "A self-paced course on building automations in Elmstead.",
"provider": { "@type": "Organization", "name": "Elmstead",
"sameAs": "https://www.elmstead.example" }
}What is and is not shown today
Google's handling of course markup has changed more than most types, and the current state of any remaining course list carousel should be checked in Google's Search Gallery before investing effort. Treat course markup as accurate description first and a search feature second.
Example
A customer academy
Elmstead, a workflow SaaS, runs a free academy with self-paced courses. Each course page carries Course markup with provider, a free Offer and the certificate awarded. The team does not expect a rich result but keeps the markup accurate since it costs little to maintain.
Common mistakes
Marking up single articles as courses
A blog post is not a course. Course is for a structured program of lessons.
Questions
There is no need. Deprecated features stop showing, but valid markup does no harm.