Ultimate Guide to Transfer Your Blogger Blog to Self Hosted WordPress Blog

On
Blogger to WordPress migrationEvery day, large numbers of blogger blogs are transferred to WordPress platform. Most of these migrations are targeted to self-hosted WordPress blogs. If you're technically sound, you can complete this process easily. In case, you're not aware of the technical aspects related to the migration, you can use this comprehensive guide to get things done easily. Working knowledge of web hosting concepts can certainly help you in grasping the steps in an easier way. Following the steps mentioned below will ensure you can transfer your blogger content seamlessly to a self-hosted WordPress site. Although I'll warn you frequently to take backups throughout this tutorial, I must stress that without backups you may risk losing vital information. Let's get started and follow this step by step guide to migrate a blogger blog to self-hosted WordPress blog. While doing the migration, do not hurry or panic and complete all the mentioned steps with a calm mind to ensure everything you do is completed successfully.

Blogger to WordPress migration Note: Throughout this guide, we've used yourdomain.com name which should be replaced by your actual custom domain name you're going to use for the blog.

Before going through these steps, one must understand that the following things are not transferred to WordPress while making a switch. Blog design, blogger widgets, 3rd party widgets, and services data are not transferred. Post content and comments are two primary data sets that are pulled to the WordPress instance where you are going to run your new blog.

Prepare Your Blogger Blog

Before attempting migration, your blogger blog should be in the right state to make things easy. If you're not using custom domain currently, apply it as soon as possible on your blogger blog.

Doing this ensures you don't have to do dirty redirection tricks on your blogger blog. So here's a simple primer to configure a custom domain on blogger.

Configuring custom domain inside blogger dashboard I'm assuming you've already purchased a domain name from your preferred domain registrar. Head over to your blogger dashboard and go to Settings → Basic → Publishing section. Click the '+ Set a 3rd party URL for your blog' link and type in your custom domain name. If you want a www prefix before the domain name, make sure to add that too.

Click the save button and the blogger part of adding a custom domain is done. Now log in to your domain name management dashboard to update the CNAME records associated with your domain.

If there are any existing CNAME records pointing to a parking page, simply delete those records and replace them with the following two records.

Record Type    Host Name    Address/URL                                  TTL
CNAME               www                   ghs.google.com.                                  1800
URL Redirect     @                        http://www.yourdomain.com/        1800

If you've completed these two steps successfully, you blogger blog is now running on a custom domain. Don't worry, all your old URLs are automatically redirected to the newer format automatically by the blogger platform.

Now head on to Google webmaster tools and submit the new sitemap for fast indexing of the new URLs. If you've not used this service before, use your current Google account for the same and add your blogger site to it. Thereafter, go to 'Crawl → Sitemaps → ADD/TEST SITEMAP' option and add the following partial sitemap URL in the box.

atom.xml?redirect=false

After pasting the partial URL, complete entry will look something like http://www.yourdomain.com/atom.xml?redirect=false while evaluating the complete address. Press the 'Submit Sitemap' button to complete the process.

You may question the need for this new sitemap submission process. Well, this process ensures that your new custom domain post URLs starts getting indexed by Google to take place of the old URLs. Since the blogger platform automatically do 301 redirects from blogspot URLs to the new custom domain URLs, those old URLs will be removed from the index in due course of time.

Unless your blog has an extremely huge archive of posts, I'll advise you to wait for at least 4 to 6 weeks before you think about making the switch. By this time, all the old blogspot URLs will be removed and will be replaced by the new custom domain post URLs within the index without affecting your search traffic and rankings.

During this period, you can update links to your post content which are pointing to other posts on the same blog. Simply modify from the front part of the URL of such links with the new domain name you're using on the blog. In simple words, you have to update all the internal links to your content using old blogspot URLs.

After 4 to 6 weeks, your blog is running on a custom domain, new custom domain post URLs are getting indexed on a regular basis and the old blogspot URLs are gradually disappearing from the search index.

Before attempting migration, you have to check whether the majority of your posts with new URLs are indexed and replaced with their old counterparts or not. Let's say, you have 536 posts on the blog. To check whether almost all of the URLs are indexed or not, open Google search page and type the following query in it.

site:yourdomain.com

This will result in the display of pages indexed so far by Google, like in the sample image shown below.

Google search results Pay attention to the number of results returned by the query as marked by a red arrow in the sample image above. In our example, we assumed 536 posts on the blog. So, in that condition, this number should be a little more than the total number of posts. For example, 550 or 560 or 574. If this number is less than the number of posts on your blog, wait for another week before checking it again.

Although Google webmaster tools allow you to manually submit links to be removed from the index, I prefer to get this done, the natural way.

Backup Your Blogger Blog

Now that everything is in place to start the migration process, we'll complete this vital setup of taking backups of content and design of your blogger blog.

While downloading a blogger blog, both content and design are saved in a single XML file. But still, I prefer to save the design template separately.

To download the existing design template, go to Template → Backup/Restore → Download full template option. Save the file in a secure location on your computer. Now it turns to download the entire blog.

Head on to Settings → Other → Export blog → Download Blog option for the same. This completes the basic download process. But wait, there's more to cover which may seem optional but I'll recommend you complete it.

I also prefer to manually backup content of various gadgets in the sidebar or footer, favicon and the header image/logo (if any). To do this, go to Template option and click each gadget within the layout wherever you've pasted custom content. You can mark and save this data in a separate text file and can give it an appropriate name.

Similarly, do not forget to save custom favicon (if you're using one) and the custom header image/logo used on your blog.

Install WordPress Blog

If you've completed all the steps mentioned above, it's time to finally start the migration process. We'll start by installing the WordPress blog.

I'm assuming you're using a typical shared web hosting account. Most shared hosting environments use cPanel for account management and Softaculous software for installing WordPress blogs. Here's an excellent video explaining WordPress installation. While installing the blog, specify the custom domain you're currently using on your blogger blog wherever it is asked during the process.

After the blog has been installed through Softaculous from within your web hosting account, it's time to complete the installation process by opening the blog in the web browser and provide the remaining information (e.g: blog title, password etc).

But at this stage, if you will type your custom domain in a web browser, it'll open your blogger blog since the CNAME records are still pointing to blogger platform. So, how to open the newly installed WordPress blog in a web browser to complete the process?

You'll need two things to complete the process. A plugin for the web browser and your shared web server's IP address.

Server IP address inside cPanel Within your hosting account dashboard, you can easily grab the IP address as shown in the image above. In case, you cannot find it in your account, contact support staff to know about the same.

Now that you have your web server's IP address with you, it's time to install the plugin. It is available for both Google Chrome and Firefox.

After installing the plugin, click the add-on icon and open the editor as shown below.

HostAdmin plugin editor At the end of this file, first, type your web server's IP address and press the tab key to give a space. Thereafter, type the custom domain name you're currently using on the blogger blog. Make sure you click the save button before closing the file editing browser tab.

Now type the domain name in the address bar and it will open your newly installed WordPress blog configuration page. Don't worry! Your regular visitors will still be able to open your blogger blog to the custom domain.

Provide the details asked on the configuration page and complete the blog installation.

Configure Essential Settings

Once the blog installation is complete, you can log in to the dashboard to complete the following vital steps before you attempt content migration.

Head over to 'Settings → General' option and fill in the site title, tagline, WordPress address, and site address fields as shown below. There's also a timezone field on this page. Make sure to select the correct timezone option from the drop-down list. Save the settings once you've supplied the correct details.

WordPress basic settings Now, open the 'Settings → Discussion' page and deselect (disable) both the options for trackback and pingback notifications as shown in the image below.

Trackback and pingback notifications And now, it's time to configure one of the most important settings one must configure before transferring blogger content to WordPress.

To do that, open the 'Settings → Permalinks' option and select the Custom Structure option on the page. Thereafter paste the following string in the text field of that option.

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

Posts permalink structure settings This setting ensures that the post URL structure matches the structure used by blogger posts. This will help in easily configuring the post URLs of all the imported posts at a later stage.

You can also create an extra WordPress user account apart from the regular administrator account which can be used to attribute as the post author for the imported posts.

Import Blogger Content

So, finally, it's time to transfer blogger content to the WordPress blog. Categories, posts, images and blogger comments are going to be imported during this process.

Go to 'Tools → Import → Blogger' option and install the plugin. Upon activation, the plugin will ask you to authorize access to the blogger blog from which the content needs to be pulled. If you're already not logged in your Google account associated with your blogger blog, do so once you click the 'Authorize' button.

Blogger to WordPress import plugin Click the 'Allow access' button and you will return to the WordPress dashboard along with the list of blogger blogs active in your account. Carefully, select the blog you want to transfer and click the import button on the right side.

Import content from blogger Once the content import process is complete, the plugin will ask you to associate a WordPress user account with the posts. Click the 'Set Authors' button and select the author account from the drop down menu.

This completes the primary content migration process.

Post Migration WordPress Settings

Now you have to complete an important step to match all the post URLs exactly as they were on the blogger blog. This will ensure that your search traffic is retained without any issues. But, if your archive of posts is huge, you cannot afford to complete this process on a manual basis.

Fortunately, there's an excellent PHP script (piece of code) that completes the process for you within seconds. Save the following code in a text file and save it by giving it a proper (e.g. process.php) name. Make sure the file extension should be .php. Do not use rich text editor for saving this file. Ideally, use notepad or a simple text editor for the same.

<?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";
?>
Upload this file in the root directory where WordPress is installed on your web server. You can either do this through FTP or through a web-based file explorer available within hosting management dashboard. Here's an excellent guide about using FileZilla to upload the file. If you struggle to upload this file in the root directory, you can ask the support staff to do that for you.

Let's assume you've named the file process.php. Now type the following URL in the address bar of your web browser and hit the enter key. This will trigger and execute the script. If everything goes right, you'll see DONE message on the blank page.

http://www.yourdomain.com/process.php

Now all your imported WordPress posts' URLs match exactly as they were on the blogger blog. This finishes all the vital steps one must complete after content migration on WordPress.

Now, it's time to change the nameserver settings for your domain name to start pointing your domain to the WordPress blog. Ask your web hosting company support staff about nameserver addresses available for users. Almost every hosting company provides step by step tutorial about how to point a domain name to their servers.

Now deactivate and delete the plugin earlier installed by you within your web browser. Thereafter, do not forget to clear your browser's cache. Nowadays, DNS propagation happens quite fast and within a few minutes, your new WordPress blog can be opened by typing your custom domain name in the browser's address bar. You can now see that your custom domain name no longer points to the blogger blog and is now associated with your new WordPress blog.

Post Migration Blogger Settings

Now it's time to tweak and adjust some blogger settings. Remember, never ever delete your blogger blog which you've transferred to WordPress. Instead of that, configure the following settings so that your blog subscribers are retained and get all the posts as usual from your new WordPress blog.

Open your blogger blog's dashboard and reverse the process of applying a custom domain on the blogger blog you've done earlier. Simply go to 'Settings → Basic → Publishing' section and remove the custom domain applied earlier. It's just a matter of a couple of clicks. Now your blogger blog is back on its Blogspot subdomain.

If you keep it in this state, your WordPress blog may get penalized for duplicate content since search engine bots can crawl and index pages of both these blogs. To stop this, you have to block all the search engine bots and other crawlers from accessing your blogger blog.

Blogger privacy settings To do so, jump to the privacy section on the same page and select NO for both the options. This will make your blogger blog private for search engines as well as it will not be listed in the public blogger directory listings.

And now it's time to do some tweaks for properly redirecting your existing Feedburner subscribers to the new WordPress blog posts feed. Go to 'Settings → Other → Site Feed → Post Feed Redirect URL' option and type the following feed URL in it.

http://www.yourdomain.com/feed/

Blogger to WordPress feed redirection And now, open the Feedburner account and go to your existing feed entry within it. Click the 'Edit Feed Details' option on the top right and modify the Original Feed: field in it. Leave the top and bottom fields as it is. In the middle text field, paste the same feed URL you've already inserted earlier within your blogger dashboard right before this step.

Feedburner settings Once these two settings are complete, your existing Feedburner subscribers will seamlessly get your new posts published on the new WordPress blog.

This completes the entire Blogger to WordPress migration process. From here on, you can start installing the required plugins and themes on your WordPress blog and continue tweaking it as per your preferences. I hope this guide will help you transfer your Blogger blog to a self-hosted WordPress in a much easier way than you've anticipated earlier.