Mark up your course lists with structured data so prospective students find you through Google Search. You can provide details including the course name, who's offering it, and a short description.

Course rich result in Google Search results

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. For a step-by-step guide on how to add structured data to a web page, check out the structured data codelab.

  1. Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
  2. Follow the guidelines.
  3. Validate your code using the Rich Results Test.
  4. 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.
  5. To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.


Here's an example of a course in JSON-LD:

    <title>Introduction to Computer Science and Programming</title>
    <script type="application/ld+json">
      "@context": "",
      "@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": ""


You must follow these guidelines to be eligible to appear in a Course carousel.

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

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.


The full definition of Course is available at

Required properties


A description of the course. Display limit of 60 characters.



The title of the course.

Recommended properties


The organization that publishes the source content of the course. For example, UC Berkeley.


The full definition of ItemList is available at

Required properties


Annotation for a single item page.



Ordinal position of the item page in the list.



The canonical URL of the item page. Every item must have a unique URL.


If you're having trouble implementing or debugging structured data, here are some resources that may help you.