Course + CourseInstance schema — what it does & how to ship it
Course marks up an educational course with provider, description and CourseInstance (schedule + mode + duration) — unlocking Google's course carousel.
What it does
Course carries name, description, provider and hasCourseInstance (with courseMode, courseWorkload, startDate, endDate). Supporting fields include educationalCredentialAwarded and coursePrerequisites.
SERP / AI benefit
Course carousel eligibility for education queries, plus enrichment for LLMs answering 'how do I learn X' questions.
Where to use it
Academy lessons, tracks, certifications.
JSON-LD example
{
"@context": "https://schema.org",
"@type": "Course",
"name": "WBP Academy — GEO Fundamentals",
"description": "Learn to get cited by ChatGPT, Perplexity and Google AI Overviews.",
"provider": { "@type": "Organization", "name": "WBP Omni SEO Pro", "url": "https://wbpomniseo.com" },
"hasCourseInstance": { "@type": "CourseInstance", "courseMode": "online", "courseWorkload": "PT2H" }
}Copy, edit for your site, and drop into your page head inside a<script type="application/ld+json">block. Validate with Google's Rich Results Test.
In WBP Omni SEO Pro
Live on every /academy/* lesson with courseMode (online), workload and provider set to WBP Omni SEO Pro.
Ship Course + CourseInstance without touching codeFrequently asked
Do I need CourseInstance?›
As of 2023 Google requires at least one hasCourseInstance for rich-result eligibility.
Can Course be free?›
Yes — set offers.price to 0 or omit offers if the course has no price.
