Importing Episodes from Your Host
If you have an existing podcast on another hosting provider, Benecaster can import your episodes as drafts so you don’t have to re-enter them manually. You review each draft, set tier availability, and publish — the audio files stay hosted where they are.
This feature has two parts:
- Initial bulk import — run once during setup to bring in all your existing episodes at once
- Ongoing feed sync — optionally keep Benecaster in sync with your hosting provider as you continue publishing there
What to Expect
Import is a substantial head start, not a finished catalogue. It brings across everything the source feed actually carries — and a feed carries less than your episode pages do.
Where the source feed includes <content:encoded>, that is most of the work: title, written content, audio, artwork and all the numbering arrive together, and the draft needs little more than a read-through. Where it does not, you get accurate metadata and an empty episode body.
Two things are never in a feed and are always yours to set:
- Tier availability — which tiers get the episode, and when. This is the decision Benecaster exists to serve, and there is nothing in RSS to infer it from — set it on each imported draft before publishing.
- References, guest credits and custom fields — Benecaster structure with no RSS equivalent.
A 200-episode back catalogue imports in minutes and then wants a review pass. Budget for the pass: it is far less work than re-entering the catalogue, and it is not nothing.
Initial Bulk Import
During the Setup Wizard
The import step appears in the setup wizard for all new installations. If you don’t have an existing podcast to bring across, select No or use the Skip link to move on.
To import, select Yes, enter any public RSS feed URL, and click Import episodes →. A progress bar runs while the import processes; a done or error state appears when it finishes.
If you press Continue before the import finishes, it keeps running in the background. You can check the result at Benecaster → Episodes once setup is complete.
Switching from Seriously Simple Podcasting or PowerPress? Benecaster detects existing SSP and PowerPress episode data automatically and presents a dedicated import step before the RSS import step. You won’t need to enter a feed URL — episode posts are read directly from your WordPress database. See Switching from SSP or PowerPress for the full migration walkthrough, including shortcode replacement and redirect setup.
Re-running the Import
Benecaster → Settings → Tools → Import Episodes is a separate tool — it detects and imports from a locally installed Seriously Simple Podcasting or PowerPress installation, reading episode posts directly from your WordPress database. It takes no feed URL and has no Default tier field, because it isn’t reading a feed. It offers the same optional Strip this prefix from episode titles field as the setup wizard’s SSP/PowerPress step (placeholder "e.g. My Show: ") — case-insensitive, ignores surrounding spacing, and only affects episodes brought in by the import you’re about to run. See Switching from SSP or PowerPress for the full walkthrough.
To re-run the RSS-based bulk import after setup — for example if you added episodes to your old host after the initial import, or skipped the import step in the wizard — use Feed Sync: go to Benecaster → Settings → Show → Feed Sync, and click Sync Now. If you ran the import through the setup wizard, the Source feed URL field is already filled in — a completed wizard import saves its feed URL there automatically, as long as the show didn’t already have one set. This imports every episode in the feed whose GUID isn’t already in Benecaster; existing episodes are never duplicated. See Ongoing Feed Sync below.
Source Feed URL
Benecaster can import from any publicly accessible RSS feed. In most cases this is your original feed URL from your hosting provider — not the feed URL you submitted to Apple Podcasts or Spotify. If you’ve already moved your submitted feed to Benecaster’s URL, pointing the import at that URL would cause Benecaster to try to import its own output. Your hosting provider’s admin panel will have the original unlisted or backup feed URL.
What Gets Imported
Each episode in the feed is created as a WordPress draft. The following fields are populated automatically:
| Field | Source in RSS |
|---|---|
| Title | <title> |
| Description | <description> or <itunes:summary> |
| Episode content (show notes) | <content:encoded> |
| Audio URL | <enclosure url> |
| File size | <enclosure length> |
| MIME type | <enclosure type> |
| Duration | <itunes:duration> |
| Publish date | <pubDate> |
| Episode number | <itunes:episode> |
| Season | <itunes:season> |
| Episode type | <itunes:episodeType> |
| Explicit flag | <itunes:explicit> |
| Author | <itunes:author> |
| Artwork | <itunes:image href> |
| Source page link | <link> |
Source page link is the episode’s page on your old host. It’s captured by both the setup-wizard import and Feed Sync, but only when it’s a full http:// or https:// address — anything else is left blank. It isn’t shown on any admin screen yet; it’s stored for reference and included in the site data export next to the source GUID.
Not imported — requires manual entry after import:
- Tier availability dates
- References, guest credits, and custom fields
Show notes depend on the source feed, and Benecaster never fetches your old episode page to fill them in. If the feed carries <content:encoded>, the full written episode content imports into the episode body. Buzzsprout, Libsyn, Podbean, Captivate, Transistor, Megaphone, Omny and RedCircle all include it. If the feed doesn’t carry it — Anchor/Spotify for Podcasters, Acast, RSS.com, hosted Blubrry, Spreaker and SoundCloud don’t, and Simplecast mostly does — the episode body is left empty; the written content has to be added in the editor. On those hosts, <description> is the full show notes, not just a podcatcher blurb — it’s still imported as the RSS description, goes out in your Benecaster feed, and shows on the episode page. Only the editor body is empty.
Open one imported draft before planning your review pass. Whether that body is full or empty tells you which of the two situations you are in for the whole catalogue.
Deduplication
Episodes are deduplicated by RSS GUID. If you run the import more than once — or import from a feed you’ve imported before — existing episodes are not duplicated. Only episodes whose GUID hasn’t been seen before are created as new drafts.
After Import
A blue banner appears at the top of Benecaster → Episodes whenever imported drafts are waiting for your review. The banner shows the count of unreviewed drafts and includes two links: Show imported, which filters the episode list to imported drafts only, and Review import, which expands a review table inline, right below the banner. Once the table is open, that same link reads Hide review — click it again to collapse the table back.
This episode-list table is the durable place to review imports. The same table also renders inside the setup wizard’s import steps and at Benecaster → Settings → Tools → Import Episodes, but those two copies only render while the show’s most recent import job is still on record — those records are pruned once superseded, so for a show you imported weeks ago, those two surfaces show nothing. The episode-list copy reads the episodes themselves and is always accurate, whatever imported them.
The table lists every draft any importer created for the show — title (linked to the episode editor), audio URL, artwork, a description excerpt, and a Source column naming which importer produced the row. A missing value in any column shows as an em dash rather than a blank cell. The audio URL is shown as plain text, not a link — it points at your old host, and clicking a link there would download the media file rather than open a page.
Each row also carries a Flags column: a green tick when nothing is missing, or an issue-count badge that expands to one line per gap with a Fix → link (this opens the episode editor, not the specific field — there’s nothing to deep-link to, so the flag’s own text names which tab to look under). A summary line above the table reads, for example, “47 episodes imported. 12 have something worth checking before you publish.” Seven checks run: no audio URL, platform-hosted audio, no artwork, no description, no duration, no episode type, and explicit not specified.
Platform-hosted audio is the one flag that means something will break. An enclosure still hosted on a platform you’re leaving — Patreon, Anchor, Supercast, Substack and similar — stops serving once that account ends; this is the only flag pointing at an outright failure waiting to happen. The other six are gaps, not faults — a flagged episode imported fine, it’s just missing something worth a look. Explicit not specified means the old feed said nothing at all for that item, so the episode follows the show’s own Explicit setting, which is normally correct; an episode where you deliberately chose Inherit is never flagged as if it were an error.
Setting Tier Access and Availability in Bulk
Tick the rows you want to change — use Select all with issues or the header checkbox to select everything, and Clear selection to start over — then use the toolbar above the table:
- Set tier access — All Tiers, or a tier of the show
- Set availability — Immediately, or On a date with a date-and-time picker
- Apply to selected
⚠ Times you enter are your site’s local time, not UTC — a wrong hour here is invisible until the episode unlocks, so double-check the picker if your host or server is in a different time zone than you are. Apply stays disabled until at least one row is ticked, and also while On a date is chosen with an empty picker, so an incomplete selection can never fall through to unlocking the whole batch immediately by accident. Selection applies only to ticked rows, never the whole table, and the toolbar is available on all three surfaces the table renders in.
For each draft:
- Review the imported metadata and correct anything that didn’t map cleanly
- Add full show notes in the Content field if needed
- Set tier availability — individually in the episode editor, or in bulk from the review table above
- Publish when ready
See Setting Tier Availability for how to configure per-episode access.
Ongoing Feed Sync
If you continue publishing episodes at your hosting provider while transitioning to Benecaster, the feed sync feature can watch your hosting feed and automatically create drafts for any new episodes it finds.
Configuring Feed Sync
Configure the sync at Benecaster → Settings → Show → Feed Sync:
Source feed URL — the RSS feed URL for your hosting provider. Same URL as the initial import — if you ran that import through the setup wizard, this field is pre-filled with the feed URL you entered there once the import completes (only when the show didn’t already have a Source feed URL set). Required for sync to run.
Trigger — controls when Benecaster checks the source feed. This stays on Manual until you change it, even after a wizard import pre-fills the Source feed URL above — Benecaster never turns on background syncing for you.
| Mode | How it works |
|---|---|
| Manual | A Sync Now button in the Feed Sync settings panel. You initiate it explicitly — no background activity. |
| On login | Checks once per admin session when you log in. Shows an admin notice if new drafts were created. Silent if nothing new. |
| Daily | Runs automatically once per day via a background job. |
On new episode found — what Benecaster does when sync finds an episode whose GUID isn’t in WordPress yet:
| Action | Result |
|---|---|
| Create draft episodes | Creates a draft. Appears in the episode list with the imported-drafts banner for your review before publishing. |
| Notify me only (no drafts) | No draft is created. The new episode still counts toward “episodes found” in Last sync status below, so you can see something new showed up in the source feed without Benecaster acting on it. |
Sync Now — triggers an immediate sync run regardless of the configured trigger mode. Available next to the source URL field. Useful for pulling in a specific episode right after publishing it at your host, or for testing a new configuration.
Last sync status — shown below the Sync Now button. Displays the date and time of the most recent run, how many episodes were found in the source feed, and how many new drafts were created. If the last run encountered an error, the error message is shown along with a hint for what to check (unreachable URL, invalid RSS, etc.).
What Happens After a Sync
When sync finds new episodes and creates drafts, the same blue banner appears at the top of Benecaster → Episodes as after an initial bulk import — the count of pending drafts and a Show imported link to filter to them.
Sync only creates new episodes. It never modifies episodes you’ve already imported or published, and it never deletes anything.
The Explicit Flag on Imported Episodes
RSS items may or may not carry an <itunes:explicit> tag. Benecaster follows the feed exactly and does not fill in the gaps:
| In the source item | Imported episode | |
|---|---|---|
<itunes:explicit>true</itunes:explicit> |
Yes | A statement in the feed, carried across |
<itunes:explicit>false</itunes:explicit> |
No | Also a statement, and also carried across |
| Tag absent | Inherit from show | No statement to carry |
The third row is the one that matters. When the tag is missing, the episode is left inheriting rather than being defaulted to clean — because “the feed didn’t say” and “the feed said clean” are different facts, and collapsing them loses information you cannot get back.
If Benecaster guessed “clean” for silent items, importing a back catalogue into a show marked explicit would write a clean override onto every one of those episodes, quietly contradicting the show. Leaving them on Inherit means they follow the show, which is what a feed with no per-item tag was already doing in every podcast app.
Practical upshot: set the show-level Explicit value in Shows → Settings → Feeds before or shortly after importing. It is what every inherited episode reports. Then use the sortable Explicit column on the Episodes list to spot-check the result and fix individual episodes with Quick Edit.
Stopping Sync
Once you’ve fully moved your publishing workflow to Benecaster, set the trigger to Manual or remove the source feed URL from the Feed Sync panel. Sync won’t run again until you re-enter a source URL.
Migrating Paying Subscribers
Episode import and feed sync bring your content across — they do not move your paying subscribers. If you’re migrating subscribers from Patreon or Supercast, use the Migration Wizard add-on.
See Also
Need this built rather than just documented? See our services →
Last updated