Aug 12, 2015

Blogger To WordPress Migration Guide with Permalink & SEO

About this Do-It-Yourself (DIY) Blogger to WordPress Migration Guide

If you run a blog on Blogger.com (BlogSpot) and want to move to self-hosted WordPress blog, this tutorial is for you. If you want to know why should one move to WordPress, please read this

This guide is written keeping in mind an average not-so-techie blogger.

If you still find it difficult to follow or have any questions, please use our free support forum for help. Alternatively, you can hire us to do your migrations! 😉

Ok, enough of shameless self-promotion! Let’s get your migration started…

#1 Goals – To Lose Nothing

Before we actually start, we should set some goals which we need to achieve in order to migrate without any traffic or search engine ranking loss. Our goals are:

  1. Import all posts, comments & pages.
  2. Maintaining permalinks for posts & pages (1-on-1 mapping between Blogger.com and WordPress pages).
  3. Redirecting permalinks for labels & search archives.
  4. Retaining all feed subscribers.

If you have noticed, in point 2 & 3, I have highlighted the words “Maintaining” & “Redirecting”. There is a big difference between maintaining permalinks & redirecting permalinks. You can read more about it here.

Above are the minimum goals that should be achieved in order to retain all your links, traffic, subscribers and page-rank. Yes, Google pagerank can be retained if you follow each and every step without making any mistake.

An additional task can be making your new WordPress blog look like your old Blogger.com blog. You can check official WordPress themes directory for a free theme or simply hire us to get a theme designed.

#2 Different Cases – Subdomain v/s Custom Domain

Our goals are clear. Next you need to understand the differences between having a Blogger.com blog on a subdomain and on a custom-domain. Two different cases are:

  1. Blog with a subdomain address – e.g. http://example.blogspot.com
  2. Blog with a custom domain address – e.g. http://example.com
There are a few more cases, we can skip them here for the sake of simplicity.

Subdomain Case

Technically, you can move to WordPress when your Blogger.com blog is on a subdomain and also maintain 1-on-1 mapping between Blogger.com posts and WordPress posts. But there are a few problems with all migration-related articles spread over the web:

  1. Most articles rely on JavaScript based redirect – search engines cannot understand it so they will be completely ignored.
  2. Some articles, propose the use of “rel=canonical” which has its own set of problems and cannot be relied upon.
In both the above cases, 1-on-1 mapping is achieved through “redirection”. Ideally, for search engines, redirection should be 301 (server-side) which is not possible in this case.

On the hand, if you have your own domain, we can make some changes to WordPress so that it follows permalink (Post URL) structure similar to Blogger.com. That way, 1-on-1 mapping is achieved through “maintaining” link as opposed to “redirection“.

So for the subdomain case, the best solution is to – setup custom domain on Blogger.com. You can find instructions for domain setup here.

Note: If you are currently using a subdomain (example.blogspot.com), this guide is helpful for you as well.

#3 Preparation

At this point, I assume you have:

  1. Your blog is on Blogger.com with Custom Domain Setup
  2. You have a web-hosting where you can install WordPress (WordPress installation Series on different web-servers)
  3. You have access to your domain’s DNS records

Installing WordPress – at its final destination

In my article posted around 2 years back, and many other articles on the web, there is an intermediate step to install WordPress locally on your machine.

Over the time, we discovered that this step can be skipped completely. You can install WordPress on the web hosting that you have purchased directly with your custom domain which you are using on Blogger.com without modifying DNS records.

The trick here is to use a firefox extension called switchhosts to override domain locally. So all you need to do is create an entry in switchhosts with your domain name (with WWW) and use the IP address given by your hosting company (you don’t need to buy a dedicated IP here)

Detailed instructions on how switchhosts is used are given here.

After creating a SwitchHost entry, install WordPress and check if the WordPress site appears in your browser properly for your custom domain.

At this point we are ready to import from Blogger.com

#4 Importing Data from Blogger.com to WordPress

WordPress comes with a built-in importer tool for Blogger. It is good enough to import posts & comments which are a major part of your blog.

Below are the right steps to do so:

A. Configure Permalinks on New WordPress

From WordPress Dashboard, go to Settings -> Permalinks and select Custom Structure option and paste the following value next to it and save changes.


This will make your WordPress blog’s permalink structure looks like Blogger.com blog. Do not use any other permalink structure at this time. You can change your permalinks structure later.

B. Import Blogger.com blog posts to WordPress

Now its time to import your Blogger.com blog posts to WordPress.

  • Go to Tools -> Import options and select Blogger options. A pop-up box will appear, click on Install Plugin to install the importer plugin in WordPress.

  • Click on the Activate Plugin & Run Importer.
  • Now you must be on Import Blogger page with a button named Authorize. Click on it and you will be taken to a page on Blogger.com (actually Google.com) where you will be prompted to Grant access to your Blogger account. You may be prompted to log into your Google account if you are not already logged in.
  • Once you grant access, you will be taken back to the Blogger importer on WordPress. If you have more than one blog on your Blogger account, you will see all of them listed here. Just click on the import button next to the blog that you want to import into WordPress.

  • Once you click import, all posts and comments from Blogger.com blog start importing into WordPress. Importer may stop in between. In that case, the text on the button will change from Import to Continue. Keep clicking on it, until the button-text does not change to Set Authors, which indicates all posts and comments have been successfully imported. (NOTE:WordPress Importer does not import the pages from your Blogger.com blog.)
  • If you have more than one author in Blogger.com blog, you may need to click on add users on your WordPress blog (open the add user link in new tab/window of your browser) or you can optionally merge all posts for one author.
  • After creating users in WordPress blog refresh the previous tab. Either way go ahead and hit Save Changes!

At this point, your Blogger.com blog is completely imported. But wait, your images hosted on Blogger’s server are still on there so don’t delete your Blogger.com blog.

Fixing permalinks for imported post

Note: Please take back-up of your WordPress Database before following the process mentioned below. So that, if something goes wrong you can revert it back.

In step A, we configured permalink structure which makes permalinks look similar to Blooger.com permalinks. But we need to make them identical to retain all our traffic & SEO!

Look at the WordPress post link below:


And the following blogger.com post link for the same post:


At this point you can use the following php script. Just copy-paste following codes into a file with name like fix.php and save/upload it to the WordPress folder. Then just open its URL from the browser. URL will be like: http://example.com/fix.php (replace example.com with your domain name). 

$res = $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'blogger_permalink'");
foreach ($res as $row){
$slug = explode("/",$row->meta_value);
$slug = explode(".",$slug[3]);
$wpdb->query("UPDATE $wpdb->posts SET post_name ='" . $slug[0] . "' WHERE ID = $row->post_id");
echo "DONE";

On executing this script, the only output you must see is “DONE”. If you see any error, please contact us, by using the comment form below.
At this point, check the post links on your WordPress blog. Their path part must now be identical to Blogger.com post link.

Migrating other content – Google Followers (GFC), Gadgets and Pages.

All other codes that you use on Blogger like in sidebar widgets, adsense, stats-tracking code need to be migrated manually from Blogger.com to WordPress. Follow this instruction.

If you have pages in Blogger.com then you need to create pages in WordPress as well and copy the HTML code from Blogger and paste it into WordPress page.

For Example,

On Blogger.com, the URL of your page looks like – example.com/p/about.html

And after creating a page on WordPress, the URL looks like – example.com/about/

To redirect the Blogger Page URL to the WordPress Page URL, you can use the WordPress Redirection Plugin.

Testing new WordPress permalinks & SEO

Just google for site:example.com where example.com is your domain name. Click on any link from search results and you should land on the  correct post on your new WordPress blog.

Enjoy WordPress!

WordPress has tons of plugins to make your life easier and richer! Since you are new to WordPress, don’t burden yourself with thousands of plugins. You can start with our WordPress plugin series which covers some of the best WordPress plugins.


Post a Comment

Enter your email address: