Diagnosing Feed and/or Player Issues

Diagnose PowerPress player and podcast feed issuesFrom time to time PowerPress may not function as desired on your site. A majority of the time, the issue is caused by either a caching issue with your web host or a conflict with another theme or plugin. Caching issues typically cause older content to be delivered, while conflicts usually result when a theme or plugin modifies the page content after PowerPress added the player and links to the page. Conflicts also arise when plugins modify the feed content, usually either by adding non-supported markup in the XML or by modifying the values themselves.

This page includes steps for diagnosing issues as well as an extensive list of situations to look out for that may cause your issue.

Diagnosing What Plugin/Theme is Causing the Conflict

To diagnose which theme or plugin is causing the conflict, disable plugins one by one while checking the page/feed with the issue. You must clear your web hosting cache as well as your web browser cache between each change to your site before testing the page or feed. Depending on your web browser, holding down CTRL+F5 may achieve this, otherwise you will need to go into your browsers settings and clear your cache. You may also want to use the private (or incognito) window feature in your browser by repeatedly opening, testing, then closing the private window for each test.

Maintain a list of which plugins you disable to re-enable them once you are done. We recommend disabling plugins in the following order:

  1. Disable WP caching plugins first. This is the most common issue for both problems with pages and feeds. Sometimes simply resetting the cache in the plugin can solve the issue.
  2. Disable plugins that haven’t been updated in the past 3 months next. Plugins that are not maintained regularly are more likely to cause conflicts. Remember, disable plugins one by one and test.
  3. Disable plugins that could stand out as causing a conflict. e.g. a media player plugin when diagnosing a player issue.
  4. If you still haven’t found the conflicting plugin, disable the remaining plugins one by one for your remaining tests.

If you get to the point where you only have the PowerPress plugin enabled, then there may be a  conflict with your theme. Try switching your theme to the most recent version of the WordPress stock twentyninteen theme. The latest WordPress stock theme will be designed and most thoroughly tested for the latest versions of WordPress.

If you are using the WordPress stock theme with PowerPress being the only plugin enabled and you still have a conflict, one of the following may be the issue:

  • Missing or corrupt file in the powerpress plugin folder. – Delete the powerpress folder, then re-install PowerPress from the WordPress  > plugins menu.
  • WordPress issue – WordPress database tables may be corrupt or missing, key WordPress php files may be corrupted or missing, or an outdated version of WordPress is installed.
  • Web server Issue – Possible issues include site/file caching issues, hard drive/hardware issues, load balancing/cloud corruption, web server module misconfiguration, 3rd party service hosted in front of your website causing erratic behavior, improperly coded or corrupt .htaccess file, or outdated versions of PHP/MySQL could be causing the issue. Contact your web hosting service to proceed.

Feed or Image Not Updating in iTunes Apple Podcasts Directory

Please use the following list with your web developer / server administrator to diagnose your Apple Podcasts issue.

  • Make sure your web server fully supports HTTP/1.1 protocol. This includes both HEAD and GET requests and multi-byte requests (byte serving). We are aware of low cost web hosting providers who provide CDN/cloud based web hosting that are not HTTP/1.1 complaint including CloudFare. If you are unsure of your web hosting providers CDN/cloud support, have them disable the CDN/cloud feature then give iTunes 72 hours to update.
  • Make sure your feed size does not exceed 512K (1/2MB) in size. To test this, simply view you feed in your web browser, then select the ‘save-as’ option to save the feed locally onto your computer. Then use the properties option on your computer to get the file size of the saved XML file. (DO NOT use the file size reported in your web browser, it will report in most cases a file size much smaller due to HTTP compression)
  • Make sure your Apple image does not exceed 512K (1/2MB) in size in jpg format. Use the properties option on your computer to get the file size of the image. If it exceeds 512K in size, re-save the image using a lower jpg quality setting. A quality setting of 75 or lower should result in a 1400×1400 jpg image smaller than 512K. A quality setting of 40 is recommended. you will need to zoom in dramatically to observe the difference in quality with a jpg. If your image is in PNG format, simply converting it to jpg will almost always result in a smaller image file size.
  • Make sure no other plugin is adding unnecessary content to the feed, which can make the feed unreadable to iTunes.
  • If you are using a WordPress caching plugin, make sure it does not add HTML comments to the very bottom of feed. If it does, you must either disabled the caching plugin or configure it not add such comments to your feeds. Your iTunes listing will stop updating if your feed has HTML comments at the very bottom.
  • If your web server is using a security module (like mod_security) and/or you are using security WordPress plugins, more than likely they are blocking some of the HTTP/1.1 protocol methods (GET, HEAD or multi-byte requests) which are required for iTunes. When you disable such WordPress plugins, make sure you rebuild your .htaccess file since these plugins sometimes leave code that is causing the conflict.
  • Make sure your web hosting or service does not block IP addresses from Apple Podcasts servers. Apple uses 17.xxx.xxx.xxx IP addresses, no IP address found in the (17.0.0.0/8) CIDR should be blocked by any security systems or firewall tools.
  • If your web hosting has special security rules to block user agents that are not detected as web browsers, you will inadvertently block nearly all Podcast apps, as these user agents are not browser based. This is typically the case for services such as CloudFlare and Encapsula.
  • If your web hosting uses tools such as mod_pagespeed, be sure that details such as page compression is not applied to RSS feeds as this can cause formatted lines to be removed as well as cause random issues with various XML parsing systems including Apple Podcasts.

Empty Lines Found at Beginning of Page Source Code

When you have feed or web page issues, it can sometimes be caused by having blank lines at the very top of the page source code (top of the webpage HTML or feed XML code). This can be caused by a theme, plugin or accidentally modified WordPress PHP source code file that is printing out a blank line before the page is rendered. The diagnostic steps above disabling plugins one by one and trying the most recent version of the WordPress stock theme should allow you to diagnose which plugin or theme is causing the issue. If you have ever modified your WordPress sourcecode, this would be a good time to re-install a fresh unmodified version of WordPress. It is also possible that the wp-config.php file includes a blank line at the very top of the file. Be sure the start <?php tag is at the very top line with no spaces in front, there are no print/echo statements within the wp-config.php file, and the file does NOT have a closing ?> tag.

Note: Though a blank line for HTML will not prevent a web browser from displaying your web pages, it is technically invalid HTML. One or more blank lines for an RSS feed is purely invalid and is a reason why the Apple Podcast directory as well as many other podcast apps cannot read your podcast feed.

Be aware of web hosting server level caching features, modules such as mod_pagespeed/mod_security, and services such as CloudFlare

Often web hosting services add features to help accelerate your website’s performance by providing caching and/or other features to optimize code (mod_pagespeed) found in your websites pages. Web hosting services may also utilize security systems such as mod_security. Simply disabling plugins and clearing your browser cache and WordPress plugin cache is not enough in such situations. Services such as WP Engine incorporate server level caching and require the use of a special plugin to clear the cache. CloudFlare and Encapsula require you to sign into their interface to clear caching, and doing so is not necessarily instant. CloudFlare and Encapsula specifically are known to have issues with podcasting, blocking Apple’s IP addresses causing Apple podcast listings to not update for long periods of time as well as random listeners the ability to update their subscription to your podcast because their system recently blocked the IP address where the user is coming from. When ever possible, disable mod_pagespeed/mod_security type modules, disable web hosting caching, and disable using services such as CloudFlare and Encapsula when diagnosing to prevent misdiagnosing your issue.

Lastly, web servers that use PHP in an accelerated system such as FastCGI and/or using what is referred to as OPcache and/or file system caching may need to have the server itself restarted following any changes.

Verify your .htaccess is not causing an issue

Many web hosts allow the web server to not only read, but also write to the .htaccess file. It is common for aggressive caching plugins to add additional lines to the .htaccess file to bypass WordPress from processing pages and instead redirect each request to a special built version of website files created by the caching plugin. Even if the WP caching plugin is disabled, it is possible that the .htaccess file is performing as if the plugin is enabled, exacerbating the issue by continuing to provide cached content. Under normal circumstances your .htaccess file should be relatively simple with a ModRewrite section that will have 2 ModRewrite conditions and 1 ModRewrite rule. See the example htaccess on WordPress.org to see what it typically looks like. If your .htaccess file has many RewriteRules, refer to the paths it rewrites to as they should indicate what they are for. Please contact your web host if you do not understand what is in this file and have concerns about its contents.

If your web server can write to this file, the best way to rebuild it is to go to WordPress Settings > Permalinks and click save once. If WordPress can write to the file, it will update it with the appropriate lines needed for WordPress to work with Permalinks enabled.

Media Playback or Download Issues

There are many possible media playback and downloading issues, the list below includes only the most common. We recommend using Blubrry Media hosting service if you have any doubt that your media is not being hosted properly.

  • Media is not in the correct audio (mp3/m4a) or video (mp4/m4v) format. See Creating Podcast Media in the Podcasting Manual to learn more about which format is recommended for audio and video.
  • Web hosting is not HTTP/1.1 complaint or reporting the right meta information.
  • Media file is not optimized for the Internet.
  • Media is being served from the same server as the web site.
  • Website or web service cannot handle the bandwidth needs to host the media files appropriately. Specifically, stream plays now make up a majority of podcast consumption, it is critical that the service that hosts your podcast media can deliver the content quickly for prompt playback.

Learn more about Podcast Media Hosting and requirements.

MediaElement.js player not appearing, different player in its place

The MediaElement.js player is a JavaScript based player that loads once the page loads. In the event there is a JavaScript error on the page, the MediaElement.js player will not load, leaving the fallback player which is referred to as the HTML5 audio player built into the browser. Each browser’s version of this player is different. For example, the Google Chrome web browser the player will have rounded ends with a light gray background. See the W3Schools Audio Player try it yourself HTML5 Audio for an example.

One way to diagnose the issue is to open the Inspector feature built into the web browser and look at the error console. It should give you some insight into what script is causing the issue.

To confirm the issue is not with PowerPress, use the built-in [audio] shortcode to see if the MediaElement.js player loads. This is the WordPress audio shortcode, you should be able to disable the PowerPress plugin before using this shortcode to confirm that PowerPress is not the issue.

For the most bare bones diagnostic step, disable all plugins and use the latest version of the stock twentyninteen WordPress theme with the [audio] shortcode for testing. If this works, you should then be able to enable PowerPress (with no other plugins) and the MediaElement.js player should also work for podcast episodes (this is the minimum environment we test with). If simply enabling PowerPress with no other plugin enabled and using the stock WordPress theme does not work, it is most likely a problem with your web hosting implementing caching or code optimizing that is breaking your site. Point them to this page and have them read this page thoroughly, they should be able to read these diagnostics and then recognize if they are using such tools that cause changes to scripts, CSS, etc…

PowerPress does not modify the MediaElement.js code packaged in WordPress. PowerPress evokes the MediaElement.js player using the do_shortcode() function call to guarantee that WordPress properly renders the player in the page.

Why is PowerPress most likely not the problem for feed/website issues?

More than likely the issue is not caused by PowerPress. Keep in mind that PowerPress adds functionality to WordPress. It does not contain code to purposely make feeds or pages not work. Based on rules set by WordPress.org, PowerPress inserts additional meta data in both WordPress feeds and pages in order to provide the functionality required for podcasting.

WordPress, PowerPress and Feeds: WordPress feeds are created by WordPress. Via code, PowerPress asks WordPress to create a podcast only feed for you. This feed is then created by WordPress so PowerPress can add additional meta data to it. If there is a feed issue, more likely than not it is caused by either your web server, a plugin and/or a theme. The diagnosing instruction above were written with this in mind.

WordPress, PowerPress, pages and your theme: PowerPress adds content to your blog posts and pages using specific WordPress filters. Specifically, the “the_content” and “the_excerpt” filters are called when your theme correctly uses the get_the_content() and get_the_excerpt() functions respectively. Furthermore, PowerPress uses the do_shortcode() function with the when inserting the MediaElement.js player guaranteeing the same behavior happens as it would if you entered the [audio] shortocde directly in the page content. Once PowerPress adds the player and/or podcast meta data to the filter, it is left to other plugins and the theme to properly handle the results. In many cases, themes or plugins are written where they modify the_content or the_excerpt after the fact, damaging the code PowerPress inserted into the content. Other times, the theme has special code to handle the content in it’s own way which circumvents the the_content/the_excerpt filters all together. The diagnosing instruction above were written so you can discover what theme or plugin is causing the conflict.

 

Web Server Caching: Web server caching, the act of making a copy of the URL to improve the performance of the web server, plays a large role in diagnosing issues. Keep in mind that caching can be occurring at multiple levels. If you are having caching issues, WordPress based caching plugins are more than likely the problem and why we recommend disabling these plugins first. These caching plugins are written to support a magnitude of different web server configurations, which makes them very complex. Caching may also occur in the web server itself. Both the web server software (e.g. Apache and MySQL) and/or the web server file system could be the source of caching issues. Consult with your hosting provider or server administrator if you suspect server level issues.

Your Web Browser: In some cases, the problem may only be with your specific web browser. Web browser caching is aggressive, a simple refresh (F5 or SHIFT+F5) may not clear your web browser cache completely. Plan on going into your browser settings and specifically clearing your browser cache to guarantee that your browser’s cache is empty. At this time we only trust Firefox web browser to correctly clear the browser cache when you use the SHIFT+F5 combination.

Remember that issues can be caused by even the simplest things. We helped a client with their web site posting episodes 24+ hours late. We discovered the date and time on the server was incorrect, setting up the server to synchronize it’s time with a known time server solved the issue.

wp-admin problems with PowerPress

It is possible that a combination of factors could be causing an issue within the wp-admin area of WordPress. For example, if you are using a beta version of PHP, it is possible that code in PowerPress is not compatible with that version, or there is a conflict between PowerPress and another plugin. To help us diagnose such issues, please enable the WP_DEBUG mode of WordPress then re-visit the offending page. Any errors/warnings will be printed along with the page when WP_DEBUG is enabled. Please copy/paste such error and warnings and send them to us via our support contact form. Please also include a list of plugins and the name of your theme to allow us to replicate your site in our test environment.

I know for certain PowerPress is the issue

To demonstrate that a feed or player issue is caused by PowerPress, replicate the issue using WordPress with the twentyninteen (WordPress default) theme with no other plugins enabled other than PowerPress. copy the web URL where the page does not work and include it when contact the Blubrry team so we can reference your page for diagnosing. Also include details about your installation, version of WordPress, version of the stock WordPress theme you are using and version of PowerPress to assist us on replicating the issue.

If you find that the conflict is between another theme or plugin and PowerPress, please send us detailed documentation of the problem. We’ll gladly accept patches that solve issues with other themes or plugins. We will not, based on solely a complaint, solve a theme or plugin conflict without any specific documentation explaining what the conflict is. A simple “It doesn’t work with X theme” is not sufficient enough for us to be able to solve the issue. Greater detail is needed in order for us to setup a duplicate environment to replicate the problem.

NOTE: Conflicting themes and plugins must be hosted on WordPress.org (licensed as GPL) in order for us to work on the conflict. Themes and plugins not hosted on WordPress.org are potentially not GPL, which limit our ability to make changes to such code during testing. If the conflict is caused by a themes or plugin not hosted on WordPress.org, you must have that theme or plugin developer resolve your issue. We gladly accept patches and code change suggestions from other theme/plugin developers.

Report conflicts to Blubrry

If you do discover a plugin or theme conflict, please report the issue to Blubrry by using our support contact form.