The online education market is booming, and competition for students is fierce. Course schema markup helps your courses stand out in Google search with rich information about your educational content.
This guide shows you how to implement Course schema to attract more students to your online courses.
What is Course Schema?
Course schema is structured data that describes educational courses. It tells search engines about:
- Course name and description
- Provider/instructor
- Duration and format
- Price and enrollment details
- Prerequisites and outcomes
- Ratings and reviews
Properly marked-up courses can appear with enhanced information in Google search results and even in dedicated course carousels.
Where Course Rich Results Appear
Search Results
Enhanced listings with course details, provider, and ratings.
Course Carousel
A dedicated carousel for course-related searches.
Google for Education
Integration with Google’s education features.
Required Properties
Google requires:
- name - Course title
- description - What the course covers
- provider - Who offers the course
Recommended Properties
For comprehensive course markup:
- offers - Pricing information
- hasCourseInstance - Specific sessions/dates
- coursePrerequisites - Required knowledge
- educationalLevel - Beginner, Intermediate, Advanced
- aggregateRating - Student ratings
- duration - Course length
- image - Course thumbnail
Basic Course Schema Example
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Complete Web Development Bootcamp",
"description": "Learn HTML, CSS, JavaScript, React, and Node.js from scratch. Build 20+ real-world projects and launch your web development career.",
"provider": {
"@type": "Organization",
"name": "Code Academy Pro",
"sameAs": "https://codeacademypro.com"
}
}
Complete Course Schema Example
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Complete Web Development Bootcamp 2025",
"description": "Master full-stack web development from zero to job-ready. Learn HTML, CSS, JavaScript, React, Node.js, MongoDB, and more through 60+ hours of video content and 20+ hands-on projects.",
"image": "https://example.com/courses/webdev-bootcamp.jpg",
"provider": {
"@type": "Organization",
"name": "Code Academy Pro",
"sameAs": "https://codeacademypro.com",
"logo": "https://codeacademypro.com/logo.png"
},
"instructor": {
"@type": "Person",
"name": "Sarah Developer",
"description": "Senior Software Engineer with 15 years experience",
"image": "https://example.com/instructors/sarah.jpg"
},
"educationalLevel": "Beginner",
"teaches": [
"HTML5 and CSS3",
"JavaScript ES6+",
"React.js",
"Node.js and Express",
"MongoDB",
"RESTful API Design"
],
"coursePrerequisites": "No prior programming experience required. Basic computer skills needed.",
"duration": "PT60H",
"inLanguage": "en",
"offers": {
"@type": "Offer",
"price": 199.99,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2025-01-01",
"url": "https://example.com/courses/webdev-bootcamp"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": "online",
"courseWorkload": "PT10H/Week"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"ratingCount": 12547,
"reviewCount": 3421
}
}
Course Instance vs Course
Course is the general course template.
CourseInstance is a specific offering with dates/schedule:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Data Science Fundamentals",
"hasCourseInstance": [
{
"@type": "CourseInstance",
"name": "Spring 2025 Cohort",
"courseMode": "Online",
"startDate": "2025-03-01",
"endDate": "2025-05-31",
"instructor": {
"@type": "Person",
"name": "Dr. Data Expert"
}
},
{
"@type": "CourseInstance",
"name": "Summer 2025 Cohort",
"courseMode": "Online",
"startDate": "2025-06-01",
"endDate": "2025-08-31"
}
]
}
Course Modes
Specify how the course is delivered:
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": "online"
}
Options:
online- Fully remoteonsite- In-personblended- Mix of online and in-person
Pricing Options
Fixed Price
"offers": {
"@type": "Offer",
"price": 299,
"priceCurrency": "USD"
}
Subscription/Membership
"offers": {
"@type": "Offer",
"price": 29,
"priceCurrency": "USD",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 29,
"priceCurrency": "USD",
"billingDuration": "P1M"
}
}
Free Course
"offers": {
"@type": "Offer",
"price": 0,
"priceCurrency": "USD"
}
Price Range
"offers": {
"@type": "AggregateOffer",
"lowPrice": 99,
"highPrice": 499,
"priceCurrency": "USD"
}
Educational Level
Specify the intended audience:
"educationalLevel": "Beginner"
Common values:
- Beginner
- Intermediate
- Advanced
- Professional
- High School
- College
Course Duration
Use ISO 8601 duration format:
"duration": "PT40H"
Examples:
- PT10H = 10 hours
- PT40H = 40 hours
- P3M = 3 months
- P1Y = 1 year
Learning Outcomes
Describe what students will learn:
"teaches": [
"Fundamental programming concepts",
"Web development with React",
"Backend development with Node.js",
"Database design and management",
"Deploying web applications"
]
Or as a text description:
"teaches": "Upon completion, students will be able to build full-stack web applications from scratch."
Certification
If the course offers certification:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Project Management Professional Prep",
"educationalCredentialAwarded": "PMP Certification Preparation",
"competencyRequired": "2 years project management experience"
}
Multiple Instructors
"instructor": [
{
"@type": "Person",
"name": "Dr. Jane Smith",
"description": "Professor of Computer Science"
},
{
"@type": "Person",
"name": "John Developer",
"description": "Senior Software Engineer at Tech Co"
}
]
Platform-Specific Implementation
Udemy/Teachable/Thinkific
These platforms often include basic Course schema. You may need to supplement with custom code.
WordPress with LearnDash/LifterLMS
Many LMS plugins include schema. Check settings or use additional schema plugins.
Custom LMS
Use our Course Schema Generator and implement in your course templates.
Common Mistakes
1. Missing Provider
Always include who offers the course.
2. Vague Descriptions
Be specific about what students will learn.
3. Inaccurate Duration
Match the actual course length.
4. Fake Ratings
Only include genuine student ratings.
5. Missing Price Information
Include pricing for commercial courses.
Generate Your Course Schema
Use our free Course Schema Generator to create valid markup for your courses.
Enter your:
- Course name and description
- Provider/instructor information
- Duration and format
- Pricing details
- Rating data
Get properly formatted JSON-LD ready to add to your course pages.
Measuring Success
Track these metrics:
Search Console
- Course-related impressions
- Click-through rate
- Rich result appearances
Analytics
- Traffic to course pages
- Enrollment page visits
- Conversion rate
Business Metrics
- Course sign-ups
- Revenue per course
- Student ratings
Conclusion
Course schema helps your educational content stand out in an increasingly crowded market. With proper markup, potential students can see course details, pricing, and ratings directly in search results.
Focus on comprehensive, accurate information. Include instructor credentials, clear learning outcomes, and genuine student ratings.
Start with your flagship courses, implement proper schema, and expand across your course catalog.
Need help marketing your online courses? I can help you optimize your course pages for search and implement effective schema markup. Get in touch for a consultation.