October 22, 2016

How to Migrate from Blogger to Wordpress Without Loosing the Traffic & No Downtime (Updated)

Blogger is a wonderful free platform to start your blog. It is easy for a beginner to start with blogger, but sooner or later one would want full control on their blog. Shifting or Migrating the blog from blogger would generally result a noticeable drop in Google rankings and there by the traffic if you don’t configure things properly. But here in this step by step guide I will help you migrate from Blogger to WordPress without loosing traffic and search engine rankings.

Why you should move your blog from Blogger to Wordpress?

I might be a little harsh over here but lemme tell you the truth. If you are blogging on Blogger platform you need to migrate your blog right away to Wordpress or else you would be loosing a lot in terms of traffic, SEO and revenue. Blogger is good to get started but you should not stick to it for a longer time. You should move your blog right away from Blogger to wordpress in order to progress.

Few more reasons why Blogger is not recommended for Blogging:

  1. Blogger is owned by Google and they have complete rights over your blog. They might change anything suddenly without informing and they also have the right to delete your blog at any point of time which happened in my case as well.
  2. Blogger cannot be customized the way you want. Its easy to customize blogger but again it has several restrictions.
  3. Blogger is optimized to some extent by default but Wordpress blogs are more SEO optimized.
  4. The only advantage of blogger is it can handle unlimited traffic as it is in cloud and free hosting provided by google. But unfortunately there are chances of your blog getting deleted if you receive high traffic even without informing you in prior.

Things you need before getting started with Wordpress:

1. A Good Hosting Provider:

Wordpress blogs are self hosted, for this purpose you need a good and reliable hosting provider to host your blogs. If you are just getting started and your blog doesn’t has much traffic then I would recommend you to go with some good shared hosting like Bluehost. But if you are looking forward to move to a very reliable hosting then you can contact me, I will suggest you the best hosting provider.

2. Cloudflare account (Optional):

Though its optional I would highly recommend you to have a good CDN like Cloudflare. It has many advantages.

  1. Cloudflare saves your blog from serious threats like DDOS and other security threats.
  2. Its a CDN so will decrease the load on your server and boosts the blog loading time. Once you configure your blog with cloudflare, the blog will load a lot faster than before.
  3. Pointing is easy with Cloudflare. Once you point using A names it takes effect instantly and you can migrate the blog without downtime.

Steps to Migrate From Blogger to Wordpress:

Method 1:

Step 1: Download the XML file of the site you want to migrate from your Blogger Dashboard. 

Open you blogger dashboard and navigate to Settings-> Other and then click on Export Blog. This will download an XML file to your system.

export blog

Step 2 : Import the .XML file to WordPress

To import your Blog to WordPress, go to Tools-> Import and then click on Blogger.

install-blogger-importer

A pop-up will appear, asking you to install blogger importer plugin. Click on the Install button. Once it is installed, activate the plugin and Run Importer link to continue.

run-blogger-importer

Once you activate the plugin and Run the importer, you will be asked to upload the .XML file you exported from the blogger dashboard.

 

 

Once the upload is done, you need to assign an author to the posts to be imported. That’s it, you now have successfully imported your Blogger blog to WordPress..!

But you still need to make sure that you don’t loose any search rankings and visitors to your old blog.

Step 2 : Setting up Permalinks

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

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

Step 3 : Setting up Redirection

This is the most important step in moving any blog so that users are redirected to your new blog. You would want users to land on exactly the same page on the new site and also want the search engines to notice that your old site is moved to new location.

You need to setup redirection on two levels. First, redirect blogger visitors to your new WordPress blog. Secondly, once users reach your WordPress site you will redirect them to exact post they were accessing on your Blogger blog.

Setting up redirection on Blogger blog:

Log on to your Blogger account and go to settings. Click on Template.

On the template page, scroll down to bottom and click on “Revert to Classic Template” link.

revert-classic-template

After that, you will see “Edit Template Html” text area. You need to replace the entire code with the following code.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="<$BlogLanguageDirection$>">
<head>
<title><$BlogPageTitle$></title>
<script type="text/javascript">
 <MainOrArchivePage>
window.location.href='https://www.alltechbuzz.net/'
</MainOrArchivePage>
 <Blogger><ItemPage>
   window.location.href='https://www.alltechbuzz.net/blogger/?q=<$BlogItemPermalinkURL$>'
 </ItemPage></Blogger>
</script>
<MainPage><link rel="canonical" href="https://www.alltechbuzz.net/" /></MainPage>
<Blogger><ItemPage>
 <link rel="canonical" href="https://www.alltechbuzz.net/<$BlogItemPermalinkURL$>" />
</ItemPage></Blogger>
</head><body>
<div style="border:#ccc 1px solid; background:#eee; padding:20px; margin:80px;">
<p>This page has moved to a new address.</p>
<h1>
<MainOrArchivePage><a href="https://www.alltechbuzz.net"><$BlogTitle$></a></MainOrArchivePage>
<Blogger><ItemPage>
 <a href="https://www.alltechbuzz.net/<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a>
</ItemPage></Blogger>
</h1>
</div> </body></html>

Make sure that you replace https://www.alltechbuzz.net with your domain name.

Save your template, and you have successfully implemented redirection on your Blogger blog.

However, you still need to setup your redirection on your WordPress site so that users are redirected to the proper posts. To do that, you need to create a new file using a plain text editor like Notepad. Give this file a name like fixlinks.php and copy this code in the file.

<?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 "Permalinks are Fixed! Welcome to WordPress, Happy Blogging";
?>

Upload the file to public_html of your wordpress installation.

Now you need to run this php code on your site from the following link to fix the permalinks issues. You should get a message as done.

http://www.yoursitename.com/fixlinks.php

Step 4 : Redirect Feeds

On your old blogger site, your feed subscribers will not be able to notice the switch from Blogger to WordPress. They might bookmark your Blogspot site in their browser and so, it would be best to redirect your blogger feed to your new WordPress site’s feed as well.

For that process to go on, you need to Login into your Blogger account. Go to the Settings & click Other. You’ll be seeing Site Feed section, Under that Click on Add link next to Post Feed Redirect URL.

Here you can type the web address of your new WordPress RSS feed here and the existing RSS subscriber will automatically move to your new feed.

Method 2: (Update: Oct, 2016 – This Method Doesn’t Work Properly)

Recently, the last time I tried to migrate a blog from blogger to Wordpress, I couldn’t do it by using the Method 2, i.e. through Blogger Importer plugin. I later realized that the plugin no longer works because Google no longer supports the “OAuth 1.0” authentication. It has been updated to a newer version “OAuth 2.0” at this time. So, we cannot have to try for alternate method until the plugin supports.

Note: Currently the problem has been resolved and the Blogger Importer plugin is working absolutely fine! So you can go ahead with the 1st method which is easier. More over, the Blogger XML file to Wordpress WXR Converter Link is not working. 

Step 1: Download the XML file of the site you want to migrate from your Blogger Dashboard. 

Open you blogger dashboard and navigate to Settings-> Other and then click on Export Blog. This will download an XML file to your system.

export blog

Step 2: Convert the XML file to Wordpress WXR export file which is suitable to import in to the Wordpress Blog. 

You cannot directly upload the XML file in to Wordpress, so you need to convert it by using this tool.

xml to wxr

Step 3: Import the Wordpress WXR file to your new Wordpress installation

Once the XML file is converted and downloaded, you need to import it into your new Wordpress installation directly by using the Wordpress Importer.

Click Import, and the import is done. You can now find all the articles, comments and pages along with images in your new Wordpress site.

Step 4 : Setting up Permalinks

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

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

Step 5 : Setting up Redirection and Fixing permalinks

This is the most important step in moving any blog so that users are redirected to your new blog. You would want users to land on exactly the same page on the new site and also want the search engines to notice that your old site is moved to new location.

You need to setup redirection on two levels. First, redirect blogger visitors to your new WordPress blog. Secondly, once users reach your WordPress site you will redirect them to exact post they were accessing on your Blogger blog.

Setting up redirection on Blogger blog:

Log on to your Blogger account and go to settings. Click on Template.

On the template page, scroll down to bottom and click on “Revert to Classic Template” link.

revert-classic-template

After that, you will see “Edit Template Html” text area. You need to replace the entire code with the following code.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="<$BlogLanguageDirection$>">
<head>
<title><$BlogPageTitle$></title>
<script type="text/javascript">
 <MainOrArchivePage>
window.location.href='https://www.alltechbuzz.net/'
</MainOrArchivePage>
 <Blogger><ItemPage>
   window.location.href='https://www.alltechbuzz.net/blogger/?q=<$BlogItemPermalinkURL$>'
 </ItemPage></Blogger>
</script>
<MainPage><link rel="canonical" href="https://www.alltechbuzz.net/" /></MainPage>
<Blogger><ItemPage>
 <link rel="canonical" href="https://www.alltechbuzz.net/<$BlogItemPermalinkURL$>" />
</ItemPage></Blogger>
</head><body>
<div style="border:#ccc 1px solid; background:#eee; padding:20px; margin:80px;">
<p>This page has moved to a new address.</p>
<h1>
<MainOrArchivePage><a href="https://www.alltechbuzz.net"><$BlogTitle$></a></MainOrArchivePage>
<Blogger><ItemPage>
 <a href="https://www.alltechbuzz.net/<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a>
</ItemPage></Blogger>
</h1>
</div> </body></html>

Make sure that you replace https://www.alltechbuzz.net with your domain name.

Save your template, and you have successfully implemented redirection on your Blogger blog.

However, you still need to setup your redirection on your WordPress site so that users are redirected to the proper posts. To do that, you need to create a new file using a plain text editor like Notepad. Give this file a name like fixlinks.php and copy this code in the file.

<?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 "Permalinks are Fixed! Welcome to WordPress, Happy Blogging";
?>

Upload the file to public_html of your wordpress installation.

Now you need to run this php code on your site from the following link to fix the permalinks issues. You should get a message as done.

http://www.yoursitename.com/fixlinks.php

Note: One of the most important point to be noted here is that the images which you uploaded in the Blogger are not imported into the Wordpress Uploads by using this method.

Step 6: Importing Images from Blogger to Wordpress:

Importing Images to your Wordpress will make sure that you will not loose the images which you uploaded in blogger. This can be done in many ways, but out of experience I recommend you to use importer plugins to do the job for you. One of the plugins which I used is “Cache Images Wordpress Plugin“. The plugin has not been updated recently, but it worked fine for me.

Install the plugin to your Wordpress and activate it. Navigate to Tools-> Cache Remote Images 

cache remote images

Click on Scan or Scan (including linked) and you will get a list of domains from which the images can be cached. Then simply click Cache from this domain button and the images are imported directly to your Uploads folder and all the previous Image URLs are also replaced with the new ones.

If you want to take professional help in migration process then you can contact me. I can do the migration for you. Let me know if you are having any trouble in the migration process in your comments.

About the author 

Imran Uddin


{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}