Back to the episode map

Evergreen

How to Build a Durable Podcast Content Repository

Create one canonical episode record that connects raw media, transcript, sources, people, companies, public pages, platform identities, and review state.

Aug 4, 20264 min readBy Dalton Anderson

How to Build a Podcast Content Repository

A podcast repository should treat each episode as one canonical content object connected to its raw media, transcript, sources, people, companies, topics, public derivatives, platform identities, rights, and review state.

A folder of exports preserves files. A repository preserves relationships and authority.

Give the episode a stable identity

Create one internal episode identifier that does not depend on the title. Titles, slugs, descriptions, artwork, and enclosures can change.

For an RSS podcast, preserve the feed GUID and enclosure identity. Apple’s podcast requirements state that every episode needs a unique GUID and that it should not change when metadata changes.

Record the show ID, episode ID, episode number, original publication date, title history, canonical URL, RSS GUID, enclosure URL, Spotify identity, Apple identity where available, YouTube identity, and hosting identity.

flowchart TD
    A["Canonical episode record"] --> B["Raw media and transcript"]
    A --> C["Sources and claims"]
    A --> D["Guests, companies, and topics"]
    A --> E["Articles, explainers, and profiles"]
    A --> F["RSS, platform, and website identities"]
    A --> G["Rights, review, and refresh state"]

The internal ID is the join key. The GUID remains the feed identity.

Preserve raw evidence

Store the original audio or video, immutable raw transcript, source import, checksum, capture date, and provenance.

Corrections belong in a separate normalized transcript, source note, or public draft. Do not silently repair the raw record.

If multiple transcript copies exist, designate one canonical raw source and explain the others. Record whether speaker labels, timestamps, or words were generated automatically and which corrections were human reviewed.

Access controls should protect unpublished recordings, private correspondence, personal data, contracts, and licensed material.

Build a claim and source layer

Every public derivative should be traceable to the episode, transcript passage, research record, and external source.

The source ledger should separate primary, official, research, company, guest, media, and secondary sources. Record access date, author or publisher, claim supported, currentness, limitations, and rights.

A source link is not proof that the claim is accurate. The repository needs the relationship between the claim and the exact evidence.

For volatile facts such as role, price, law, platform definition, or product status, add a refresh trigger and last-verified date.

Model people, companies, and topics

A guest record should hold verified name, source-era role, current role only when checked, approved biography, canonical URL, same-as links, contact boundary, quotation approval, and image rights.

A company record should distinguish legal entity, brand, products, roles, claims, current status, official links, and review date. Do not infer insurer, employer, license, customer, carrier, or partner relationships from a transcript mention.

Topics should be stable concepts rather than every phrase. Link the episode to a topic page only when the relationship is meaningful.

Connect every public derivative

The repository should show which article owns the dated episode narrative and which evergreen pages own durable reader questions.

For each derivative, record its page plan, title, type, search intent, slug, canonical URL, source records, status, review gate, AI disclosure, structured-data type, image rights, related episodes, and refresh date.

This prevents two pages from competing for the same query and lets a future publishing agent see which route is authorized.

Apple’s metadata guidance emphasizes accurate show and episode information and identifies the hosting source as the update point for RSS-hosted metadata. The website repository should not fight the feed’s canonical metadata.

Emit structured data from verified fields

Schema.org’s PodcastEpisode type can connect an episode to its series, episode number, dates, associated media, people, and web page.

Emit only verified fields that appear visibly on the page. Do not create a Person or Organization identity from an unconfirmed transcript name. Do not use a future date, current role, or same-as link because the schema accepts the property.

Validate the rendered JSON-LD on the actual route. A correct note does not prove a correct website implementation.

Add analytics without turning them into identity

Keep platform exports, metric definitions, and cohort tables linked to the episode record but separate from canonical metadata.

An analytics value needs platform, metric definition, window, export date, denominator, and privacy boundary. A later definition change should create a new metric version.

Do not place small geographic, demographic, or behavioral slices in the public episode record.

Design the minimum useful folder

An episode package needs the raw transcript, source ledger, content plan, idea inventory, Page Plans, research records, public drafts, validation, and publication handoff.

The logical relationships matter more than deep nesting. A shallow episode folder with consistent subfolders and strong links is easier for a person or agent to inspect.

The repository is complete when an editor can answer where the claim came from, which page owns it, what is current, what is private, what needs review, and whether publication is authorized.

About this guide

This guide was developed from Venture Step E050 and current Apple and Schema.org documentation with AI assistance. It does not authorize publication, media reuse, personal disclosure, platform changes, feed changes, or structured-data deployment.

Sources

Follow the evidence.

  1. youtu.be: DPH NFya6kcyoutu.be
  2. podcasters.apple.com: 841 data requirementspodcasters.apple.com
  3. podcasters.apple.com: 832 podcast metadatapodcasters.apple.com
  4. schema.org: PodcastEpisodeschema.org
  5. daltonanderson.net: venture steps 50th episode analytics aiming highdaltonanderson.net
  6. support.google.com: 9314415support.google.com
  7. support.google.com: 12220281support.google.com
  8. podcasters.apple.com: 823 podcast requirementspodcasters.apple.com
  9. open.spotify.com: 2eHXTjSlj6F0tdt0aI3Mymopen.spotify.com
  10. iabtechlab.com: podcast measurement guidelinesiabtechlab.com
  11. podcasters.apple.com: 5392 listener analyticspodcasters.apple.com
  12. support.spotify.com: analytics glossarysupport.spotify.com
  13. podcastrepublic.net: 1494964342podcastrepublic.net
  14. daltonanderson.ghost.io: venture steps 50th episode analytics aiming highdaltonanderson.ghost.io
How to Build a Durable Podcast Content Repository