XooCode(){

CreativeWorkSeason

CreativeWorkSeason is a CreativeWork subtype representing a single season of a multi-season series: a TV season, a podcast season, a radio series season. Its only direct subtype is TVSeason.

It adds 10 properties: seasonNumber (Integer or Text), numberOfEpisodes (Integer), partOfSeries (CreativeWorkSeries), episode (Episode), actor, director, musicBy, productionCompany, trailer, plus startDate and endDate.

Full example of schema.org/CreativeWorkSeason json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/CreativeWorkSeason
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CreativeWorkSeason",
  "name": "Structured Data Weekly - Season 2",
  "seasonNumber": 2,
  "numberOfEpisodes": 40,
  "startDate": "2025-01-13",
  "endDate": "2025-10-20",
  "partOfSeries": { "@type": "PodcastSeries", "name": "Structured Data Weekly", "url": "https://xoocode.com/podcast" },
  "productionCompany": { "@type": "Organization", "name": "Xoo Code" },
  "trailer": { "@type": "VideoObject", "name": "Structured Data Weekly S2 trailer", "contentUrl": "https://xoocode.com/podcast/s2/trailer.mp4", "uploadDate": "2024-12-15", "duration": "PT1M12S" }
}
</script>

partOfSeries vs isPartOf

Use partOfSeries (direct property) to link the season to its CreativeWorkSeries. The inherited isPartOf also works but the specific property helps consumers that parse the TV/podcast model directly.

Minimal valid version

The smallest markup that still produces a valid CreativeWorkSeason entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/CreativeWorkSeason (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CreativeWorkSeason",
  "seasonNumber": 2,
  "numberOfEpisodes": 40,
  "partOfSeries": { "@type": "PodcastSeries", "name": "Structured Data Weekly" }
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common CreativeWorkSeason mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Season without partOfSeries

    Wrong
    CreativeWorkSeason floating with no link to its series
    Right
    Always populate partOfSeries (or inherited isPartOf) to link the season to its CreativeWorkSeries

    A season without its series is an orphan. Indexers and 'next season' UIs rely on partOfSeries to navigate the hierarchy.

About the example data

Season 2 (2025) of the fictional "Structured Data Weekly" podcast, 40 episodes published from January through October.

Comments

Loading comments...

Leave a comment