TV Episode & Season Hierarchy Schema Markup (JSON-LD)
Granular structured data for individual TV episodes within seasons, specifying episode numbers, air dates, parent season/series hierarchies, directors, and runtimes.
Displayed below main page header or above the tool container. • Zero CLS Container
Production JSON-LD Code Block
Embed this structured data block directly into your HTML <head> or framework layout template.
{
"@context": "https://schema.org",
"@type": "TVEpisode",
"name": "Protocol Override",
"episodeNumber": 4,
"datePublished": "2026-10-01",
"duration": "PT52M",
"description": "The cyber-defense operative discovers an encrypted backdoor inside the planetary power grid.",
"partOfSeason": {
"@type": "TVSeason",
"seasonNumber": 3,
"name": "Season 3: The Blackout"
},
"partOfSeries": {
"@type": "TVSeries",
"name": "Neural Grid: Neo-Tokyo 2099",
"url": "https://omniseotools.com/shows/neural-grid"
},
"director": {
"@type": "Person",
"name": "Kenji Sato"
},
"actor": [
{
"@type": "Person",
"name": "Ren Tanaka"
}
]
}Typed Properties Specification (8 Fields)
Key Schema.org properties and sub-objects required to qualify for rich snippet treatment in Google Search.
| Property | Expected Type | Status | Description & Example |
|---|---|---|---|
| name | string | Required | Official title of the individual episode. e.g. Protocol Override |
| episodeNumber | number | Required | Sequential episode index number within the parent season. e.g. 4 |
| partOfSeason | TVSeason | Required | Parent TVSeason entity linking season number and season name. e.g. { '@type': 'TVSeason', 'seasonNumber': 3, 'name': 'Season 3' } |
| partOfSeries | TVSeries | Required | Top-level TVSeries entity linking overall show identity and URL. e.g. { '@type': 'TVSeries', 'name': 'Neural Grid: Neo-Tokyo 2099' } |
| director | Person | Recommended | Director credited specifically for this episode. e.g. { '@type': 'Person', 'name': 'Kenji Sato' } |
| duration | string (ISO 8601 Duration) | Required | Exact runtime of the episode in ISO format (e.g. PT52M). e.g. PT52M |
| datePublished | string (ISO 8601) | Required | Original air date of the episode. e.g. 2026-10-01 |
| actor | Person[] | Recommended | Featured guest stars or regular cast members appearing in the episode. e.g. [ { '@type': 'Person', 'name': 'Ren Tanaka' } ] |
Google Search Console Pitfalls & Critical Warnings
Avoid these 3 common validation traps, parser errors, and algorithmic policy penalties when deploying TVEpisode schema.
Unlinked partOfSeries or partOfSeason Hierarchy
Publishing TVEpisode without nesting both partOfSeason and partOfSeries entities.
Always nest both partOfSeason and partOfSeries inside every TVEpisode node.
Missing episodeNumber Integer
Omitting the numeric episodeNumber property or providing text strings like 'Ep 4'.
Format episodeNumber as a strict numeric integer.
Omitted ISO 8601 Air Date
Failing to provide datePublished for released episodes.
Include valid ISO 8601 datePublished strings for all episodes.
Recommended Implementation Scenarios
Related Schema Blueprints
Explore complementary structured data blueprints across the Media & Entertainment cluster.
TV Series & Broadcast Network Schema Markup (JSON-LD)
Feature Film & Cinema Release Schema Markup (JSON-LD)
Video Clip & Key Moment Segment Schema Markup (JSON-LD)
Video Tutorial & Streaming Media Schema Markup (JSON-LD)
Displayed below main page header or above the tool container. • Zero CLS Container