FREE TOOL · NO SIGNUP · INSTANT

Generate PodcastEpisode JSON-LD in Seconds

Turn your episode, series, audio file, and duration into valid schema.org PodcastEpisode structured data — copy the script tag or download the .json in one click.

Episode details

Example: 47 min 12 sec · PT47M12S

Example schema — enter your episode name above to generate your own.
PodcastEpisode JSON-LDschema.org47 min 12 sec

Validation

  • Valid PodcastEpisode schema — all recommended fields are present.

Tip: after pasting the snippet on your episode page, validate it with Google's Rich Results Test.

JSON-LD output

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastEpisode",
  "name": "How to Scale SEO Content Without Losing Quality",
  "description": "We break down a repeatable framework for scaling SEO content — topic clusters, briefs, AI-assisted drafting, and editorial QA — so you can publish more without diluting quality or E-E-A-T.",
  "url": "https://www.semlypro.com/podcast/scale-seo-content",
  "episodeNumber": 42,
  "datePublished": "2026-05-20",
  "duration": "PT47M12S",
  "image": [
    "https://www.semlypro.com/podcast/ep-42-cover.jpg"
  ],
  "partOfSeries": {
    "@type": "PodcastSeries",
    "name": "The SemlyPro SEO Show",
    "url": "https://www.semlypro.com/podcast"
  },
  "associatedMedia": {
    "@type": "AudioObject",
    "contentUrl": "https://media.semlypro.com/podcast/ep-42-scale-seo-content.mp3",
    "encodingFormat": "audio/mpeg",
    "duration": "PT47M12S"
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.semlypro.com/podcast/scale-seo-content"
  }
}
</script>
The Complete Guide

Podcast Schema: How to Make Your Episodes Searchable

6 MIN READ

Understand with AI

Discuss with your preferred AI assistant

~80%
Episodes with no schema

Most podcast web pages ship the audio with no structured data, leaving engines to guess what the page is.

< 2 min
Time to add it

Fill in the fields, copy the script, paste it on the page — no developer and no signup required.

1
Required fields

Episode name is the only mandatory property; every other field strengthens the markup.

Podcasts are booming, but most episode pages are invisible to search engines. They publish the audio to Apple Podcasts and Spotify, then drop a bare embed on a web page with no structured data — leaving Google to guess what the page is about. Podcast schema fixes that. It tells search engines, in a machine-readable format, that the page is a specific episode, which show it belongs to, how long it runs, and where the audio lives.

This guide explains what PodcastEpisode schema is, the fields that matter, and how to add it to your site in minutes using the generator above — no code or developer required.

What Is Podcast Schema?

Podcast schema is structured data — usually written as JSON-LD — that describes a podcast episode using the schema.org PodcastEpisode type. You paste a small <script> block into your episode page, and search engines read it to understand the content far more precisely than they could from the page text alone.

The two types you will use most are PodcastEpisode (a single episode) and PodcastSeries (the show itself). An episode references its show through the partOfSeries property, and the playable audio is described with an associatedMedia AudioObject that holds the direct file URL.

Why Podcast Schema Matters for SEO

Search is shifting from ten blue links to rich, entity-aware results — and audio is part of that shift. Marking up episodes does three things:

  • It makes episodes eligible for richer results. Clear structured data helps Google associate the page with your show, surface episode details, and understand the audio as a distinct entity rather than generic page text.
  • It feeds the knowledge graph. Linking each episode to a PodcastSeries builds a connected map of your show, which strengthens topical authority across every episode page.
  • It future-proofs you for AI search. Assistants and AI Overviews lean on structured data to extract facts. A machine-readable duration, publish date, and series make your episodes far easier to cite.

The Fields That Matter

You do not need every property — you need the right ones. Here is what a strong PodcastEpisode markup includes and what each field maps to.

Fieldschema.org propertyWhy it matters
Episode namenameRequired. The episode title, exactly as it appears on the page.
Series namepartOfSeries.nameTies the episode to its show as a PodcastSeries.
DescriptiondescriptionA short summary search engines and directories can show.
Episode URLurl + mainEntityOfPageBinds the markup to the canonical episode page.
Audio fileassociatedMedia.contentUrlThe direct, playable .mp3/.m4a file — an AudioObject.
DurationdurationEpisode length as an ISO-8601 value (e.g. PT47M12S).
Publish datedatePublishedFreshness signal; orders episodes within a series.
Episode numberepisodeNumberPosition within the season or show.

How to Generate and Add Podcast Schema

1. Fill in the episode details

Enter the episode name, the show name, and a one-to-two sentence description. The episode name is the only strictly required field, but every recommended field you add makes the markup more useful.

2. Add the audio file and duration

Paste the direct audio URL — the actual .mp3 or .m4a file, not the Apple or Spotify listing page. The generator infers the correct encodingFormat from the extension. For duration, type it however you have it: 47:12, 1:05:30, or 45 min. The tool converts it to the ISO-8601 format schema.org expects (PT47M12S).

Add the show's home-page or RSS URL, the publish date, and the episode number. These build the connection between the episode and the wider show, which is what powers the entity graph for your podcast.

4. Copy the snippet and paste it on the page

Use Copy <script> to grab a paste-ready block, and drop it into the <head> or anywhere in the <body> of the episode page. Prefer a file? Download the .json instead. Either way, there is no email gate and no signup.

5. Validate before you ship

Run the page through Google's Rich Results Test and the Schema.org validator. Both will confirm the markup parses and flag anything missing, so you ship clean structured data the first time.

Podcast Schema Best Practices

  • Use the direct audio URL, not a player or directory page — contentUrl must point at the media file itself.
  • Match the markup to the visible page. The episode name, description, and date in the schema should mirror what a visitor sees.
  • Give every episode its own page with its own canonical URL, then mark up that page. Do not reuse one URL for the whole feed.
  • Keep durations honest. A correct ISO-8601 duration is a small detail that signals quality, well-maintained data.
  • Re-validate after migrations. Changing hosts or feed URLs can break contentUrl links — re-check after any move.

Common Mistakes to Avoid

  • Pointing contentUrl at the Spotify or Apple listing instead of the raw audio file.
  • Omitting partOfSeries, so episodes float free with no link to the show.
  • Writing the duration as plain text ("47 minutes") instead of the ISO-8601 format engines expect.
  • Marking up the same JSON-LD on every episode page without updating the name, URL, and date.

Expert Tips

Link every episode to its series

Always set partOfSeries with the show name and URL. It connects each episode into one entity graph, which compounds topical authority across your whole catalog.

Use the raw audio file, not a player

contentUrl must point at the actual .mp3 or .m4a file so engines can identify the AudioObject. A Spotify or Apple listing URL is a page, not media, and breaks the markup.

Frequently Asked Questions

What is PodcastEpisode schema?

PodcastEpisode schema is structured data, written in JSON-LD, that describes a single podcast episode using the schema.org PodcastEpisode type. It tells search engines the episode name, which show it belongs to, its duration, publish date, and where the audio file lives, so the page can be understood and surfaced more precisely.

Do I need to know how to code to add podcast schema?

No. Fill in the fields in the generator above, click Copy &lt;script&gt; or Download .json, and paste the snippet into your episode page. The tool handles the schema.org formatting — including converting your duration into the ISO-8601 format engines require — so no coding is needed.

What format should the duration be in?

Schema.org expects an ISO-8601 duration like PT47M12S (47 minutes, 12 seconds). You do not need to write that yourself — type the duration as mm:ss, hh:mm:ss, or "45 min", and the generator converts it automatically and shows you the result.

Where do I put the JSON-LD on my page?

Paste the &lt;script type="application/ld+json"&gt; block into the &lt;head&gt; of the episode page, or anywhere in the &lt;body&gt; — both are valid. Add it to the individual episode's canonical URL, not the show's home page, and validate it with Google's Rich Results Test afterward.

Related guides

Related tools