Moving From Blogger To WordPress – Maintaining Permalinks, Traffic & SEO

UPDATE:

Please use newer version of Blogger To WordPress Migration guide here.

Support for following tutorial will not be provided anymore.

When I moved to wordpress myself more than a year ago, my lack of knowledge & experience made me lose most of the traffic & SEO juice. But few months back, when my friend Gaurav Dua decided to move his high traffic blog, OrkutPlus, we did it with 100% success. Since then this post was pending.

Actually I was looking for another real case where I can test procedure outlined below because notes I made while migrating Gaurav’s blog were lost when my dear Macbook got stolen! :-(

Anyway thanks to Sri, while moving symposiumz from blogger to wordpress, we did it again in following steps!

Notes & Assumption!

The guide is for moving from Blogger.com to self-hosted wordpress. There is no real benefit in moving from blogger.com to wordpress.com.

If you find self-hosting with paid registered domain name is costly affair, you better stick to blogger.com. Also, all screenshots in this post are taken with wordpress 2.7.

Step 0: Add your custom domain name to blogger

Blogger gives you a subdomain like something.blogspot.com by default. They also give you option to use your own custom domain name. If you are using your own domain name on blogger then jump to next step!

blogger_-custom-domain-settings-settings

Now if you are not in hurry to move to wordpress, you better register custom domain right now on Blogger. Blogger will automatically transfer all permalinks and SEO to your custom domain. It may take around 2-3 months for major search engines to update your blogs’ permalinks in their index.

You can google for site:something.blogspot.com and site:mydomain.com where something is subdomain given by you blogger and mydomain is domain registered by you. When all links get updated you will see zero result for subdomain query while many results for custom domain query. Do not forget to use site: operator as it is in your query.* (more about Google search operators)*

I know this step is very time-consuming, but this is the only way not to lose your pagerank, most of the traffic and SEO juice. Rest we can move all traffic and maintain permalinks using wordpress plugin/hack I have posted around a year ago!

Step 1. Setup a dummy wordpress blog

You need to setup a dummy wordpress blog. You can set it on localhost or wordpress.com or anywhere else on internet. WordPress.com is not recommended. First, if you have multiple authors/contributors on your blogger.com, you may be interested in creating different users for each of them on wordpress. WordPress.com doesn’t allow this.

Also in step 5 below, you will need FTP access to your wordpress blog which is again not possible. Technically you can perform step 5, after setting up final wordpress blog on your webhost but it may create problems, so not recommended. Drop wordpress.com from options list.

There are many guides for installing wordpress locally (official link). For Mac users, there is an official guide as well. You can checkout video tutorials as well!

From wordpress dashboard, go to Settings >> Permalinks and select Custom Structure option. Paste following value next to it and save changes.

/%year%/%monthnum%/%postname%.html

1-permalink-settings-e28094-wordpress

This will make your wordpress blogs permalink structure looks like blogger.com blog. Do not use any other permalink structure at this time. You can change your permalinks structure safely using permalink migration plugin in future. Note the power of wordpress! :-)

Step 3: Import Blogger.com blog to local wordpress

Now its time to import your Blogger.com blog to local WordPress. Log into WordPress dashboard, go to Tools >> Import and select Blogger from importing options you will see.

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.

4-grant-access-blogger-google-account-1

Once you grant access, you will be taken back to Blogger importer on local wordpress installation. If you have more that one blog on your Blogger account, you will see all listed there. Just click on “import” button next to it.

5-blogger-blogs-listing-e28094-wordpress-1

Once you click import, all posts and comments from Blogger.com blog starts importing into wordpress. Importer may stop in between. In that case text on button will change from “import” to “continue”. Keep clicking on it, till button-text doesn’t change to “Set Authors”, which indicates all posts and comments are successfully imported.

Next if you have more than one author, you may need to add users on your wordpress blog. Or you can optionally merge all posts for one author. Either way go ahead and hit Save Changes!

7-import-author-mapping-e28094-wordpress

At this point, your Blogger.com blog is completely imported. But wait, your images hosted on Bloggers’ server are still there so don’t delete your Blogger.com blog. I will tell you what to do with Blogger.com blog soon!

Step 4: Changing DNS settings for your domain name

This step can be delayed as we are not done with local wordpress yet. But changes in DNS settings propagates slowly across Internet. So to avoid waiting at step 7, better we initiate DNS settings change right now.

How to access and change DNS settings vary from registrar to registrar. Consult your registrars help pages or contact them if you stuck. As far I know, you should only need to change nameservers part. For Dreamhost, nameserver values are NS1.DREAMHOST.COM, NS2.DREAMHOST.COM & NS3.DREAMHOST.COM.

Also you need to flush your computers DNS cache periodically till you don’t see your Blogger.com blog is gone from your custom domain! Please use Google to know how to flush DNS cache for your operating system.

In step 2, 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 below wordpress post link:

http://localhost/wp3<strong>/2009/01/national-conference-on-advanced-computer-systems-ncacs-09-hindustan-college-of-engineering.html</strong>

And following blogger.com post link for same post:

http://www.symposiumz.net<strong>/2009/01/national-conference-on-advanced.html</strong>

Ignore domain-name for the time being. We need to make wordpress links look like:

http://localhost/wp3<strong>/2009/01/</strong><strong>national-conference-on-advanced.html</strong>

At this point you can use following php script. Just copy-paste following codes into a file with name like fix.php and save/upload it to wordpress folder. Then just open its URL from browser. URL will be like: http://localhost/wp3/fix.php

<?php
require_once('wp-load.php');

$res = $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'blogger_permalink'");
$wpdb->print_error();

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");
$wpdb->print_error();
}

echo "DONE";
?>

On executing this script, only output you must see is “DONE”. If you see any error, please contact us, of course using comment form below.

At this point, check permalinks (post links) on your local wordpress installation. Their path part must be identical now to blogger.com permalinks.

Step 6: Exporting local wordpress blog**

**

At this point, we are done with local wordpress installation and ready to move our setup to online wordpress on our webhost.

Again go to wordpress dashboard, then go to Tools >> Export and click “Download Export File”.

export-wordpress

This will create a XML file. Keep it safe as we will need it soon!

Now its time to wait till DNS change mentioned in step 4 gets completed. We need DNS to point to our webhost so that we can install wordpress on our new domain.

Still, if you are using a good webhosting service you can complete step 7 even before DNS settings gets updated over web.

Step 7: Preparing your Webhost…

You need to add your blogger.com domain on your webhosting account. DNS shouldn’t create a problem at this stage.

You can also install (actually upload) wordpress without any DNS issue. Also upload themes you are planning to use on your new wordpress blog.

There is no tool which can import bloggers theme on wordpress. You can either choose a wordpress theme which matches your blogger template closely or code a wordpress theme yourself. If you need wordpress theme designer, you can hire me! Contact us for more details.

Step 8: Moving from local wordpress to wordpress @ your domain

Now at this point, I assume, DNS change has been completed. Now you are able to see empty wordpress blog on your custom domain.

Now first, follow step 2 and configure permalink on your new blogs.

Then like in step 3, go to Tools >> Import but select **WordPress **this time. Upload XML file we saved in step 6 and just follow next few steps.

Thats it! You are on new wordpress now! :-)

Step 9: Miscellaneous but important…

Just google for site:mydomain.com **where **mydomian.com is your domain name. Click on any link from search results and you should land on correct post on your new wordpress blog.

What to do with Blogger.com blog now?

First, swear that you will never delete your (now) old Blogger.com blog! 😛

Now you go back to Blogger.com’s custom domain settings and revert back to your old subdomain there. Next follow instruction posted here.

At the end of those instructions:

  1. Your Blogger.com blog will become inaccessible. This is must for good SEO!
  2. Your Blogger.com subdomain will be active again but all visitors will be migrated with proper permalink structure.

2nd part is important if you have used your Blogger.com for sometime in the beginning. In that case, you must be having non-search engine links from other blogs all over the web. It will be insane if you to contact each blogger/author and ask them to edit their posts. Instructions listed there will take care of such human permalinks forever & automatically!

Moving feed subscribers…

If you are using Feedburner or any third-party service for subscribers, update source feed URL as it will be changed with migration. If you don’t use feedburner you can still use .htaccess hack to fix URL of your feed.

Just add following lines at the top of your .htaccess file which can be found in root directory of your wordpress installation.

RewriteRule atom.xml /feed [L,R=301]
RewriteRule rss.xml /feed [L,R=301]

Migrating other codes…

All other codes you use on blogger like in sidebar widgets, adsense, stats-tracking code need to be migrated manually from blogger.com to wordpress.

Enjoy wordpress!

WordPress have tons of plugins to make your life easier and richer! You must be new on wordpress so rather than burdening yourself with thousands of plugins, you can start with our wordpress plugin series which covers some of the best wordpress plugins.

====

UPDATE:

Please use newer version of Blogger To WordPress Migration guide here.


About Author

Rahul Bansal

Rahul Bansal

I am a geek (wordpress), blogger (tech) & entrepreneur (rtCamp)