5 March 2010
When I started my first weblog back in 2002, I was using a homegrown blogging platform. It was powered by ASP and a Microsoft Access database, which I later rewrote to use the FileSystemObject to create static files after I learnt that Access didn't scale well even with just a handful of visitors.
Around three years later, I eventually decided to migrate to Blogger because it had some excellent features which I couldn't be bothered to implement myself. The killer feature for me was FTP publishing, which allowed Blogger to upload ASP files to my server so that I could continue to host the blog on my own domain whilst still being able to benefit from its other features, like archive pages, comments and an XML feed.
I was therefore disappointed – but not surprised – to see the announcement that Blogger would no longer support FTP publishing after 26 March 2010 (which was later extended to 1 May 2010). Although the team added a bunch of new features when they launched Blogger Beta in August 2006, FTP publishers couldn't migrate to Blogger Beta until a couple of months later, and even then they couldn't benefit from the full range of new features. It was pretty clear to me then that FTP support was going to be phased out one day, especially when custom domains were announced in January 2007. To be honest, I'm surprised it's not been switched off sooner!
Migrating to custom domains actually offered me the best of both worlds; the ability to host the blog on my own domain without needing to worry about hosting whilst benefiting from all the latest features. Regardless, I decided against it for no good reason other than the fact that it would require some effort on my part.
One advantage of working at Google is that I was able to reach out to the Blogger team and ask what they had planned for the FTP migration tool before it was launched. I was really impressed and relieved to hear that they'd been working hard to design and develop a tool to make the migration from an FTP blog to a custom domain as quick, easy, pain-free and seamless as possible for blog owners, site visitors and search engines alike.
The migration tool is now available on Blogger in Draft, the special version of Blogger where new features are tried out before being released to everyone, and it should be available on www.blogger.com soon. There's an excellent step-by-step screencast of the FTP Migration Tool, which I've embedded later in this post, so I won't go through what that process entails here. However, having now followed the migration process myself, I thought it would be good to mention a few extra things that I did to help make the move as smooth as possible.
Before the announcement that FTP support was being deprecated, I had already moved my feed to FeedBurner and was redirecting any requests for the old feed using a custom ASP error page which I configured on my host. Furthermore, rather than provide FeedBurner with the location of the static XML feed on my server, I pointed it at the one hosted by Blogger since I figured that would be faster to update and more reliable.
Note: You don't need to do this, and not everyone with an FTP blog will be able to redirect requests for their old feed to their FeedBurner feed, which is why the Blogger FTP Migration Tool automatically posts to your blog explaining that the blog has moved, giving your readers the new feed address.
Since I use Google Analytics to track visitors to my website, I wanted to make sure this would still work. Although my existing profile would have continued to track visits to the blog, the site structure would be different and could have potentially made my reports confusing, so I decided to create a new profile. All I needed to do then was update the tracking code in my blog template to include my new profile identifier.
Note: Updating the tracking code in the template before the migration process would result in the FTP blog being updated to use the new tracking code too, so I did it after the blog has been fully migrated. If you're thinking about doing the same, make sure you read my note about updating templates below.
My blog had also been using Active Server Pages (ASP) for server-side scripting, so my blog template included things like server-side includes and ASP code blocks. Since those obviously wouldn't work on Blogger, I had to make a few changes to remove any server-side scripting. This basically involved moving the content of the includes to directly inside the template and rewriting any of my server-side logic to use jQuery on the client-side instead.
Note: One small gotcha about updating your template after your blog has been moved to a custom domains is that the "Off" option for the NavBar is no longer available. If you had this switched off previously, any changes you make to your template now will add the NavBar code back into your blog. If you're using your own custom template, you may find it doesn't play nicely with your CSS. It should be possible to fix this by updating your CSS though.
To make the migration process even quicker, I created my CNAME entry in my DNS records in advance, following the instructions in the Blogger Help article for using Custom Domains.
Once I'd completed the things above, I was ready to use the migration tool:
Since I often link to my own blog posts from within my blog posts, I need to go back through my old posts and update these links to point to my new blog address. The same applies to any links pointing to my blog from other places, like profile pages on other services or social networks. Although the redirects would direct visitors to the right place, it's always best to remove any unnecessary redirects where you have control over the links.
Tip: If you're using Google Webmaster Tools, it's quite easy to get an idea of where is linking to your blog. Just go to the dashboard for your old FTP blog domain and click the More link under the Links to your site section to see all external links and then select Internal links in the menu to see where you're linking to your blog posts from inside your website. (This will probably return hundreds of URLs, but it should give you a good idea of what you need to update.)
Using the migration tool was really straightforward and I'm pleased it's encouraged me to finally make the switch. I'm going to have to spend some time checking out all the new features that are available to me now I'm finally using Custom Domains.
Since I like to keep my website directory clean, I'll probably give it a few months to see how things go before I delete my old blog posts from the server. I may then create server-side 301 redirects to make sure any visitors, proxies or search engines that have been slow to pick up the changes will still manage to find my posts. If you're planning on migrating and think you're comfortable setting up server-side redirects and getting your hands dirty with Blogger's advanced setup options, you could always just skip using the migration tool and follow the Advanced Setup Checklist.
(Finally, apologies to anyone who briefly saw messages posted to my feed over the last couple of days saying this blog had moved; I was too eager to try out the migration tool and my unusual configuration caused a couple of bugs to surface in the process. These bugs have now been fixed and everything is working!)