Switching from Seriously Simple Podcasting or PowerPress
If you’ve been managing your podcast with Seriously Simple Podcasting (SSP) or PowerPress and want to add paid subscriber tiers, Benecaster handles the transition with a built-in episode importer. Your existing episode catalog converts automatically — you’re not starting from scratch.
This page covers what the transition involves, what the real pain points are, and how to cut over cleanly.
What Actually Changes
Episodes. SSP and PowerPress manage episodes in their own formats. Benecaster uses its own Episode post type. Benecaster’s setup wizard offers a one-time import that reads your existing episodes and creates them in Benecaster’s system — title, description, audio URL, episode number, season, artwork, and publish date all transfer automatically. After the import you fill in Benecaster-specific fields (mainly tier access and availability settings) in a review table before going live.
Your public podcast feed URL. SSP and PowerPress generate their own feed URLs. Benecaster generates a new one. Existing listeners who have your feed saved in their podcast app are unaffected during the transition — see The feed URL change below.
Where you create episodes going forward. Once you’ve cut over to Benecaster, all new episodes are created in Benecaster. You don’t split episode management between two plugins.
Your membership plugin. Nothing changes. Benecaster connects alongside your existing MemberPress, WooCommerce Subscriptions, Paid Memberships Pro, or Restrict Content Pro installation — it doesn’t replace it.
What Doesn’t Change
- Your audio files. They stay at Buzzsprout, Libsyn, Transistor, S3, or wherever they are. Benecaster points at the same URLs.
- Your existing listeners. Public podcast subscribers continue receiving episodes throughout the transition and after.
- Your membership plugin, subscribers, and billing.
- Your WordPress theme, pages, and content outside of podcast episode management.
The Import Process
Benecaster’s setup wizard detects SSP or PowerPress on activation and offers the import as a setup step. You can also trigger it later from Benecaster → Settings → Tools → Import Episodes — the same optional Strip this prefix from episode titles field (placeholder "e.g. My Show: ") is available on both surfaces. It’s removed from the start of each imported title, whatever its capitalization, so My Show: and My Show: both turn My Show: Episode 42 into Episode 42; a title that is only the prefix is left whole. It applies to both SSP and PowerPress imports, and it only affects the episodes brought in by the import you’re about to run — leave it blank to keep titles as they are, and re-running the import never retitles episodes already imported. Once a show has imported, the field starts with its last prefix, which you can change or clear.
The import reads your existing episode data and creates Benecaster Episode posts. After the import runs, a review table lists every imported episode — title (linked to the episode editor), Media (the audio URL, or the video URL when there is no audio), artwork, and a description excerpt. This is the same table described in Importing Episodes: it lists every draft any importer created for the show, so if you’ve also run the RSS-based import or Feed Sync on this show, those episodes appear in the same table alongside your SSP/PowerPress ones, each with a Source column noting which importer produced it.
Setting tier access and availability. Tick the rows you want to change (or use the header tick box to select all of them), 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), and Apply to selected. Times you enter are your site’s local time, not UTC. 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 everything immediately by accident. For most shows the fastest path is the same as the old one-press behavior: select all, All Tiers, Immediately, Apply. Per-episode tier access and availability can also be set individually afterward, in the episode editor.
Shortcode flags. If your episode descriptions contain SSP or PowerPress shortcodes ([podcast_episode], [powerpress], [ss_podcast], etc.), a separate list below the review table flags those episodes and suggests the equivalent Benecaster shortcode. Most can be replaced in one click with Replace shortcodes; some may need a manual review depending on how the original shortcode was used.
Keep SSP or PowerPress active until the import is done. Benecaster finds your episodes only while the plugin that made them is active: the setup wizard skips its import step, and Settings → Tools → Import Episodes reports no installation, when it isn’t. If you have already deactivated SSP or PowerPress, activate it again, run the import, then deactivate it.
PowerPress channels are not imported. The import brings across the episodes on PowerPress’s main podcast feed. Episodes that are only in a PowerPress channel (an extra feed set up in PowerPress) are left out, because a channel is a separate podcast. To bring one across, add it to Benecaster as its own show with the feed import (see Importing Episodes).
Both plugins on one site. If SSP and PowerPress are both installed, one import brings across the episodes from both — SSP’s first, then PowerPress’s. The progress bar counts them in a single total. A post that PowerPress podcasts on SSP’s own podcast post type is imported once, from SSP.
The import is safe to re-run. It won’t create duplicate episodes — each imported episode is tracked by its source ID, so a re-run skips episodes already brought across from either plugin.
After a finished import, Settings → Tools → Import Episodes offers Strip this prefix from episode titles and Import episodes again, above the results, with the line “Run it again to bring across anything new. Episodes already imported are skipped.” This is how you bring across episodes published after a first import. Import episodes also comes back after a failed import.
While the Import Runs
A note beside the import button, on Tools → Import Episodes and the wizard’s Import your existing episodes step, reads “Large shows can take a while, especially with chapter images. You can leave this page; the import keeps going.”
Importing X of Y… counts every episode dealt with so far, including any skipped or failed. Lines under the progress bar report:
- episodes already imported, which are skipped;
- episodes that could not be imported;
- chapter images that did not come across, whose chapters were imported without them;
- chapter images still to fetch for the episode in progress.
Reloading the wizard’s step rejoins a running import, with Resume if it has stalled. A finished or failed import from an earlier visit is not brought back: the form shows, and Episodes → Review import is the way back to the table.
If an Import Stalls
An import works in short background runs of about 20 seconds, each handing on to the next, so a host that stops one does not end the import. The next run picks up where it stopped, and an episode that was stopped partway keeps what it had.
After five minutes with no activity, the screen says “This import has stalled: nothing has happened for a few minutes. Nothing is lost, and it carries on from where it stopped.” and offers Resume, which runs about 20 seconds of the import in that click. If the click itself fails, it says “That did not work. Try Resume again.”
After one click on Resume, the open page keeps the import moving, and says “This page is keeping the import moving, because WordPress’s scheduled tasks don’t seem to be running on this site. It pauses if you leave this page, and carries on when you come back.” It stops when the import finishes or you leave the page. If scheduled tasks start working, they take over and the page goes back to watching.
For a big import, set up a real cron job. Background runs depend on WordPress’s scheduled tasks, which run only when someone visits your site. On a quiet site the import slows once the page is closed. Each run does only about 20 seconds of work, so run the cron job every minute. See Cron Isn’t Firing on Time.
The Feed URL Change
This is the part that looks complicated but isn’t.
While SSP or PowerPress is still active, your existing public feed keeps working unchanged. Existing listeners in Apple Podcasts, Overcast, Pocket Casts, and every other podcast app continue receiving episodes with no interruption. You have time to set up Benecaster, run the import, and test thoroughly before cutting over.
When you’re ready to cut over, set up a 301 redirect from your old feed URL to Benecaster’s public feed URL. Most podcast apps follow 301 redirects automatically and update their stored URL — existing listeners transition silently without needing to do anything.
Publish your episodes first. Imported episodes start as drafts, and a draft is not in the feed, so listeners redirected too early would find episodes missing.
Benecaster gives you the addresses. A Redirect your old feed card lists every old feed address and your new one. It appears on the last page of the setup wizard, whether you imported or skipped; on the wizard’s import step when an import ends; and on Settings → Tools → Import Episodes. If both plugins are detected and their feeds differ, it lists both, and each needs its own redirect.
Keep your old plugin active until the redirect is in place. Once it is deactivated its feed stops answering, and podcast apps get an error until the redirect is there. After that, the show that ran the import keeps its card on Settings → Tools → Import Episodes, with the addresses it kept, and the sentence changes to say your old plugin is no longer detected and to add the redirect as soon as you can.
SSP has more than one address. /feed/podcast/ answers with a 302 to your podcast’s own feed at /feed/podcast/your-podcast-slug/, and each further podcast in SSP has a feed of its own. A listener can be on any of them, so a rule for /feed/podcast/ alone misses people. The card lists each one. SSP’s feed slug is podcast unless a developer has changed it with the ssp_feed_slug filter; there is no setting for it.
PowerPress’s main feed is at /feed/podcast/.
Your Benecaster public feed URL will be displayed in Benecaster → Settings → Feeds.
How to set up the redirect depends on your host:
- Most managed hosts (WP Engine, Kinsta, Cloudways): add a redirect rule in the hosting control panel
- Apache: add a
Redirect 301rule in.htaccess(see example below) - Nginx: add a
return 301directive in your server block (see example below) - Redirection plugin: if you use a redirect plugin, add the rule there
Apache (.htaccess)
Add the following inside the <IfModule mod_rewrite.c> block, replacing the address with your public feed URL. That URL is https://yoursite.com/podcast-feed/your-show-slug/, or https://yoursite.com/podcast/your-show-slug/feed/ with Use pretty feed URLs on. This rule covers /feed/podcast/ and every address under it, so it suits a site with one podcast:
RewriteEngine On
RewriteRule ^feed/podcast(/.*)?$ https://yoursite.com/podcast-feed/your-show-slug/ [R=301,L]
With several SSP podcasts, each goes to its own show’s feed, so give each address from the card its own rule, above the general one:
RewriteRule ^feed/podcast/second-podcast-slug/?$ https://yoursite.com/podcast-feed/second-show-slug/ [R=301,L]
Nginx
Use your public feed URL here too:
location ~ ^/feed/podcast(/.*)?$ {
return 301 https://yoursite.com/podcast-feed/your-show-slug/;
}
With several SSP podcasts, add a location for each address on the card, above this one, the same way.
Reload Nginx after adding the rule (sudo systemctl reload nginx or equivalent for your host).
Testing the redirect
Do not test in Chrome, and do not test in a browser that has visited the URL before. Chrome and Windows aggressively cache 301 redirect destinations, so Chrome may take you to the Benecaster feed even if your redirect rule is broken — giving you a false positive. Use a private/incognito window in a fresh browser session (Firefox, Safari, or any browser you haven’t used to visit that URL), or use
curl:
curl -I https://yoursite.com/feed/podcast/
The response should show HTTP/1.1 301 Moved Permanently and a Location: header pointing to your Benecaster feed URL. If you see 302 or 200, the redirect rule isn’t in place yet. If you see 301 but the wrong destination, you have a caching issue in your browser — use curl to get the ground truth.
Addresses the Card Can’t List
The card says it does not include a feed service or a PowerPress category or post-type podcast. Listeners on one of these need a redirect of their own, set at that service or on that address.
- A feed service such as FeedBurner. If you sent your feed through one with SSP’s External feed URL, Redirect this feed to new URL, or PowerPress’s PodcastMirror Feed URL, listeners may be subscribed at the other service, so a redirect on this site may not reach them. Change the address at that service. External feed URL only changes the link on your site’s pages and your site’s feed keeps answering, while the other two answer your site’s feed with a 301 to the other service.
- A PowerPress category podcast. Its address is
/category/your-category/feed/, or/category/your-category/feed/podcast/when PowerPress is set to that form. - A PowerPress post-type podcast. Its address is that post type’s archive feed.
Spotify — Public Feed Vs. Private/Subscriber Feeds
Spotify does not follow 301 redirects for private or subscriber-only feeds. This matters if you ever give Spotify a token-protected feed URL (which Benecaster doesn’t recommend — Spotify should always receive your public feed). For the public feed, Spotify does follow 301s for episode delivery but does not automatically update its directory record.
Practically speaking: your Spotify listeners will continue receiving new episodes through the redirect. The podcast’s directory listing in Spotify, however, still shows your old feed URL until you update it manually.
To update it: go to Spotify for Podcasters, navigate to your show, and request a feed URL change. Spotify reviews these requests manually — allow a few days. In the meantime, your Spotify listeners receive new episodes normally via the redirect.
Per-App Notes
| App | Follows 301 automatically | Notes |
|---|---|---|
| Apple Podcasts | Yes | Allow 24–48 hours; show record updates automatically |
| Spotify | Partially — episode delivery yes, directory record no | Update feed URL manually in Spotify for Podcasters |
| Overcast | Yes | |
| Pocket Casts | Yes | |
| Castro | Yes | |
| Podbean | Yes | |
| Amazon Music / Audible | Yes, but may take several days | Check after 3–5 days |
| iHeart Radio | No | Update feed URL in iHeart’s podcast portal |
| Google Podcasts | No longer active |
For apps not listed here: most modern podcast apps follow 301 redirects automatically. If a specific app loses the show or shows stale episodes after the redirect, update the feed URL manually in that app’s podcast directory portal.
Can I Keep SSP Running Alongside Benecaster?
Briefly, as a safety net — not long-term.
The problem is episode creation. Both plugins manage episodes separately. If you create a new episode in Benecaster, it appears in Benecaster’s feeds but not SSP’s. If you create it in SSP, the reverse. Running both means manually creating every episode twice, which isn’t a workable situation.
The practical window for co-existence is the transition period: import your episodes, test Benecaster’s feeds, set up the redirect, confirm everything looks right — then deactivate SSP. That process typically takes a few days to a week depending on how thoroughly you want to test.
If you’re using SSP-specific features that Benecaster doesn’t yet support, you may want to keep SSP active temporarily until Benecaster’s support catches up. Benecaster ships the Benecaster Podcasting 2.0 podcast: namespace — if you have questions about specific tag coverage, check the release notes before cutting over. In that case, be deliberate: pick one system to create new episodes in and don’t split your episode management.
Cutover Checklist
- [ ] Install and activate Benecaster, complete the setup wizard
- [ ] Connect your membership plugin bridge
- [ ] Run the episode import from Settings → Tools → Import Episodes (or during setup wizard)
- [ ] Review the import table — set tier access and availability as needed
- [ ] Replace any flagged shortcodes in episode descriptions
- [ ] Publish your episodes, because a draft is not in the feed
- [ ] Test Benecaster’s public feed in a podcast app
- [ ] Set up the 301 redirect from each old SSP/PowerPress feed address to Benecaster’s public feed, including any the card can’t list
- [ ] Verify existing listeners are receiving episodes via the redirect
- [ ] Update Spotify for Podcasters with the new feed URL
- [ ] Deactivate SSP or PowerPress
- [ ] Create all future episodes in Benecaster
What Transfers, What Doesn’t
| Field | Transfers? | Notes |
|---|---|---|
| Episode title | ✓ | The episode’s Apple Podcasts title when it has one (SSP’s iTunes Episode Title, PowerPress’s Apple Podcasts episode title), otherwise the WordPress post title. Strip this prefix from episode titles applies to whichever title is used |
| Episode description | ✓ | Shortcodes flagged for review |
| Audio file URL | ✓ | Points to same hosted file. A video file goes to the Video URL with Primary media set to Video: one with a video type or a .mp4, .m4v or .mov file name, or an SSP episode whose type is Video |
| File size | ✓ PowerPress, sometimes SSP | SSP’s File size field shows a rounded figure such as 23.37M and is not used. SSP holds the exact byte count only when it is connected to Castos hosting, and that comes across. Otherwise the size is left blank and filled in the first time you save the episode, or when you press Detect on the episode editor’s Media tab |
| Media format | ✓ PowerPress | SSP stores no format. Detect on the episode editor’s Media tab fills it in, and so does the first save of an episode whose file size is blank |
| Duration | ✓ | |
| Episode number | ✓ | From SSP’s iTunes Episode Number |
| Season number | ✓ | From SSP’s iTunes Season Number |
| Episode type (full/trailer/bonus) | ✓ | From SSP’s iTunes Episode Type |
| Publish date | ✓ | The post’s publish date. If SSP’s Source for publish date (under Podcasting → Feed Details) is set to Recorded date, the date comes from Date recorded instead, so your feed keeps the dates and order SSP’s feed showed listeners |
| Recorded on | ✓ SSP | SSP’s Date recorded (the day only) fills the episode editor’s Recorded on field. SSP fills Date recorded with the publish date itself when you leave it empty, so on many imported episodes Recorded on is the day the episode went out. PowerPress has no recorded date |
| Episode artwork | ✓ | From SSP’s Episode Image, or PowerPress’s episode image |
| Explicit flag | ✓ | See below |
| Transcript | ✓ PowerPress | A transcript PowerPress publishes for the episode comes across to the transcript URL on the episode editor’s More tab, under Podcasting 2.0. Its format is taken from the file’s extension (WebVTT, SRT, JSON or HTML, otherwise plain text). Its language comes across to Language in the same section when it is a valid language code, and stays blank otherwise. SSP stores no transcript |
| Chapters | ✓ PowerPress | Chapters typed into PowerPress and chapters given as a link to a chapters file both come across to Chapters on the episode editor’s More tab, each with its start time, title and link. Chapter images come across too: each goes into your media library once, however many chapters share it, and one already in your uploads folder is used in place. An image that has moved, is 5 MB or larger, or is not a JPEG, PNG, GIF, WebP or AVIF leaves its chapter without one. Episodes imported earlier gain none, since a re-import skips them. If the chapters file cannot be read (it has moved, its server does not answer within 5 seconds, or it is not a valid chapters file), the episode is imported without chapters. SSP has no chapters |
| Per-episode Block setting | — | Directory blocking in Benecaster applies to a whole show, never to one episode |
| PowerPress channel episodes | — | A channel is a separate podcast. Use the feed import for it |
| Tier access settings | — | Benecaster-specific — set in review table |
| Per-tier availability dates | — | Benecaster-specific — set in review table |
| SSP/PowerPress download stats | — | Historical stats stay in SSP/PowerPress |
| Blubrry statistics | — | Not transferred |
| SSP shortcodes in content | Flagged for replacement |
The Explicit Flag
Benecaster’s episode setting has three values — Inherit from show, Yes, and No. PowerPress’s per-episode setting also has three (not set, explicit, clean), so each carries straight across. SSP stores the flag as a simple on/off, which needs more care. The import maps as follows:
| Source value | Becomes | Why |
|---|---|---|
| PowerPress: not set | Inherit from show | The episode follows the feed’s setting in PowerPress too |
| PowerPress: explicit | Yes | |
| PowerPress: clean | No | |
| SSP: on | Yes | An unambiguous statement in the source, carried across as one |
| SSP: off or absent | Inherit from show | Not “No” — see below |
An SSP episode with the flag off has not been declared clean. SSP has no way to express “clean even though the show is explicit”, so off only ever meant not marked — it is the absence of a statement, not a statement.
Importing those as No would turn that absence into a positive override, and on a show you had marked explicit it would silently mark the entire imported catalogue clean. Leaving them on Inherit keeps them following the show, which is what SSP was doing.
After importing, set the show-level Explicit value in Shows → Settings → Feeds — that is what every inherited episode will report. Then mark individual exceptions Yes or No as needed; Benecaster can express the clean-episode-on-an-explicit-show case that SSP could not.
See Also
Need this built rather than just documented? See our services →