April 11, 2013

301 Redirect Your Old Blogger Blog to New Address

Back in February I decided to change the address of my blog from 911-need-code-help.blogspot.com to salman-w.blogspot.com. Changing the blog address is straightforward; however, I wanted the following to happen after the change:

  • Backlinks to the old blog should continue to work
  • Visitors attempting to access the old blog should be redirected to the new blog automatically
  • Search engine ranking for the old blog should be transferred to the new blog

In short, I needed to redirect old URLs to new ones. Given that Blogger does not have an option to redirect URLs to another blog and mod-rewrite/server-side scripting is not available either; my only option was to use zero second meta refresh tag which is (claimed to be) treated as a 301/permanent redirect by Google. So, here is what I did:

NOTE THAT THIS ARTICLE IS ABOUT MOVING FROM ONE BLOGSPOT.COM ADDRESS TO ANOTHER. If you are moving from Blogspot hosting to custom domain, you (probably) don't have to do anything special. If you are moving from one custom domain to another, ask your domain name provider to setup a 301 redirect on the old domain.

Step 1: I created a clone of my blog using the Export Blog/Import Blog tool. I then designated one of the blogs as the old blog and (i) removed all comments from it (ii) edited all posts to contain just the note "This post has been moved to [New URL]".

Step 2: I added the meta refresh tags to the old blog. While adding the meta refresh tags to the blog there were two things to consider:

  • The meta refresh tag should go in the <head> section — this requires editing Blogger HTML template
  • Each post should be redirected to its corresponding new URL (i.e. use page-to-page redirect instead of blanket redirect) — this requires using Blogger template codes

So, I added the following template code in the <head> section of the HTML template for the old blog:

<b:if cond='data:blog.url == &quot;http://old-blog.blogspot.com/&quot;'>
<meta content='0;url=http://new-blog.blogspot.com/' http-equiv='refresh'/>
</b:if>

<b:if cond='data:blog.url == &quot;http://old-blog.blogspot.com/2013/02/post-50.html&quot;'>
<meta content='0;url=http://new-blog.blogspot.com/2013/02/post-50.html' http-equiv='refresh'/>
</b:if>

<b:if cond='data:blog.url == &quot;http://old-blog.blogspot.com/2013/01/post-49.html&quot;'>
<meta content='0;url=http://new-blog.blogspot.com/2013/01/post-49.html' http-equiv='refresh'/>
</b:if>

That was it. The new blog started receiving referral traffic from the old blog immediately.

Aftermath

During the next few weeks, I monitored the performance of both blogs using Google Analytics and Webmaster tools. The visit statistics for both blogs are compared in the following chart:

Visits comparison

As expected, the traffic of old blog decreased gradually; while traffic of new blog matched that of old blog initially, then became independent and matched the expected values. The traffic source reports were also encouraging. The traffic sources for new blog during first and second week are compared in the following chart:

Traffic sources comparison

As expected, the new blog received mostly referral traffic from the old blog and very little search traffic; however, the traffic matched expected values during second week with majority of traffic coming from Google search.

The Google Webmaster Tools' Search Queries report for the new blog confirmed that the new blog started appearing in search results within few days:

Search queries overview

And finally, the Google Webmaster Tools' Links to Your Site report included backlinks to old blog. These links are marked with a "via this intermediate link" label:

Example link to my website

These statistics indicate that meta refresh redirects worked with Google search. However, I do not make a promise or guarantee whatsoever.