Blogger, Feedburner and Sitemaps
I had announced last Friday that I was being an eager beaver and taking advantage of the improved Feedburner integration for Blogger. However, like all early adapters, I've had been unfortunately burdened with the unresolved issues of the new technology. Specifically:
- Once enabled, Google will redirect your Atom feed subscribers to Feedburner. However, Blogger also publishes a second feed (in RSS format) which for some reason it does not redirect. Feedburner won't be able to collect statistics about people who subscribe to the non-redirected feed, making your efforts fairly moot.
- Bloggers who use their Atom feed as a sitemap for Google will receive errors due to their Feedburner feed being in a different domain than the rest of their blog.
Using a bit of creativity, however, I do believe I've found a suitable workaround that should allow motivated Blogger users to integrate Feedburner and Google sitemap without these problems.
UPDATE: Easier Method
Commenter Lamer came up with an even simpler way to integrate both feedburner and Google sitemaps. Turn on the Feedburner redirection (Dashboard > Settings > Site Feed) and then use http://YOURBLOG.blogspot.com/rss.xml?orderby=updated as a sitemap (for whatever reason Blogger does not redirect this XML file). Simple and efficient, thanks Lamer! The rest of this post goes on to describe the old, more complicated method, which may be useful if you want to modify your autodiscovery tags.
Note: I do not recommend the trick explained below if you already have a sizeable number of subscribers to your Atom feed that you want to redirect to your Feedburner feed, since they will no longer be redirected afterwards. Use the updated trick above instead.
Set up a Feedburner account. When it asks you for your Feed URL, type in "YOURBLOG.blogspot.com/atom.xml".
Next, under the Blogger dashboard, go to Settings > Site Feed and clear the "Post Feed Redirect URL" field. This will stop Blogger from redirecting people who try to access your Atom feed.
With your blog open, view the html source of your page. Look for a block of code similar to the following:
Copy the similar looking block from your blog's html source code and paste it in a temporary .txt document. You may now close your Blog's html source.
We're now going to modify what you just pasted into the .txt document. Replace these two lines:
with the following:
This next step will involve modifying your Blogger template. I strongly urge you to backup your Blogger template beforehand in case you make a mistake. From the Blogger dashboard, go to Template > Edit html. Look for the following line in your template's html:
Delete this line and replace it with the contents of the .txt file you saved earlier, then click "Save Template". You have now successfully modified the autodiscovery tags, and browsers that auto-detect RSS feeds will now be directed to your Feedburner feed only.
Step Two: Use Your Atom Feed as a Sitemap
If you have Google'd your own site, you may have noticed that not all of your individual Blog posts have been indexed. One way to help this along is to provide the Google webcrawler with a sitemap. A sitemap is an XML document that tells the crawler how to properly index all the pages on your site. As Blogger users, we cannot write our own sitemap file, but we can use our Atom Feed as a sitemap.
To begin, sign into Google Webmaster Tools using the same Google account that you use for Blogger. Follow the on screen instructions to verify your Blog. Once you've finished that, click on the "Sitemaps" tab, then the "Add Sitemap" button. Select "Add General Web Sitemap" from the pulldown menu, type in "atom.xml" for Step 3 and click "Add Sitemap". Google will now be able to use this information to index your site properly.
I so far have not been able to figure out is how to redirect the "Subscribe to Posts" link at the bottom of the page to Feedburner.
UPDATE: Fellow blogger Juls came up with this excellent way to redirect your main page Feed footer while preserving your comment feed! Locate this block of code:
And replace it with:
This is by no means a perfect trick, but I think it's a decent way to work around the current Feedburner integration problems and still make use of Feedburner and a Google Sitemap. If you have suggestions, problems or ideas, please feel free to leave a comment.