Course list (Course
) structured data

With course list structured data, you can provide more information about your courses so that prospective students find your courses through Google Search. You can provide details including the course name, who's offering it, and a short description.
There are two course rich result features that use the same schema.org Course
type.
If your site provides information about courses, you can be eligible for both features by
following both implementation guides:
- Course list: A rich result that lists courses from the same website.
- Course info: A carousel that shows detailed course information from a variety of websites.
How to add structured data
Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.
Here's an overview of how to build, test, and release structured data.
- Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
- Follow the guidelines.
- Validate your code using the Rich Results Test and fix any critical errors. Consider also fixing any non-critical issues that may be flagged in the tool, as they can help improve the quality of your structured data (however, this isn't necessary to be eligible for rich results).
- Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is
accessible to Google and not blocked by a robots.txt file, the
noindex
tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs. - To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.
Examples
Single course details page
Here's an example of a single course details page. This page must be paired with a summary page
that contains the ItemList
markup.
<html> <head> <title>Introduction to Computer Science and Programming</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Course", "name": "Introduction to Computer Science and Programming", "description": "Introductory CS course laying out the basics.", "provider": { "@type": "Organization", "name": "University of Technology - Eureka", "sameAs": "https://www.example.com" } } </script> </head> <body> </body> </html>
Single, all-in-one page
Here's an example of a single, all-in-one page. This page setup includes both the list markup and the details for each course on the same page.
<html> <head> <title>Computer Science Courses</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "ItemList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item": { "@type": "Course", "url":"https://www.example.com/courses#intro-to-cs", "name": "Introduction to Computer Science and Programming", "description": "This is an introductory CS course laying out the basics.", "provider": { "@type": "Organization", "name": "University of Technology - Example", "sameAs": "https://www.example.com" } } }, { "@type": "ListItem", "position": 2, "item": { "@type": "Course", "url":"https://www.example.com/courses#intermediate-cs", "name": "Intermediate Computer Science and Programming", "description": "This is a CS course that builds on the basics learned in the Introduction course.", "provider": { "@type": "Organization", "name": "University of Technology - Example", "sameAs": "https://www.example.com" } } }, { "@type": "ListItem", "position": 3, "item": { "@type": "Course", "url":"https://www.example.com/courses#advanced-cs", "name": "Advanced Computer Science and Programming", "description": "This CS course covers advanced programming principles.", "provider": { "@type": "Organization", "name": "University of Technology - Eureka", "sameAs": "https://www.example.com" } } } ] } </script> </head> <body> </body> </html>
Guidelines
You must follow these guidelines to be eligible to appear in a course list.
- Content guidelines
- Technical guidelines
- Carousel guidelines
- Search Essentials
- General structured data guidelines
Content guidelines
- Only use
Course
markup for educational content that fits the following definition of a course: A series or unit of curriculum that contains lectures, lessons, or modules in a particular subject and/or topic. - A course must have an explicit educational outcome of knowledge and/or skill in a particular subject and/or topic, and be led by one or more instructors with a roster of students.
- A general public event such as "Astronomy Day" is not a course, and a single 2-minute "How to make a Sandwich Video" is not a course.
Technical guidelines
You must mark up at least three courses. The courses can be on separate detail pages, or in an all-in-one page.
You must add Carousel markup to either a summary page or an all-in-one page.
Each course must have valid name and provider properties. For example, the following naming practices are not valid:
- Promotional phrases: "Best school in the world"
- Prices in course titles: "Learn ukulele - only $30!"
- Using something other than a course for a title, such as: "Make money fast with this class!"
- Discounts or purchase opportunties, such as: "Leaders in their fields share their secrets — 25% off!"
Structured data type definitions
You must include the required properties for your content to be eligible for display as a rich result. You can also include the recommended properties to add more information about your content, which could provide a better user experience.
Course
Use the following properties to mark up at least three courses. The courses can be on separate detail pages, or in an all-in-one page.
The full definition of Course
is available at
schema.org/Course.
The Google-supported properties are the following:
Required properties | |
---|---|
description |
A description of the course. Display limit of 60 characters. |
name |
The title of the course. |
Recommended properties | |
---|---|
provider |
The organization that publishes the source content of the course. For example, UC Berkeley. |
ItemList
In addition to Course
properties, add the following
properties to specify the list. You can add these properties to either a
summary page or an
all-in-one page.
The full definition of ItemList
is
available at schema.org/ItemList.
Required properties | |
---|---|
itemListElement |
Annotation for a single item page. |
ListItem.position |
Ordinal position of the item page in the list. |
ListItem.url |
The canonical URL of the item page. Every item must have a unique URL. |
问题排查
如果您在实施或调试结构化数据时遇到问题,请查看下面列出的一些实用资源。
- 如果您使用了内容管理系统 (CMS) 或其他人负责管理您的网站,请向其寻求帮助。请务必向其转发列明问题细节的任何 Search Console 消息。
- Google 不能保证使用结构化数据的功能一定会显示在搜索结果中。如需查看导致 Google 无法将您的内容显示为富媒体搜索结果的各种常见原因,请参阅结构化数据常规指南。
- 您的结构化数据可能存在错误。请查看结构化数据错误列表和“无法解析的结构化数据”报告。
- 如果您的网页受到结构化数据手动操作的影响,其中的结构化数据将会被忽略(但该网页仍可能会出现在 Google 搜索结果中)。如需修正结构化数据问题,请使用“人工处置措施”报告。
- 再次查看相关指南,确认您的内容是否未遵循指南。问题可能是因为出现垃圾内容或使用垃圾标记导致的。不过,问题可能不是语法问题,因此富媒体搜索结果测试无法识别这些问题。
- 针对富媒体搜索结果缺失/富媒体搜索结果总数下降进行问题排查。
- 请等待一段时间,以便 Google 重新抓取您的网页并重新将其编入索引。请注意,网页发布后,Google 可能需要几天时间才会找到和抓取该网页。有关抓取和索引编制的常见问题,请参阅 Google 搜索抓取和索引编制常见问题解答。
- 在 Google 搜索中心论坛中发帖提问。