Course Schema for Webflow Websites
Course schema tells search engines and AI assistants about educational offerings. It powers Google Course rich results in search and the course panels that appear when someone searches for classes, certifications, or training programs.
Why Course Schema Matters
When a learner searches for a course by name or topic, Google can display:
- Course title and provider directly in search results
- Course description and availability
- Provider name with a link to the institution
AI assistants use Course markup to answer questions like "What beginner Python courses are available?", "How long is the freeCodeCamp JavaScript certification?", and "What courses does Coursera offer on machine learning?" Without structured Course data, your courses compete on page content alone.
Course Fields in This Glossary
All fields covered in this glossary for the Course type:
- courseCode — Not mentioned
- educationalLevel — Not mentioned
- timeRequired — Not mentioned
Complete JSON-LD Example
A fully implemented Course with all glossary fields:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "JavaScript Algorithms and Data Structures",
"description": "Learn fundamental computer science concepts and build algorithm skills with JavaScript.",
"courseCode": "JS-ADS-301",
"educationalLevel": "Intermediate",
"timeRequired": "PT300H",
"inLanguage": "en",
"provider": {
"@type": "Organization",
"name": "freeCodeCamp",
"sameAs": "https://www.freecodecamp.org"
},
"hasCourseInstance": [
{
"@type": "CourseInstance",
"courseMode": "Online",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
}
}
]
}
Course with CourseInstance
For courses with scheduled sessions, pricing, or delivery modes, nest a CourseInstance:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Basic Proofreading",
"courseCode": "PROOF-101",
"educationalLevel": "Beginner",
"timeRequired": "PT40H",
"provider": {
"@type": "Organization",
"name": "London School of Publishing"
},
"hasCourseInstance": [
{
"@type": "CourseInstance",
"courseMode": ["distance learning", "Online"],
"courseSchedule": {
"@type": "Schedule",
"repeatFrequency": "Weekly",
"repeatCount": 10
},
"offers": {
"@type": "Offer",
"price": "395",
"priceCurrency": "GBP"
}
}
]
}
Webflow Implementation
Course schema works on Webflow in three ways:
Static pages: Add the full JSON-LD block in Page Settings > Custom Code (Before ). Suitable for a single course landing page.
CMS template pages: Create a Course collection with fields for name, description, courseCode, educationalLevel, and timeRequired. Use an embed element or custom code to output the JSON-LD dynamically from CMS field values.
Schema HQ: Connect your Webflow site, select the Course type, map your CMS fields, and publish. Schema HQ handles JSON-LD formatting and Webflow API publishing automatically.