SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact

    Podcast Episode Schema Generator — Link Audio, Series, and Metadata

    Generate valid PodcastEpisode JSON‑LD for episode pages. Clarify title, publish date, duration, language, audio file details, and series linkage.

    Why many episode pages underperform

    Pain points we solve

    • Episodes aren’t connected to the series or season, fragmenting catalogs.
    • Audio file metadata is missing (contentUrl, encodingFormat).
    • Duration isn’t ISO 8601, causing validator warnings.
    • Publish dates and timezones are inconsistent across templates.
    • Images and canonical URLs are missing or vary by page.

    How SwiftSchema helps

    Solution

    The PodcastEpisode generator focuses on essentials: episode title, publish date, ISO 8601 duration, language, and audio details via associatedMedia (contentUrl and encodingFormat).

    It also supports linking to your PodcastSeries (and optional season), episodeNumber, canonical URL, and a cover image, producing clean, copy‑ready JSON‑LD for each episode page.

    How it works

    How it works

    1. Choose PodcastEpisode in the generator below.
    2. Enter episode title, publish date, duration (ISO 8601), and language.
    3. Link the series with partOfSeries (and season with partOfSeason), and add episodeNumber.
    4. Provide associatedMedia with contentUrl and encodingFormat (for example, audio/mpeg).
    5. Copy JSON or Script, paste into the episode page, and validate in the Rich Results Test.
    Generate PodcastEpisode JSON‑LD

    Paste once per episode page. Validate. Ship.

    What is PodcastEpisode structured data?

    PodcastEpisode describes an individual podcast episode: title, publish date, duration, language, audio file, and links to the parent series (and optional season). Use it on each episode page to clarify your catalog structure.

    Eligibility & Status

    PodcastEpisode improves understanding and catalog relationships but does not directly produce a dedicated rich result. Surfaces and experiences vary and may depend on partnerships and policies.

    Why episode markup matters

    • Catalog integrity: Keeps episodes tied to the correct series/season.
    • Audio accessibility:
      associatedMedia
      offers reliable audio sources for playback or previews.
    • Metadata consistency: Durations/publish dates stay aligned with RSS feeds and templates.
    • Promotion: Episode images and canonical URLs ensure consistent sharing.

    Essential properties to include

    • name
      and optional
      alternateName
      .
    • datePublished
      with timezone.
    • duration
      (ISO 8601).
    • inLanguage
      .
    • partOfSeries
      /
      partOfSeason
      .
    • episodeNumber
      .
    • associatedMedia
      (
      contentUrl
      ,
      encodingFormat
      ).
    • image
      ,
      url
      ,
      description
      ,
      keywords
      .

    Preparing episode content before generating schema

    1. Gather title, summary, guests, publish date/time, duration, language.
    2. Ensure audio URLs are crawlable on your CDN/host.
    3. Confirm PodcastSeries schema exists and reference it via
      partOfSeries
      .
    4. Prepare episode artwork (1200px+).
    5. Align show notes/description with copy for consistency.
    6. Decide how to handle bonus/remastered episodes (use
      alternateName
      or separate entries).

    Implementation workflow inside SwiftSchema

    1. Select PodcastEpisode in the generator.
    2. Enter
      name
      ,
      datePublished
      ,
      duration
      ,
      inLanguage
      , and
      url
      .
    3. Add
      partOfSeries
      ,
      partOfSeason
      , and
      episodeNumber
      .
    4. Provide
      associatedMedia
      with
      contentUrl
      and
      encodingFormat
      .
    5. Include
      image
      ,
      description
      , and optional
      keywords
      .
    6. Export JSON-LD, embed it on the episode page, and validate.

    Troubleshooting & QA

    • No audio URL: include
      associatedMedia.contentUrl
      .
    • Missing duration: supply ISO 8601 durations.
    • Unlinked series: ensure
      partOfSeries
      references the correct PodcastSeries schema.
    • Inconsistent publish dates: normalize format and include timezone.
    • Image issues: use high-res, accessible assets.

    Maintenance and governance

    • Sync schema with RSS feeds/CMS metadata to avoid drift.
    • Update
      contentUrl
      if you change hosts/CDNs.
    • Keep
      lastReviewed
      metadata current and assign owners.
    • Audit episodes quarterly to ensure new releases follow the template.

    Common Errors & Fixes

    • No audio URL: use
      associatedMedia.contentUrl
      with a stable, crawlable file URL.
    • Missing duration: provide an ISO 8601 duration (for example,
      PT30M
      ).
    • Unlinked series: add
      partOfSeries
      (and
      partOfSeason
      when applicable).
    • Inconsistent publish dates: include timezone or use a normalized date format consistently.

    Required properties

    • name
    • datePublished
    • duration

    Recommended properties

    • partOfSeries.name
    • partOfSeason.name
    • episodeNumber
    • description
    • inLanguage
    • associatedMedia.contentUrl
    • associatedMedia.encodingFormat
    • image
    • url
    Minimal PodcastEpisode JSON-LD
    Validate
    {
      "@context": "https://schema.org",
      "@type": "PodcastEpisode",
      "name": "Ep. 12 — Key Moments in VideoObject",
      "datePublished": "2025-07-22",
      "duration": "PT42M15S",
      "inLanguage": "en",
      "partOfSeries": {
        "@type": "PodcastSeries",
        "name": "The SwiftSchema Show"
      },
      "associatedMedia": {
        "@type": "MediaObject",
        "contentUrl": "https://cdn.example.com/podcast/ep12.mp3",
        "encodingFormat": "audio/mpeg"
      },
      "url": "https://example.com/podcasts/swiftschema/ep-12"
    }

    FAQs

    How do I link an episode to the series?Show
    Use `partOfSeries` with a `PodcastSeries` reference (at least the series `name`).
    Which audio fields should I include?Show
    Use `associatedMedia` with `contentUrl` (audio file URL) and `encodingFormat` (e.g., `audio/mpeg`).
    What duration format is expected?Show
    Use ISO 8601 durations (e.g., `PT42M15S` for 42 minutes, 15 seconds).

    Generate Podcast Episode schema

    Fill in page details, copy JSON or Script, and validate.

      Schema Type

      🎙️ Podcast Episode Schema Generator

      Mark up individual podcast episodes with audio URL, duration, publish date, and series linkage for richer audio surfaces.

      Generated Schema

      Validate your schema here.