Gosh! Yet another issue in my WordPress!
This is the third time in less than two weeks that I had to troubleshoot my installation of WordPress 2.5.
This time, however, the issue was not with WordPress itself, but this particular theme that I am using – Illacrimo. The feed for this blog was throwing an error:
XML Parsing Error: xml declaration not at start of external entity
Line Number 2, Column 1:<?xml version="1.0" encoding="UTF-8"?>
I learned about the error when I tried to burn my feed through FeedBurner, which informed me that the feed (RSS XML) was not well-formed:
The URL you entered does not appear to be a valid feed. We encountered the following problem: Error on line 2: The processing instruction target matching “[xX][mM][lL]” is not allowed.
It directed me to Feed Validator to check the feed’s validity, and for sure it was not well formed:
line 1, column 1:
So what now? Google zindabad! On WordPress Support I found this and this, but I didn’t find any concise and to the point answer there.
I found a concise and workable solution on W3C’s site – check it out.
Why does this error occur?
If an XML declaration (
<?xml ... ?>) appears in your feed, it must be the first thing in the feed, before any whitespace.
Unfortunately, with WordPress it seems all too easy for a plugin, a theme, or for your configuration file to contain a blank line. Further compounding this problem, some — but not all — feed readers compensate for this common error, allowing the error to go undetected for quite a while.
What’s the solution?
The solution is to trim/delete any blank lines outside of the
?> in the PHP code of either the theme files (
functions.php) or WordPress files (
I had a blank line between two PHP code sections in the theme’s
functions.php file. It was not evident at first, but thankfully, I finally got it to work! Now my feeds are working fine.
So go ahead and subscribe! 😀