info #
title
required
name
The title of the course.
code
courseCode
The identifier for the Course used by the course provider (e.g. CS101 or 6.001).
description
required
description
A description of the course. Display limit of 60 characters.
publishers
publisher
The organization that publishes the source content of the course.
You can select from a dropdown of available business, organizations and persons, or you can right click on the field and enter a text value or a WikiData reference.
providers
required
provider
The organization that provides the course.
language
recommended
inLanguage
The main language the Course is offered in.
other languages
recommended
availableLanguage
Subtitles, closed captions, or other languages the course is offered in.
published
datePublished
The date that the course was first published.
course #
Educational Level
recommended
educationalLevel
The target education level for the course.
- Beginner: No prior knowledge is needed to understand the content
- Intermediate: Some knowledge might be needed to understand the content
- Advanced: This content is targeted towards advanced learners that have prior knowledge in the topic
Requirements
recommended
coursePrerequisites
Any prior knowledge that is needed for the Course. May be completion of other Courses or textual descriptions like “Understanding of basic Algebra concepts”.
credential awarded
recommended
educationalCredentialAwarded
A description of the qualification, award, certificate, diploma or other educational credential awarded as a consequence of successful completion of this course.
name
recommended
name
The name of the award.
url
recommended
url
The link to the award page.
category
recommended
credentialCategory
The type of award the user will receive.
- Certificate : Award verifying the user’s successful completion of the course or program.
- Certification : Official credential that requires an exam or attests that the user has achieved competency.
prices
recommended
offers
If there’s an extra charge to earn this certificate, add that to this price property.
Teaches
recommended
teaches
The items a person can learn in this course.
About
recommended
about
Describes the skills that the user will develop by taking the course.
total number of students
recommended
totalHistoricalEnrollment
The total number of students that have enrolled in the history of the course.
syllabus #
Syllabus Sections
recommended
syllabusSections
Syllabus entities that lay out what each section of the overall course will cover.
name
recommended
name
The name of the course module.
description
recommended
description
A description of what the module is about.
time required
recommended
timeRequired
Duration of the module
course instances #
Instances
required
hasCourseInstance
Every course must have at least one course instance with information detailing the course offering.
course mode
required
courseMode
The medium through which the course will be delivered.
- Online
- Onsite
- Blended
location
recommended
location
The name or address (or both) of the physical location where the course will be taught.
This property applies only on Onsite or Blended courses.
Only one of schedule or workload properties is required.
We recommend the schedule property if you want to highlight pacing (for example, 4 hours per week), or start and end dates. Otherwise, workload works for most cases.
schedule
required
courseSchedule
Information about how long the course takes the average user to complete, given a suggested pacing. Include start and end dates for courses that are on a fixed timeline.
duration
required
duration
The suggested pacing for how long the average user can expect to spend. For example, if the frequency is monthly and the duration is 5 Hours, the user should expect to spend 5 hours per month.
repeat count
required
repeatCount
The numerical value for how long the course lasts for. For example, if the frequency is monthly and the repeat count is 4, the course lasts for 4 months.
frequency
required
repeatFrequency
The duration and repeatCount properties are relative to this field.
start date
recommended
startDate
The start date for the course.
end date
recommended
endDate
The end date for the course.
workload
required
courseWorkload
This field represents the total time to watch all videos and complete all assignments and exams for the course.
Instructors
recommended
instructor
Information about the instructors for the course.
Images
recommended
image
Images about this course instance. Use images that are relevant to the course, rather than logos or captions.
course program #
A collection of child courses. If your web page is a course program, you must include at least one part.
Parts
required for Course Program
hasPart
The list of child courses that are a part of this program.
pricing #
Prices
required
offers
Information about the total price to complete the course, including service fees.
- Don’t list a price that is only eligible for some users (for example, 20% off for first time users).
- Don’t include extra certificate fees in this field. If there’s an extra charge to earn a certificate, add that to the Credential Awarded property.
category
required
category
The pricing category of the course.
- Free : All lectures, assignments, and tests must be available without cost for all users. The entire course can be completed without cost.
- Partially Free : More than half of the course can be completed for free (for example, all lectures are free of charge, but assignments are paid).
- Subscription : The user must be a subscriber or paid member in order to complete the entire course.
- Paid : The user must pay to complete the course.
price
recommended
price
The numerical price of the course.
currency
recommended
priceCurrency
The currency of the price of the course.
media #
Images
recommended
image
Images about the course.
Video
recommended
video
Videos about the course.
reviews #
reviews
recommended
review
Detailed reviews and ratings of the item.
name
author
Name of the review author.
published
datePublished
Date of review publication.
description
description
The review description.
rating
reviewRating
Rating of the item and values of the rating system.
rating
recommended
aggregateRating
The overall rating of the item, based on a collection of reviews or ratings.
Best and Worst values indicate the range of the rating system.
average
ratingValue
The overall rating value.
count
ratingCount
The total number of ratings for the item on your site.
best
bestRating
The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed.
worst
worstRating
The lowest value allowed in this rating system. If worstRating is omitted, 1 is assumed
Course Schema Example #
{
"@id": "https://deepschema.org/#Course-2",
"@type": "Course",
"name": "Learn Advanced C++ Topics",
"courseCode": "c-3252",
"description": "Improve your C++ skills by learning advanced topics.",
"educationalCredentialAwarded": [
{
"@type": "EducationalOccupationalCredential",
"credentialCategory": "Certificate",
"name": "Actus Certificate",
"url": "www.example.com",
"offers": [
{
"@type": "Offer",
"category": "Paid",
"price": "5",
"priceCurrency": "USD"
}
]
}
],
"publisher": [
{
"@id": "https://deepschema.org/#busi-1" // link to business schema
}
],
"provider": [
{
"@id": "https://deepschema.org/#busi-1" // link to business schema
}
],
"teaches": [
"Practice and apply systems thinking to plan for change",
"Understand how memory allocation works"
],
"offers": [
{
"@type": "Offer",
"category": "Paid",
"price": "120",
"priceCurrency": "USD"
}
],
"hasCourseInstance": [
{
"courseMode": "Blended",
"courseSchedule": {
"@type": "Schedule",
"repeatCount": "31",
"repeatFrequency": "Daily",
"startDate": "2023-12-01",
"endDate": "2023-12-31",
"duration": "PT3H"
},
"instructor": [
{
"@id": "https://deepschema.org/#pers-wp-1" // Link to person schema
}
],
"location": "Example University"
}
],
"inLanguage": {
"@type": "Language",
"name": "el"
},
"datePublished": "2023-11-08T12:02",
"availableLanguage": [
{
"@type": "Language",
"name": "en"
},
{
"@type": "Language",
"name": "fr"
}
],
"educationalLevel": [
"Advanced"
],
"coursePrerequisites": [
"Basic understanding of C++ up to arrays and functions."
],
"about": [
"C++ Coding",
"Backend Engineering"
],
"totalHistoricalEnrollment": "872",
"syllabusSections": [
{
"@type": "Syllabus",
"name": "Memory Allocation",
"description": "Learn how memory is allocated when creating C++ variables.",
"timeRequired": "PT6H"
},
{
"@type": "Syllabus",
"name": "C++ Pointers",
"description": "Learn what a C++ pointer is and when they are used.",
"timeRequired": "PT11H"
}
],
"financialAidEligible": "Scholarships available for eligible users.",
"image": [
{
"@type": "ImageObject",
"contentUrl": "https://deepschema.org/photo-1.jpg",
"name": "learn_c",
"thumbnail": "https://deepschema.org/photo-1-200x200.jpg",
"width": "750",
"height": "422"
}
],
"video": [
{
"name": "Advanced C++ Programming Tutorial 0 [Overview]",
"contentUrl": "https://www.youtube.com/watch?v=e4r5gyiVQUg",
"duration": "PT5M12S",
"thumbnailUrl": "https://i.ytimg.com/vi/e4r5gyiVQUg/hqdefault.jpg",
"uploadDate": "2018-05-17T12:00:00+00:00",
"description": "video description example",
"author": [
"ChiliTomatoNoodle"
],
"hasPart": [
{
"@type": "Clip",
"@id": "#Clip-e4r5gyiVQUg-1",
"name": "Introduction",
"startOffset": "0",
"endOffset": "23",
"url": "https://www.youtube.com/watch?v=e4r5gyiVQUg&t=0"
},
{
"@type": "Clip",
"@id": "#Clip-e4r5gyiVQUg-2",
"name": "Series Overview",
"startOffset": "23",
"endOffset": "65",
"url": "https://www.youtube.com/watch?v=e4r5gyiVQUg&t=23"
},
{
"@type": "Clip",
"@id": "#Clip-e4r5gyiVQUg-3",
"name": "Series Plans",
"startOffset": "65",
"endOffset": "227",
"url": "https://www.youtube.com/watch?v=e4r5gyiVQUg&t=65"
},
{
"@type": "Clip",
"@id": "#Clip-e4r5gyiVQUg-4",
"name": "Outro",
"startOffset": "227",
"endOffset": "312",
"url": "https://www.youtube.com/watch?v=e4r5gyiVQUg&t=227"
}
],
"@type": "VideoObject",
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": {
"@type": "WatchAction"
},
"userInteractionCount": "75979"
}
}
]
}
JSON