Generate valid Course JSON-LD structured data for online courses and training programs. Help Google display rich course results with provider, pricing, and schedule details.
OneStepToRank monitors your structured data in production, alerts you when schema breaks, and tracks how your rich results change over time.
Get StartedCourse schema is structured data markup that tells search engines a page describes an educational course. Built on the Schema.org Course type, it provides machine-readable details about the course name, description, provider, instructor, delivery format, schedule, and pricing. When Google reads this markup, it can display your course in enhanced search results with rich snippets showing the provider name, price, rating, and schedule details directly in the SERP.
Without Course schema, Google has to infer course details from the raw HTML on your page. It may miss the instructor, display the wrong price, or fail to associate the course with its provider. Structured data removes that ambiguity. You explicitly declare what Google needs to show, increasing the likelihood of appearing in course-specific rich results, carousels, and the dedicated Courses filter in Google Search.
Google uses Course schema to power several enhanced search features. The most common is the course rich result, which displays the course name, provider, and a short description in a visually distinct card format. For queries like "machine learning courses" or "web development training," Google may show a dedicated Courses carousel pulling data directly from structured markup on course pages.
Rich course results can include the provider name (such as Coursera, Udemy, or a university), the price or "Free" label, aggregate ratings with star icons, and the delivery mode (Online, Onsite, or Blended). These details help users compare courses at a glance without clicking through, which paradoxically increases click-through rates because users can quickly identify the most relevant option. Pages with Course schema consistently outperform plain blue links for education-related queries.
The Course schema has two key components that work together:
Google recommends including at least one CourseInstance with schedule and mode details for the best chance of triggering rich results. If your course is self-paced with no fixed dates, you can omit CourseInstance entirely, but including it with a courseMode of "Online" still strengthens the markup.
To get the most out of your Course structured data, follow these best practices:
After implementing your Course schema, validate the live page with the Rich Results Test and monitor the Enhancements report in Google Search Console for errors. Use this generator alongside our Local Rank Checker to measure how structured data improvements affect your visibility in search results.
Course schema markup is structured data you add to web pages that describe educational courses. It uses the Schema.org Course type encoded in JSON-LD format to provide machine-readable details like the course name, description, provider, instructor, schedule, and pricing. When Google reads this markup, it can display your course in enhanced search results with rich snippets showing the provider, price, rating, and availability directly in the SERP.
Course schema can trigger a dedicated course rich result in Google Search. This enhanced listing typically shows the course name, provider or institution name, a short description, and may include details like price, rating, and duration. Google also uses Course markup to populate its dedicated Education carousel and the Courses filter in search results, giving marked-up courses significantly more visibility than plain blue links.
Course describes the general course itself, including the name, description, provider, and subject matter. CourseInstance describes a specific offering or session of that course, with details like start date, end date, location, delivery mode (online or onsite), and instructor. A single Course can have multiple CourseInstance entries representing different sessions, semesters, or cohorts. Google recommends including at least one CourseInstance with schedule details for the best chance of rich results.
No. Course schema works for any type of educational course, whether online, in-person, or blended. The courseMode property on CourseInstance lets you specify the delivery format: Online for virtual courses, Onsite for in-person classes, and Blended for hybrid formats. You can also specify a physical location for onsite courses. This makes Course schema suitable for universities, training centers, workshops, bootcamps, and MOOCs alike.