WordPress 2.5, RSS, and Ampersand Encoding
Recently, WordPress 2.5 was released and its corresponding minor bug-fix release, version 2.5.1, was released as well. This was a relatively solid upgrade. The overhaul of the interface was a welcome change; however, the upgrade ended up causing some major problems with its RSS syndication.
First off, there was some under-the-hood changes that changed how users access RSS feeds based on how the permalinks are configured. For example, if you’re using permalinks in the format of /year/date/day/title, then you should use the RSS format of /feed/rss.
Secondly, the upgrade actually broke RSS2 feeds. You can read an entire forum post about it here on the WordPress forum. This was quickly addressed and the bug fix is available in this changeset. In my opinion, these are the types of bugs that should’ve been found during testing of such a major release - I don’t get why something like this wasn’t caught.
Lastly, I was burned twice on the RSS issue. Once I patched my installation with the bug fix that I just mentioned, I noticed that my RSS2, ATOM, and RDF feeds still weren’t working. I ended up tracking it down to a problem with failing to encode an ampersand. Specifically, the author’s ‘friendly name’ included an ampersand and it was written into the database without being encoded - parsers do not like the ampersand if it isn’t encoded as it’s usually used as a delimiter for key/value pairs. Because of this, the XML used in publishing the feed was invalid.
Once I made this modification in the database, all of the feeds went live again. Just like the WordPress developers should have caught their RSS issue before releasing, I should have caught that issue when configuring the site.
