Structured Data¶
Stage: Publish → AI Search Optimization
Score: 5
Evidence: Google documentation, platform observation
What It Is¶
Structured data is machine-readable markup (JSON-LD) embedded in your episode web pages that tells search engines and AI systems exactly what your content is, who created it, what it covers, and how to cite it.
Why It Works¶
AI systems do not "read" your page like a human. They parse structured signals. Schema.org markup is the universal language that Google, Bing, Perplexity, and other AI systems use to understand content at scale. Without it, your episode is just another blob of text. With it, your episode has typed, structured identity.
Required Schema Types¶
PodcastEpisode¶
The primary schema for every episode page.
{
"@context": "https://schema.org",
"@type": "PodcastEpisode",
"name": "Episode Title",
"description": "Episode description",
"url": "https://yoursite.com/episodes/episode-slug",
"datePublished": "2026-05-28",
"duration": "PT45M",
"episodeNumber": 42,
"partOfSeries": {
"@type": "PodcastSeries",
"name": "Your Show Name",
"url": "https://yoursite.com"
},
"associatedMedia": {
"@type": "AudioObject",
"contentUrl": "https://yourcdn.com/episode-42.mp3",
"encodingFormat": "audio/mpeg"
},
"author": {
"@type": "Person",
"name": "Host Name"
},
"guest": {
"@type": "Person",
"name": "Guest Name",
"jobTitle": "Guest Title",
"worksFor": {
"@type": "Organization",
"name": "Guest Company"
}
}
}
FAQPage¶
Add FAQ schema when your show notes include questions and answers extracted from the episode.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is the best way to repurpose podcast episodes?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The most effective approach is to create horizontal and vertical assets during production, not after. This includes..."
}
}
]
}
VideoObject¶
Add when the episode has a video version.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Episode Title",
"description": "Episode description",
"thumbnailUrl": "https://yoursite.com/thumbnails/ep42.jpg",
"uploadDate": "2026-05-28",
"duration": "PT45M",
"contentUrl": "https://youtube.com/watch?v=xxxxx",
"embedUrl": "https://youtube.com/embed/xxxxx"
}
Quality Bar¶
- Every episode page must have
PodcastEpisodeschema at minimum - Add
FAQPagewhen show notes contain Q&A content - Add
VideoObjectwhen a video version exists - Validate with Google Rich Results Test
- Keep
datePublishedaccurate — AI systems use recency as a quality signal - Include
guestdata with full name, title, and company
When Not To Use¶
Always use structured data. There is no scenario where omitting it is beneficial. The only risk is incorrect markup, which is worse than no markup — validate before publishing.
Prompt Template¶
Copy and customize this prompt to generate structured data for an episode:
Generate JSON-LD structured data for a podcast episode page.
Episode details:
- Title: [episode title]
- Description: [episode description]
- Show name: [series name]
- Episode number: [number]
- Date published: [YYYY-MM-DD]
- Duration: [minutes]
- Host: [name]
- Guest: [name, title, company]
- Audio URL: [MP3 URL]
- Video URL: [YouTube URL, if applicable]
- Episode page URL: [canonical URL]
- Key Q&A from the episode (for FAQ schema):
- Q: [question from the episode]
- A: [answer discussed]
Generate:
1. PodcastEpisode schema
2. FAQPage schema (if Q&A provided)
3. VideoObject schema (if video URL provided)
Output as valid JSON-LD ready to paste into <script type="application/ld+json"> tags.