XooCode(){

TVSeries

TVSeries is a CreativeWorkSeries subtype dedicated to TV broadcast and online delivery. It adds 11 direct properties: actor, director, containsSeason, episode, numberOfEpisodes, numberOfSeasons, productionCompany, musicBy, countryOfOrigin, trailer, and titleEIDR.

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/TVSeries
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TVSeries",
  "name": "Crawlers",
  "description": "Narrative drama about web crawlers who gain consciousness and must choose between indexing and agency.",
  "startDate": "2022-09-15",
  "endDate": "2026-11-20",
  "numberOfSeasons": 5,
  "numberOfEpisodes": 42,
  "countryOfOrigin": { "@type": "Country", "name": "United States" },
  "titleEIDR": "10.5240/B0C4-50D4-45B9-B4F0-2C85-A",
  "productionCompany": { "@type": "Organization", "name": "Xoo Code Studios" },
  "actor": [
    { "@type": "Person", "name": "Nora Lindgren", "characterName": "Priya" },
    { "@type": "Person", "name": "Rahul Singh", "characterName": "Indexer Prime" }
  ],
  "director": { "@type": "Person", "name": "Jane Xoo" },
  "musicBy": { "@type": "Person", "name": "Marcus Okwuosa" },
  "trailer": { "@type": "VideoObject", "name": "Crawlers - series trailer", "contentUrl": "https://xoocode.com/crawlers/trailer.mp4", "uploadDate": "2022-08-01", "duration": "PT2M04S" },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.6, "reviewCount": 18412, "bestRating": 5 }
}
</script>

EIDR identifiers

EIDR (Entertainment Identifier Registry) is the film/TV industry's standard work identifier, format like 10.5240/B0C4-50D4-45B9-B4F0-2C85-A. titleEIDR is the show-level identifier; individual episodes can carry editEIDR for the specific cut. Populate titleEIDR whenever you have it, metadata indexers use EIDRs as canonical joins across distributors.

containsSeason vs season

Use containsSeason to attach full CreativeWorkSeason/TVSeason objects. The inherited hasPart also works but consumers that parse the TV model directly look for containsSeason first.

Minimal valid version

The smallest markup that still produces a valid TVSeries 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/TVSeries (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TVSeries",
  "name": "Crawlers",
  "numberOfSeasons": 5,
  "productionCompany": { "@type": "Organization", "name": "Xoo Code Studios" }
}
</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.

  • TV series rich result (Knowledge Panel / Watch Actions)primary
    Google docs

Common TVSeries 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

    titleEIDR without the prefix

    Wrong
    "titleEIDR": "B0C4-50D4-45B9-B4F0-2C85-A"
    Right
    "titleEIDR": "10.5240/B0C4-50D4-45B9-B4F0-2C85-A" (full EIDR form with 10.5240/ prefix)

    EIDR identifiers are DOI-style. The 10.5240/ prefix is part of the identifier; stripping it breaks the canonical form.

  2. 02

    Director or actor as bare strings

    Wrong
    "director": "Jane Xoo"
    Right
    "director": { "@type": "Person", "name": "Jane Xoo" }

    Knowledge panels and entity resolution require Person/Organization objects so consumers can identify who the director is (distinguishing two people with the same name).

About the example data

The fictional Xoo Code production "Crawlers", a 5-season narrative drama about web indexers who gain consciousness, co-produced by Xoo Code Studios and Semantic Pictures.

Comments

Loading comments...

Leave a comment