XooCode(){

PodcastSeason

PodcastSeason is a CreativeWorkSeason subtype that groups PodcastEpisode entities into seasons within a PodcastSeries. It adds no properties of its own. Use inherited properties: seasonNumber (from CreativeWorkSeason), partOfSeries (the PodcastSeries), and episode or hasPart (the episodes in this season). Many podcasts do not use seasons. If yours does not, link episodes directly to the PodcastSeries.

For a complete property walkthrough, see the PodcastSeries example. Replace "@type": "CreativeWorkSeason" with "@type": "PodcastSeason" and set seasonNumber.

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/PodcastSeason
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastSeason",
  "name": "Structured Data Deep Dive: Season 2 - E-Commerce",
  "seasonNumber": 2,
  "url": "https://xoocode.com/podcast/season-2",
  "partOfSeries": {
    "@type": "PodcastSeries",
    "name": "Structured Data Deep Dive",
    "url": "https://xoocode.com/podcast"
  },
  "numberOfEpisodes": 12,
  "startDate": "2026-04-01",
  "endDate": "2026-06-24",
  "description": "Season 2 covers Product, Offer, AggregateOffer, ProductGroup, and e-commerce schema patterns."
}
</script>

Minimal valid version

The smallest markup that still produces a valid PodcastSeason 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/PodcastSeason (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastSeason",
  "name": "Structured Data Deep Dive: Season 2",
  "seasonNumber": 2,
  "partOfSeries": { "@type": "PodcastSeries", "name": "Structured Data Deep Dive" }
}
</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 PodcastSeason 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

    Using PodcastSeason when the podcast has no seasons

    Wrong
    PodcastSeason with seasonNumber 1 for a podcast that does not use seasons
    Right
    Link episodes directly to PodcastSeries via partOfSeries

    Many podcasts publish continuously without season breaks. In that case, skip PodcastSeason and link each PodcastEpisode directly to the PodcastSeries. Adding an artificial season 1 adds structure that does not match the content.

About the example data

Season 2 of the Structured Data Deep Dive podcast, focusing on e-commerce schema types.

Comments

Loading comments...

Leave a comment