Feed URLs, Preview, and Feed Settings
Each podcast has an RSS feed URL and a browser preview URL. Podcast apps read XML. Humans can inspect the preview.
Public feed URL formats
With pretty permalinks:
https://example.com/feed/podcast-slug
Without pretty permalinks:
https://example.com/?feed=podcast-slug
Migrated podcasts with feed takeover may use the source plugin's old feed URL as the primary public URL.
Private feed URL formats
With Pro private podcasting, the protected route is:
https://example.com/shp-private-podcast/podcast-slug/
Individual private RSS listeners receive tokenized URLs:
https://example.com/shp-private-podcast/podcast-slug/token
Website-only private access uses the preview page for logged-in authorized users instead of distributing podcast-app RSS URLs.
Preview URL
The preview URL is the feed URL plus:
?shp_preview=1
The preview page is marked noindex,nofollow. Private previews also send restrictive cache/referrer behavior.
Preview settings
Open Feed Settings to control:
- Maximum number of episodes in the feed.
- Show website link in preview.
- Show feed link in preview.
- Show notes modal in preview.
- Episode summary style: excerpt or full content.
- Apple Podcasts URL.
- Spotify URL.
Preview settings do not change the core podcast-app RSS requirements, except the episode limit, which controls how many published episodes appear in the feed.
Feed generation behavior
The feed includes only published episodes attached to the podcast. Episodes are sorted by publish date newest first. If Maximum number of episodes in the feed is greater than 0, only that many newest published episodes are included.
The XML feed includes iTunes, Podcasting 2.0, Atom, Content, DC, and Selfhost namespace data.
Bucket URL behavior
When S3 storage is enabled, the feed uses a bucket URL only after the object has a usable URL, or when the local file is no longer available. If delivery verification fails and the local file still exists, the feed keeps using the local media URL.
Common feed issues
- A 404 feed usually means WordPress rewrite rules need refreshing.
- A blank or invalid feed often indicates PHP warnings or a server error before XML output.
- Missing episodes are usually draft, scheduled, trashed, detached, or not published yet.
- Missing duration can be repaired by a background duration job when the server can inspect the media.
