Hard lessons learned with Feedburner and Bloglines

For about a week, updates to the blog using my Feedburner feed were not available for reasons I feel compelled to explain in full, if only so similarly afflicted users don’t make the same dumb mistakes I did. In a nutshell, I unwittingly blew away my Bloglines readership for about a week through sloppy feed management. Hopefully this will keep someone from learning the same lessons I just did.

First, despite the basically self-inflicted problems I’m about to describe, I really like both Feedburner and Bloglines. I tested out Feedburner at InfoWorld and was impressed. I’ve been using Bloglines for a long time and despite occasional inopportune appearances by the plumber, I’m satisfied. I’ve met key folks at both companies and they’re nice people.

With that said, it’s time to describe how I screwed up my feed.

Mistake #1: I did a vanilla install of WordPress, set up my Feedburner feed, then installed the WordPress Feedburner plug-in to handle redirection of my feeds to Feedburner. I forgot one thing, though — I didn’t change the autodiscovery links in the header of my blog, so some RSS clients picked up the local feed not served by Feedburner. I went on vacation and by the time I returned and looked at my traffic more closely, I had a chunk of people subscribed to my Feedburner feed, and chunks of people subscribed to the local feeds. Feedburner tells you all the right things to do here. I changed my autodiscovery links to point to Feedburner. I just didn’t do it early enough, and my feed serving fragmented.
Lesson: make sure you have your autodiscovery links correct on Day 1 of your blog.

Mistake #2: I decided to try to force those subscribed to my local feeds over to the Feedburner feed, so I put in a couple of 301 (i.e. permanent!) redirects last Saturday afternoon to do just that — realizing, of course, that this was drastic and I was really putting my eggs in the Feedburner basket. (This particular impulse was probably of the same type that saw me under the house one Saturday swinging a sledgehammer somewhat randomly to remove an old cabinet in my crawlspace, knocking out the electrical service to the back of my house in the process.) I created a fancy mod_rewrite rule to do this (take that R for redirect, and tack a =301 on it, like so: R=301), ran a quick but hardly exhaustive test, and all looked good. I didn’t know that I had created an infinite redirect, forcing my Feedburner feed to return a 500 error (see Mistake #4 on how I should have known about this).
Lesson: test, test, test, and be careful with the 301 redirect sledgehammer, and mod_rewrite in general. I am reminded of Brian Behlendorf’s famous quote in the mod_rewrite documentation: The great thing about mod_rewrite is it gives you all the configurability and flexibility of Sendmail. The downside to mod_rewrite is that it gives you all the configurability and flexibility of Sendmail.

Mistake #3: I didn’t post anything about this. A post would have served two purposes: 1) to let people know I was fooling with the guts of my feeds, thereby alerting a bunch of kind people that they should let me know if they see anything weird, and 2) I would have noticed that my post never showed up in Bloglines, where I subscribe to my own feed. Instead, I posted about something entirely unrelated on Wednesday, which is when I noticed I had screwed up. By then, Bloglines was reporting that it couldn’t retrieve my feed (which I checked a few times on my feed preview page). I rolled back to my earlier working state and explained my plight using the help form at Bloglines and posted over at the Feedburner Forums for good measure.
Lesson: Post when you’re changing things. (Duh.)

Mistake #4: For every feed, Feedburner offers FeedBulletin, which includes FeedMedic, a service that lets you know when you’ve blown up your feed (via RSS, of course). This is a great service, though it doesn’t seem well-promoted in the least (as Charlie Wood noted in his post about FeedMedic a while back). My suggestion to anyone using Feedburner: Go to My Account right now and subscribe to it.
Lesson: When you’re using a third-party service of any kind, make sure you investigate automated means of error reporting. (Aside to Dreamhost users: you can get Dreamhost problems reported to you automatically via the RSS feed on their status page.)

The folks at Bloglines got back to me this weekend, letting me know that they had reset my feed, so all is well again and my posts are once again flowing to Bloglines. While the Feedburner part was easy to fix (I just fixed my source feed and resynced), I do wish that there was some kind of ping service at Bloglines so you could let them know when your feed has been corrected after you’ve screwed something up. As I’ve proven, those things can happen. . . .