Question

Course Schema: Educational Content Markup for Search Visibility

6 min read

Short answer

Course markup still has one Google Search feature of its own behind it, and a narrow one. Google retired the Course Info rich result in 2025. What remains is the course list rich result: a carousel that shows a course's name, who offers it and a short description, available in English, for sites that mark up at least three courses with list markup. Apart from learner ratings, which follow the review snippet rules, the rest of a Course block describes the course without earning a separate Google display.

Sources

  1. 1developers.google.com
  2. 2developers.google.com
  3. 3developers.google.com
  4. 4schema.org
  5. 5developers.google.com
  6. 6support.google.com
  7. 7support.google.com

Ask next

What Google Retired in 2025

On June 12, 2025, Google announced it was simplifying the search results page and phasing out several structured data features, Course Info among them. The announcement gave two points that matter for anyone maintaining course pages:

  • “This update won’t affect how pages are ranked.”
  • “The use of these structured data types outside of Google Search (and dependent features) is not affected.”

A September 8, 2025 update to the same post set the reporting dates: “Starting on September 9, these types will be removed from Search Console rich result reporting, the Rich Result Test, and the list of Search appearance filters”. The Search Console API kept supporting them “through December 2025.” The Search Central documentation changelog records the removal of the Course Info documentation on September 9, 2025, because the type was “no longer shown in Google Search results.”

The current course documentation lists only three Google-supported Course properties: name, description and provider. Properties such as offers, hasCourseInstance, courseMode and courseWorkload are not on that list, so they produce nothing visible in Google Search, and there is no Search Console course report to monitor them.

What the Course List Rich Result Requires

Google’s current course list structured data documentation says the result “is available in English in all regions where Google Search is available.” Its requirements:

Requirement What Google's documentation says
Enough courses "You must mark up at least three courses." They can sit on separate detail pages or on one all-in-one page
List markup "You must add Carousel markup to either a summary page or an all-in-one page"
Course properties <!–INLINECODE7–> and <!–INLINECODE8–> are listed as required; <!–INLINECODE9–> is listed as recommended
Valid naming "Each course must have valid name and provider properties"; promotional phrases, prices and discounts in course titles are not valid
Description length "Display limit of 60 characters"
Unique URLs <!–INLINECODE10–> is "The canonical URL of the item page. Every item must have a unique URL"

The property table and the technical guideline disagree on provider: one lists it as recommended, the other says each course “must have valid name and provider properties.” The safe reading is to include all three, name, description and provider, on every course.

The content guidelines decide whether a page is a course at all. Google allows Course markup only for “A series or unit of curriculum that contains lectures, lessons, or modules in a particular subject and/or topic”, with “an explicit educational outcome” and “led by one or more instructors with a roster of students.” Its own counterexamples are “Astronomy Day”, a public event, and “a single 2-minute ‘How to make a Sandwich Video'”. The documentation also warns that a site violating these guidelines may receive a manual action.

Two Page Patterns That Work

Summary page plus detail pages. Each course has its own detail page with Course markup, and a summary page carries an ItemList that points to them. Google’s own detail-page example uses only name, description and provider; adapted to a sample course:

{
  "@context": "https://schema.org",
  "@type": "Course",
  "name": "Introduction to Data Analysis",
  "description": "A first course in cleaning and charting data.",
  "provider": {
    "@type": "Organization",
    "name": "Example Learning",
    "sameAs": "https://www.example.com"
  }
}

The summary page lists the detail pages by position and URL:

{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "url": "https://www.example.com/courses/intro-data-analysis"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "url": "https://www.example.com/courses/sql-for-analysts"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "url": "https://www.example.com/courses/dashboards-and-reporting"
    }
  ]
}

All-in-one page. One page carries the ItemList and the full Course details for each item, with each course given its own URL fragment, such as https://www.example.com/courses#intro-data-analysis. This suits a catalog page where the course descriptions really are on one page.

Write the 60-character description for the carousel, not for the course page. “A first course in cleaning and charting data.” is 45 characters; the longer explanation belongs in the visible page copy.

What to Do With Course Info Properties You Already Have

Google said the retirement does not affect ranking and does not change how these types are used outside Google Search. So the decision about existing offers, hasCourseInstance and instructor blocks is about accuracy and upkeep:

  • Keep them if they are accurate and maintained. schema.org still defines Course and its related types, and other systems that read schema.org may use them.
  • Fix or remove stale data. A CourseInstance with a start date that has passed, or a price that changed, now misdescribes the course to every consumer of the markup with no Google display to justify the upkeep.
  • Stop new work aimed at Course Info. A template ticket whose only goal was price or schedule display in Google has no feature to deliver.

Ratings are the exception worth knowing. Google’s review snippet documentation lists Course among the valid types for a reviewed item, so learner ratings can still be eligible for a review snippet. The same guidelines apply as anywhere else: the ratings must be visible on the page, “Don’t aggregate reviews or ratings from other websites”, and don’t include “fake or undisclosed incentivized reviews”. The self-serving restriction in that documentation is written for LocalBusiness and Organization pages; the Review and AggregateRating schema guide covers how those rules differ by type.

Validating and Monitoring

  • Rich Results Test. Its list of supported types includes “Course list item”. Google’s course documentation says other rich result types may show errors in the test and that, for this feature, you should “pay attention to any warnings or errors that are in the Course list item” section, plus the Carousels section on an all-in-one page.
  • Search Console. Course is not in the list of rich result reports, so there is no course enhancement report. Google’s troubleshooting section for this feature points to the list of structured data errors and the Unparsable structured data report instead, and its deployment steps use the URL Inspection tool to test how Google sees a published page.
  • Crawl access. Google’s deployment steps remind you to make sure the page is “not blocked by a robots.txt file, the noindex tag, or login requirements.” A catalog that only shows course details after sign-in fails that check.

For the broader validation workflow across templates, see the schema testing and validation tools guide. How the provider organization should be described elsewhere on the site is covered in Organization and Person schema.

Where Course Pages Actually Win or Lose

The course list carousel is a small surface: English only, three courses minimum, a name, a provider and 60 characters of description. Everything else a prospective student needs has to be on the page itself: a title that matches what people search for, a description of outcomes, prerequisites and workload in visible text, and a catalog that search engines can crawl. Those decisions, and how they differ for schools, universities and online platforms, are covered in education SEO for schools, universities and online learning. Mark up three or more real courses for the carousel, keep the rest of the markup accurate, and put the effort that once went into Course Info fields into the visible course page.

Link profile