Podcast media will not play anywhere
In some cases, your media files will not play at all. This will either result in the media player just doing nothing when users click on the play button, or the browser giving you a 404 error when you click on the ‘Download File’ or 'Pay in New Window' links. It will also cause your RSS feed to not validate and your feed to be rejected by iTunes because the audio files are not able to be accessed to play.
There are several of reasons that this could be happening. Try stepping through the following steps one at a time to troubleshoot the issue:
Step One: Caching
If you are using a caching plugin (such as W3 Total Cache or WP Super Cache), then the problem is most likely that your podcast audio URLs are being unnecessarily cached. To work around this you simply need to set your plugin to exclude URLs that include strings like this from the cache:
The way to do this will depend on the plugin, but for W3 Total Cache the option is on the Performance > Page Cache page and for WP Super Cache you will find it on the Settings > WP Super Cache page.
Step Two: Managed WordPress Hosting like WPEngine
Due to the unique ways hosts like WP Engine are setup, they require a certain rule to be added to your site’s configuration in order for Seriously Simple Podcasting to work correctly. In order to do this, you simply need to log a support ticket with them and send them the following message:
I am using the Seriously Simple Podcasting plugin. In order for me to take full advantage of the plugin I need you to add the nginx bypass rule for the
podcast-player URLs to my site's config.
Please add this to NGINX Before Rule
# Seriously Simple Podcasting
rewrite podcast-download/([^/]+)/([^/]*)/? /index.php?podcast_episode=$1 break;
rewrite podcast-player/([^/]+)/([^/]*)/? /index.php?podcast_episode=$1&podcast_ref=player break;
WP Engine is aware of the SSP plugin and the work required to fix this for you, so they will be able to sort it out in no time. Please check with your managed hosting provider and provide the same documentation if you suspect his is the issue.
Step Three: NGINX Servers
If your site is on an nginx server then you will need to add two new rules to your nginx config:
This needs to be put in the
server directive for your site running Seriously Simple Podcasting. It basically tells all requests to the
podcast-playerendpoints to process them as a
.php file (even though the URL states that it is an
.mp3or similar), which bypasses them through to PHP-FPM.
Note that you may need to change
fastcgi_pass 127.0.0.1:9000; to match that of your PHP-FPM configuration.
If you have this issue with your audio files, but you have no idea if your server is built on nginx or not, then please contact your host and send them the link to this guide.
Step Four: Last Resort
If you have tried all of these options and you still have absolutely no luck, then the absolute last resort is to add the following snippet to the
functions.php file of your theme (or child theme):
Note that this is an absolute last resort and is not recommended. You will almost never need to go this route, but it will ultimately enable the audio files to work correctly if nothing else is working for you. The downside of this method is that you cannot take advantage of the added security that the plugin’s built-in URL rewrites offer. It also means that you will also not be able to use the integrated Stats add-on.