Summary: Troubleshooting A Broken RSS Feed in WordPress
Nothing can be more frustrating than repairing a broken RSS feed in WordPress. Many times the problem is so minute that it’s nearly impossible to find without totally gutting your blog and starting over. But following a few basic troubleshooting steps can lead to discovery of the problem and restoration of your feed.
If you’re using feedburner go to http://feedburner.google.com – you’ll see a list of your feeds and below there will be a link you can click to get a report from “feedmedic.” If there’s a list of recent errors in that report then there’s a good chance your feed is broken.
To find the problem first you’ll need to ensure that the problem is actually with your wordpress RSS feed and not with your feed aggregator but just checking your feed by loading it in a web browser isn’t enough. Many times a feed will display properly and appear to be valid when in reality that same feed won’t validate using a 3rd party feed validator.
To find out if your feed validates go to http://feedvalidator.org and type in your feed’s URL. Run it once and if it validates without any errors, immediately run it a second time. In some instances a feed will initially validate but on a subsequent attempt it will fail. This is a good sign that there is a problem with some code on your blog.
If it’s been a while since your feed has updated you can use a second aggregator to confirm that the problem is with your blog and not with your main distributor, such as feedburner. A freebie account with mailchimp will do the trick nicely. Set up your account, create a quick campaign and then set up your first broadcast by choosing RSS in the selections. When the RSS setup loads, enter your feed URL and then click “test” — if the feed that appears is also not updated and not showing your last blog post then the problem is without a doubt, 100% located within your wordpress coding.
Once you’re absolutely sure the problem is on your end the first thing you can try is deactivating the rss cache in your W3 Total Cache or SuperCache plugin. In W3 you’ll find that setting near the top of the “page cache” settings. Uncheck that option, dump the cache and rerun your feed through the validator. If it passes then your problem is solved.
If deselecting the “cache rss feed” option doesn’t work the next step you can try is activating a default wordpress theme and emptying the cache. Rerun the validation service and remember to run it twice back to back. If the feed now validates then the problem is located in a file belonging to the theme you’ve been using – most likely a white space in one of the theme’s php files. You can find a fix for that problem here.
If swapping themes doesn’t help then the next process of elimination is deactivating all your plugins. Then rerun your site’s feed URL through the feed validator(twice). If it validates with plugins deactivated then you’ll simply need to figure out which of them is the culprit. If you’ve installed a new plugin recently, that’s the first place to look. Try reactivating all the plugins except for that one and validate again.
If it’s not the plugins or the theme or the ‘cache RSS feed’ selection in your caching program – and you’re positive you haven’t made any changes to your site’s theme files recently, you may have a problem with one of the posts you’ve published recently. Go into your post editor and check all the recent posts you’ve made – using the code viewer(not the visual) in your post editor. Look for extraneous code snippets or special characters that could possibly cause a problem. This sometimes happens if you’re copying text from an another website and pasting it into your posts. To avoid this in the future you can paste the copied text into a notepad file and then recopy it prior to pasting into your post.
If none of that works there’s a high likelyhood that your feed has gotten jammed in the cache settings. Most popular caching programs store a “settings” file outside of the plugins directory in case you need to delete the plugin and then reinstall it. That settings file saves your settings in case of such a deletion and then reapplies them when you reinstall. Navigate into your root directory and look for “advanced-cache.php” or similar and delete it(don’t worry, this won’t damage your cache program). Once removed then go try to validate your URL once more.
Once your feed validates multiple times, back to back, then your problem is solved and feedburner or whatever server you use should report back that all is clear(could take an hour or so for results to appear).
If none of the above works then post your problem along with the highlighted error messages from your validator report below and I’ll attempt to help you troubleshoot it further.