Import Episodes from an RSS Feed
The RSS episode importer copies selected items from an existing podcast RSS feed into a Selfhost podcast.
This is different from migration. The importer reads a remote RSS URL. Migration reads local data from supported WordPress podcast plugins.
Import from a podcast
- Open the destination podcast.
- Select Manage Episodes.
- Click Import Episodes.
- Paste the source RSS feed URL.
- Click Show Episodes List.
- Select episodes.
- Click Import Episodes.
- Review imported episodes in the list table.
Import from All Episodes
- Open Selfhost Podcasting > All Episodes.
- Choose the destination podcast.
- Click Import Episodes.
- Continue in that podcast's import flow.
What is imported
The importer attempts to map:
- Episode title.
- Episode description.
- Publication date.
- Enclosure URL.
- Enclosure length and MIME type.
- Duration when available.
- Episode image when available.
- Author when available.
- GUID or generated GUID.
The importer keeps remote media URLs by default. It does not download every source media file into the Media Library.
Feed caching
Fetched RSS data is cached temporarily for one hour. After a successful import, the cached source feed data is deleted.
After import
Review imported episodes for:
- Missing media metadata.
- Missing duration.
- Incorrect publish dates.
- Feed-ready status.
- Episode artwork.
- Description formatting.
If you later enable S3 storage, edit or upload episode media through the bucket workflow.
Large imports
For large shows:
- Import in batches.
- Start with 20 to 50 episodes per batch on constrained hosting.
- Run imports during low-traffic periods.
- Confirm the server can make outbound HTTP requests.
- Check Error Log for duration or upload failures.
Common import problems
The source feed cannot be fetched
The URL must be public RSS XML and not blocked by authentication, firewall rules, bot protection, or invalid TLS.
No episodes appear
The source feed may have no readable <item> entries or no usable enclosures.
Imported media is inaccessible
Use media URLs you control or have permission to keep using. Replace inaccessible URLs with Media Library or S3-hosted files.
