I haven’t done a Geeky Blogger Tech Tips article in awhile because I haven’t really been changing anything to learn something new. What I found out today is that things can break without you knowing and sometimes they aren’t that simple to fix.
Kelly from Reading the Paranormal is going to add this thing I found today to her blog work checklist. Y’all need to check out these posts. It is a good reminder to do a little blog housekeeping now and then. It doesn’t hurt to make sure things are healthy and up to date behind the scenes so you aren’t scrambling like I was today!
Here is what happened: Someone tried to subscribe to my RSS feed and got the following..
XML Parsing Error: XML or text declaration not at start of entity
Line Number 1, Column 2: xml version=”1.0″ encoding=”UTF-8″?>
I was confused because my RSS feed (yes I subscribe to my own) was working just fine. The posts were coming through like they always do. However, if I wanted to add my feed to another reader I got that parsing error. Who would have thought that the feed would work for those already subscribed but not new subscribers? NOT ME! So now this is going on my checklist of things I need to check every time I do an update to the site. I will be checking RSS and Email Subscription for sure! The rest of them should be static links to other sites so changes on my site should not be causing issues.
How did it happen? Since I am not sure how long it has been broke I can’t say with any certainty what broke it. From everything I have been reading it could be any update to your theme, plugins, or wordpress. Basically any update that writes to your .php files.
What causes it? For me it was a blank line in my php files (8 of them) that was causing the issue. Though from everything I read it is usually a blank line or space in either your function.php or header.php file. If it is a blank line it will usally appear in line 2 right after < ? php in your code. If it is a space, it is usually right before the < ? php in your code:
I think because I use a non-wordpress standard theme aka Weaver 2 that there are more points of failure. I think this would be true if you use any number of themes out there that aren’t the Twenty-Eleven theme. So if you are using another theme, check the standard php files first and then start with the theme specific files. Also make sure to close your browser between each test (I tested after every file change) so that you aren’t getting a cached error. You want to make as few changes as possible.
How do you fix it? I had to manually go into my file manager and open every php file till I checked them all. However, there are some things I tried first that I think would work for 90% of the people out there.
- Feed Validator: http://validator.w3.org/feed/docs/error/WPBlankLine.html
- Fix RSS Feed Plug-in: http://wordpress.org/extend/plugins/fix-rss-feed/
- w3it Fix RSS Feed Solution: http://www.w3it.org/blog/wordpress-feed-error-output-solution-how-to/
WARNING: Before you do any work to any file–TAKE A BACKUP! Seriously you do not want to spend your day reinstalling everything. Depending on your file manager you should be able to download a copy of a file before making changes. I did all of my changes outside of wordpress and in my actual site control panel as the code editor for bluehost is faster than the editor in word press. However, if you feel uncomfortable making these changes send an email to your host provider. They may actually provide support as part of your package.
Overall what I learned today was that I need to check my subscribe functionality any time I make a change. I think it would have been easier to fix on the day it broke as opposed to further down the line. I might have been able to simply uninstall the plugin, theme change or wordpress update that caused the issue. That would have been much simpler than having to check the files manually.
So learn from my mistake and start checking your subscription methods periodically. It will save you a headache in the long run!