PodcastEpisode schema is structured data that identifies a page as a specific episode of a podcast series, exposing the title, description, audio file, duration, and publication date as labeled facts. If you want AI assistants to surface your show when someone asks "what's a good podcast about X?" — or to cite a specific episode as the source of an answer — you need markup that connects each PodcastEpisode to its parent PodcastSeries. Audio is invisible to crawlers; the schema and transcript are what actually get read.

How the podcast schema hierarchy fits together

Schema.org models podcasts in three layers. A PodcastSeries is the show itself, with a name, description, and a webFeed pointing to your RSS feed. A PodcastEpisode is one installment, connected to the series through partOfSeries. Each episode carries an associatedMedia or audio property — an AudioObject with a contentUrl to the actual audio file, plus duration in ISO 8601 format (for example PT42M). Add datePublished and an episodeNumber so assistants can order and reference episodes precisely.

The feed link matters more than people expect. Podcast directories and AI ingestion pipelines still discover and update shows through RSS, so declaring webFeed ties your on-page markup to the same feed the rest of the ecosystem reads. If you're unsure how feeds fit into modern discovery, our guide to RSS and Atom feeds for AI content discovery covers why the channel is quietly essential again.

Transcripts are the real ranking signal

Here is the part most podcasters miss: neither Google nor an AI model listens to your audio to decide what it's about. They read the text on the page. An episode page with only a title and a play button is nearly content-free to a machine. Publish a full transcript in the page body and reference it in your markup, and suddenly every topic, name, and claim in your episode becomes retrievable. This is exactly how AI chunks content for retrieval — it lifts self-contained passages of text, not waveforms.

A good transcript also unlocks precise citation. When an assistant can quote a specific answer your guest gave, it can attribute it to your episode. Break the transcript into readable sections with clear headings and speaker labels so the useful passages stand on their own, the same principle behind passage indexing.

Building an episode page AI will actually cite

Treat every episode as a real content page, not a media embed. The elements that move the needle:

Link related episodes to each other so the show reads as a connected body of work rather than isolated pages. Strong internal linking helps assistants understand your topical depth, which is what builds the kind of authority that gets a show recommended over a one-off competitor.

Common podcast schema mistakes

The frequent errors are avoidable. Marking up the show's homepage as a PodcastEpisode instead of a PodcastSeries confuses the hierarchy — the series page gets series markup, each episode gets episode markup. Pointing contentUrl at a player page instead of the actual audio file breaks the media association. Omitting the transcript leaves the richest part of your content invisible. And declaring a duration that doesn't match the file is the kind of inconsistency that makes systems distrust the rest of your markup, so validate before you publish and keep the JSON-LD aligned with what's on the page.

Don't forget the parent connection: an episode without partOfSeries floats free of its show, so assistants can't attribute it to your brand. Wire every episode back to a single, stable series entity.

Want to know whether AI crawlers can reach your episode pages, read your transcripts, and parse your podcast schema? Run the CheckMy.site scanner to see exactly how your show appears to the assistants deciding which podcasts to recommend and cite.