Get pro WordPress tips or your money back!

A Comprehensive Guide for Importing Blogger to WordPress

There have been a myriad of articles written about migrating from Blogger to WordPress in the past. I know, because I’ve referenced a lot of them. Just a few weeks ago we had a client who needed to move from Blogger and somehow I ended up with the project. I thought I was the boss?

ANYWAY, I hadn’t done a transfer like this for over a year, and I found out the hard way that a lot of things have changed in that time, so I decided it was time for a fresh new tutorial about moving from Blogger to WordPress.

Blogger to WordPress Overview

I found that there were definitely some technical details that needed to be updated in the tutorials that I had read, but even beyond that I found that while a lot of the tutorials I read accomplished the task at hand, many of them ignored some really important aspects of the migration like SEO, where images are hosted, one to one mapping of content, etc.

Blogger to WordPress checklist
Keep a list of important information you’ll need during the transition

In this guide I’m going to go through the entire process of moving your blog from Blogger to WordPress while making sure we also pay close attention to all of the following:

  • Search Engine Optimization so you don’t slip in the search rankings
  • 1 to 1 Mapping of URLs so your visitors don’t hit a 404 page and feel lost
  • Redirection of RSS feeds so you can keep all those hard-earned subscribers
  • Transfer of All Content including posts, pages, comments, etc
  • Recreating a similar site structure

The reality is that this type of project is a lot more involved than it seems on the surface. I know that when I first started doing these migrations five or six years ago my attitude was “there’s an importer plugin, how hard could this be?” The reality is that while it’s not particularly difficult, there are a lot of moving parts and attention to detail is key. It’s a little bit tedious but I’m going to hold your hand every step of the way here. Let’s get to it!

Do You Use a Custom Domain or Subdomain?

There are two different types of configurations you can have on Blogger.com.

  1. Subdomain like website.blogspot.com (blogspot is the Blogger domain and website is your blog name)
  2. Custom domain like awesomewebsite.com

If you’re using Blogger on a subdomain, you’ll want to bookmark this article and read this guide from GoDaddy about adding a custom domain to your Blogger site. Once you have your custom domain setup, come back and you can follow along with the rest of this tutorial.

Namecheap Homepage
GoDaddy and Namecheap are both very popular domain registrars

A custom domain isn’t technically required to redirect your Blogger site from website.blogspot.com to your new WordPress site, but all of the ways to make it happen are super hacky and will make your search engine rankings plummet, so for the sake of this article, the custom domain is a requirement. We don’t do hacky.

Checklist for Moving Ahead

Now that we’ve made it this far, let’s take a look at what you’re going to need in order to make this transfer happen the right way.

  1. A custom domain setup on Blogger.com
  2. A web hosting package – Check out our comparison of WordPress Hosting providers here. Generally speaking a shared hosting plan from a solid provider should serve your needs, but it heavily depends on the amount of traffic you get on your blog. If you’re unsure about what you need from your new web host, feel free to reach out.
  3. Login credentials for your Blogger account (Google account), your new webhost, and your domain registrar

Note: Your domain registrar and web host may be one in the same. If you purchased your domain and web hosting package from the same provider, then it’s likely access to your domain and web host are accessible under the same account.

Step 1: Install WordPress on your New Hosting Account

The steps for this can actually vary a lot, but in order to keep things as simple as possible, I’m going to walk you through how to install WordPress on cPanel using a one-click installer. I’ll be using an account at SiteGround in the demo video below, but the process should be similar on most web hosts that use cPanel.

Now that you have WordPress installed, things start to get a little bit more technical, and a little bit trickier. If you don’t have the stomach for editing your HOSTS file on your computer or aren’t familiar with DNS at all, then this might be a task better handled by professionals. If you’re feeling brave and want to continue on this adventure, let’s move on to step number 2.

Step 2: Resolving DNS Conflicts

Don’t bang your head against your keyboard quite yet. But if you installed WordPress on your host, you probably noticed that when you clicked through to see your new WordPress site, you were taken back to your blog at Blogger. This is completely normal.

HOSTS File Screenshot
Example HOSTS File

Your domain is still pointing at your Blogger site and that’s the way we want to leave it for now, but it creates problems since we need to work on the WordPress site for the next several steps.

Do not point your domain at your new WordPress site just yet

This will redirect all of your traffic to your new site, which at the moment is the default WordPress design and no content. You don’t want to subject your readers to that mess.

What we’ll want to do is change our local computer (the one we’re working on currently) to point to our WordPress site, but let the rest of the world continue to see our site on Blogger.

Editing Your HOSTS File

There are a number of different ways to go about editing your HOSTS file on your computer. The various steps will depend on whether you’re using Mac OS, Windows, or Linux, or some other random operating system. Chances are that if you’re using Linux or something more unique than that, editing your HOSTS file will be a walk in the park.

When you edit your HOSTS file you’re basically giving your own computer driving directions. All of your traffic will go directly to where you tell it, but it won’t change anything that the rest of the world sees since you’re only changing the traffic route on your machine.

Screenshot of SiteGround cPanel
Most cPanel Hosts list the IP address of your server on the left side as shown above

How-To Geek has a great article that goes over how to edit your HOSTS file for all the major operating systems. Another alternative to editing system files is to install the HostAdmin Firefox Add-on which will do all the file editing dirty work. All you have to do is input your domain name and the IP address of your web host, and you’ll be in business.

Step 3: Importing Your Blogger Content into WordPress

Once your HOSTS file has been edited and you’ve pointed your domain to your WordPress install, you should be seeing your new WordPress site when you go to yourdomain.com in your web browser.

If you’re still seeing your blogger site, you’ll need to double check your HOSTS file to make sure you’ve made the correct edits.

The next step is to install the Blogger importer plugin:

Screenshot of installing blogger importerIn the past, the Blogger Importer WordPress plugin would actually authenticate with your Google account, and then automatically pull all of your post content into WordPress. The main challenge was that imports would frequently time out.

Then Google changed their authentication methods and the importer stopped working altogether for quite a while. Sound familiar?

Now in order to import your Blogger content into your new WordPress install, you need to export a file from Blogger, and upload it to your website. I’ve put together a quick screencast below to show you how to export your content from Blogger, and upload it to your new WordPress site. It’s pretty straightforward.

Step 4: Focusing on SEO and Fixing Your Permalinks

Now that we have all of our content in WordPress, it’s time to make sure that we get true 1 to 1 mapping for all of our articles, pages, archives, etc. If we break incoming links, we’ll end up losing SEO rankings and that traffic we all love and work for will be gone.

Screenshot of Google Analytics
You’ve worked hard to earn your traffic, don’t lose it now!

In WordPress we need to change our permalink structure to match the structure that Blogger uses:

  1. In your WordPress dashboard go to Settings –> Permalinks
  2. Choose Custom Structure
  3. Input the following for your permalink structure /%year%/%monthnum%/%postname%.html

Now our permalinks will be very close to the blogger structure, but they won’t be identical. We need to make one more change before they match up exactly.

The reality is that most of the page URLs are going to be close enough for WordPress to match them, but we’re perfectionists over here and don’t want to leave anything to chance when it comes to our SEO juice.

BACKUP YOUR WORDPRESS DATABASE BEFORE PERFORMING THIS NEXT STEP

BackWPup is a free plugin that can take care backing up the database for you. But really, perform a backup before moving ahead.

Fixing Post Permalinks

In your favorite text editor, paste the following code snippet, save it as a file, and upload it to the root of your WordPress install. Name it something like linkfix.php.

view raw fixlinks.php hosted with ❤ by GitHub

Once the file has been uploaded to your server, all you have to do is browse to http://yourdomain.com/fixlinks.php. That will execute the script that you just uploaded, and you’ll see the message “Your Permalinks Have Been Fixed”. That’s all there is to it.

Then you’ll want to make sure to delete fixlinks.php from your server. It won’t be needed ever again and could be a security issue if you leave it on your server.

It’s time to go live!

Step 5: Changing Your DNS Settings and Going Live

We’re now at a point where we can start sending our traffic to our new WordPress site. If you’d like to change the design to be more professional, add plugins, or perform any other customization on your WordPress site before going live, now is the time to do it. You could obviously do it after going live too, but some people don’t like to air their dirty laundry 😉

GoDaddy nameservers screenshot
Editing your name servers changes the flow of traffic to a new location

Changing your domain name servers will be different for every web host and domain registrar. Here are instructions to change your DNS for some of the most popular registrars and hosts:

You’re going to change the name servers on your domain registrar to point to your new web host. To be clear, it’s entirely possible that your domain registrar and your web host are one in the same. For the bloggerdemo.biz account that I created for this article, I purchased the domain and web hosting from SiteGround.

That said, it’s entirely possible to have your domain registered at GoDaddy, and your web hosting at Bluehost, for example. You’ll be changing your NS records to point to your new web host. The name servers for my hosting account are ns1.m52.siteground.biz and ns2.m52.siteground.biz. Yours will be similar.

After you change your name servers, it can take up to 48 hours for traffic everywhere to be routed to your new WordPress site, although it’s usually more like 4-6 hours.

Now your site is live on WordPress!

Step 6: Important Finishing Touches For Your WordPress Migration

There are several more cleanup things that have to be done to call this transition from Blogger to WordPress truly complete.

  1. Turn off your Blogger site the correct way
  2. Redirect your RSS feeds
  3. Add redirect rules for categories and archives pages

Disabling Your Blogger Blog The Correct Way

NEVER EVER EVER DELETE YOUR BLOGGER BLOG! EVER!

The reason you should never delete your Blogger blog is because all of your images are still hosted there, they aren’t actually transferred to your WordPress site. That means if you were to ever delete your Blogger blog, all of the images from your Blogger articles that are now on WordPress, would disappear. That’s a very bad thing.

Going forward all of your new images will be uploaded directly to WordPress, but all of the images from your old articles will live at Blogger forever.

Blogger Template Editor Screenshot
Making changes to your Blogger Template to handle redirects

The folks at RT Camp have put together a great tutorial for the final steps to take with your Blogger blog. It involves changing your Blogger site back to using the subdomain format (ie. yourdomain.blogspot.com), and editing your Blogger template to handle redirects properly. Go ahead and follow their guide there, and then make your way back here once that step is finished.

Redirect RSS Feeds

Just like with permalinks, the RSS feed structure in Blogger is a little bit different than the structure for WordPress. We want to make sure that the people who are subscribed to your blog via RSS continue to get your stellar content after you move, so we need to make a quick edit to the .htaccess file on your new WordPress site.

Editing your .htaccess file preview
Click here to watch a video tutorial on editing your .htaccess file

Team Treehouse has put together a nice video tutorial for creating and editing an .htaccess file which you can check out here if you’re not comfortable with that process already. They’re also one of our favorite places to learn WordPress online which is a double bonus!

Now that you know how to edit your .htaccess file, you’re going to add these rules to the very top of your file. There will already be some rules that have been added by WordPress, and these rules will go above those.

#Author: WP Site Care
#Link: http://www.wpsitecare.com/import-blogger-to-wordpress/
#ATOM Feeds
RewriteRule atom.xml feed/atom/ [L,R=301]
RewriteRule feeds/posts/default feed/atom/ [L,R=301]
#RSS FEEDS
RewriteRule feeds/posts/default?alt=rss feed/ [L,R=301]
RewriteRule rss.xml feed/ [L,R=301]
#Comments Feed
RewriteRule /feeds/comments/default comments/feed/ [L,R=301]
RewriteRule /feeds/comments/default?alt=rss comments/feed/ [L,R=301]
view raw .htaccess hosted with ❤ by GitHub

These rules are basically telling RSS feed readers that the location of the RSS feed has changed, and to look for new content in the new location. These rules should stay at the top of your .htaccess file for as long as your site exists.

Adding Redirects for Category Archives

Blogger does have a category archive structure called “labels”. It’s essentially the same thing as WordPress categories, but once again, without redirects, these archives are going to generate a bunch of 404 Not Found errors, which we really want to avoid.

We’ve already come this far, why not finish things up right?

Just like you did with the feed redirect rules, you’re going to add the following rules just below the rules that you added for the RSS feed redirect

#Author: WP Site Care
#Link: http://www.wpsitecare.com/import-blogger-to-wordpress/
#Redirect archives
RewriteRule ^([0-9]{4})_([0-9]{1,2})_([0-9]{1,2})_archive.html$ $1/$2/ [L,R=301]
#Redirect labels/categories
RewriteRule ^search/label/(.*)$ category/$1/ [L,R=301]
view raw .htaccess hosted with ❤ by GitHub

Save your .htaccess file and now all of your old Blogger labels will redirect to the corresponding WordPress categories.

Welcome to WordPress!

Outdoor Celebration
YOU MADE IT! TIME TO CELEBRATE!

Now that you’ve worked your way through this gauntlet of a tutorial, pat yourself on the back, enjoy a 🍺, and start to enjoy the best publishing platform in the world, WordPress.

This tutorial is definitely not for the faint of heart, but it is a good illustration of what’s really involved in a well done Blogger to WordPress migration. In order to do it properly, and with all of the search engine ramifications in mind, there are a lot of details that need to be addressed and carried out.

It’s a bit of a tedious process, but when the end result means you have a new website that you own, can customize however you’d like, and can use to amplify your voice, sell a product, or champion that next cause, the hours of work involved here seem well worth it.

You may not need the article today, but it’s definitely one that you’ll want to bookmark and reference for when you do need it. We’ll be sure to keep it updated with the latest information as things change, because they undoubtedly will.

If you found this tutorial helpful, or have questions about any piece of the process, you know the drill. Leave us a comment and we’ll do everything we can to help out!

Get pro WordPress tips or your money back

41 Comments

  1. Nick

    Great article but it is quite a long process. For those looking for a quicker way to migrate to WordPress, I’d suggest WP Site Importer (https://www.wpsiteimporter.com). It can import page and post content, menu structures and images from pretty much any website. Enter a URL and it will spider all of the content, strip out the “chaff” and pull all the real content in.

  2. Sine Thiem

    Awesome post. By far the best I’ve found.
    The only trouble I encountered was importing the blog. I ended up having to go to WordPress.com as an in between step (my server kept timing out on self-hosted). Once I had it on .com, I exported smaller batches of just posts by date range so as to keep the files small enough. After enough of those import/export exercises I finally had migrated all my posts.
    Anyway, thank you so much for this tutorial. I wish I’d known the part about the Hosts file before starting, as I did all of this while live on the new blog and got into 2 days worth of deep trouble. Thank you for helping me clean it up!

    1. Ryan Sullivan

      Woot! Glad that worked out for you, Sine! Clever hack to use WordPress.com’s more powerful servers to do the initial import 🙂

  3. Clynn

    Thank you so much for your excellent post! My upcoming migration is long over due. My blog with a custom domain at Blogger is over 2,000 pages at this point. I have a couple of questions.

    1.) In order to have a highly customized template at Google/Blogger, I still use Classic template. I believe as a starting point (when you export) the format needs to be in New Blogger or the WordPress import tool won’t understand it.

    2.) I notice there are two ways for the “final steps” (Disabling Your Blogger Blog The Correct Way) to be carried out, one via New Blogger and the other via Classic template. The person refers to it here (https://www.bloggingbook.net/migrate-from-blogger-to-wordpress-without-losing-traffic-and-rank-ultimate-guide-with-images/)

    3.) I need to make this move once and for all because after this I will be moving to HTTPS. Currently, I have “www.domain.com” and “blog.domain.com” (the latter being the Google Blog). As you know, Blogger does not offer HTTPS for custom domains at this point. Even if they did, the steps I would need to take (export-mass-search-and-replace-re-import-broken-url-nightmare) are as painful as a migration to WP anyway.

    So for the sake of moving forward (HTTPS and beyond) I should migrate the blog to WP first. Then, I guess Step 2 is revisited, and that forwarder adds the “s”.

    So, just in case you had some thoughts about these areas or any other tips!

  4. caroline

    Sir, after i migrate my blog from blogger to self hosted wordpress, hosting by namecheap..after migrate all my blog post image not show in wordpress. can you please help me how to fix this? my website is healthcertified2k.com

  5. Dhiyanesh

    Hello, I used blogger importer plugin to migrate content into wordpress. However, the problem is that the migrated posts have new URLs (taken from the title of the posts). How can I overcome this error, since I need the exact previous URLs to retain traffic. Before migrating, I did edit the permalink structure of the wordpress to look like that of blogger as well. Please help me.

  6. Fixmansion

    Wow!! You are great man!! I am a pro on blogger and I just decided to move one of my blogs to wordpress. I followed your tutorials steps by step and it paid off for me. I just migrated from blogger to wordpress using an Android phone. Thanks for the tutorial… Great job

  7. Abbey

    I’m hoping you can help me with the step I’m stuck on! I’ve tried using the Import Blogger plugin repeatedly, and I keep getting the error message, “File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.” I’ve checked the file and it is 25MB, with a max limit of 64MB allowed in the plugin, and definitely not empty. I am not at all savvy enough to find my php files and correct whatever that error is. Have you heard of this issue? I’m hoping it’s an easy fix, I just need someone to walk me through it. Thanks!

  8. Pelin

    Hi Ryan,
    Great info thank you.
    My question is about the info you gave regarding images “still remaing at blogger database” after using an import tool.
    I used the Blogger Import Extended plugin and imported all my posts, comments, images, pages successfully to my new WP site. After the import don’t all my images actually get transferred to the WP database ? I am confused about this statement. I think I saw all of these image files already in my new WP database.
    Thank you again for the great article.
    Pelin

  9. Crystal Le

    I’m in the same boat here along with many other people it seems. I messed up on getting my photos over and managed to lose all of my SEO. Are there any services you recommend to rectify my nightmare of migration from blogger to wordpress?

  10. Eamonn

    Blogger Extended will not work for me. I’m getting this error;

    1. The importer has stopped unexpectedly!
    But… don’t worry! It will restart automatically in 175 seconds.

    2. cURL error 28: Operation timed out after 1000 milliseconds with 0 bytes received

    After the 178 seconds (?) it does the same thing again 🙁

  11. Sid

    Hi Ryan,

    I’m clutching at straws here, so hoping that you can help.
    The Blogger xml file was about 42Mb – so I had BlueHost increase it to 64Mb. But ever since that happened, when I run the Blogger Import tool, the upload goes to 100% alright. However, the next step – where you get to choose the authors – that never appears. All I get is the heading that says ‘Import Blogger’. I’ve tried on different browsers, different laptops – no go.

    And I can’t move forward. Spoke to Bluehost, who said they’ll look into it, but no go since that.
    I tried a smaller test xml file form an old blogger id that I had, and that uploads fine. So I reckon it has something to do with the time out or something. But of course, I’m not sure.

    Do you have any suggestions?
    Would really appreciate some help, if you could spare the time.

    1. Rajendra Zore

      Limitations of Resources on your Shared Server, which times out once the resources are overused while importing files more than the size defined to your slab on shared space.

      Since your comment is 2 months old, I assume that you have already migrated your blog 🙂

  12. Kathryn

    Thank you for this article! I still can’t seem to figure out how to get my images from blogger to wordpress, though. I used the blogger importer plugin, and while my posts showed up, my photos did not. Any thoughts? Thanks!

    1. Dinesh Nagar

      Same issue Kathryn
      please mail me if you solve the same issue
      nagar.dinesh95@gmail.com
      i tried many plugins and importers several time but still same issue
      let me know when you solved it

      1. Tigran Kuchatyan

        I use local server, can this be the reason why WordPress doesnt see the links of blogger images?

  13. John

    Hello buddy,
    Everything redirected well except comments:
    So that, pleases is there a regular expression to permanently redirect
    blogger format
    /year/month/post.html?showComment=1446973153074
    to WP format
    /post.html#Comment=75
    and How to?

    Thanks in advance..

  14. Erik Emanuelli

    Excellent guide, Ryan.
    This is very helpful for anyone who needs to make the Big Move, from Bloggers to WordPress.
    Thanks for sharing.

  15. Zee

    Hi Ryan,

    Hoping you can help as I have failed to find any other solution. I’ve tried importing from a custom domain blogger to a self hosted wp site using WordPresses Blogger Import, it lets me upload the file, seems to upload it but I then get a page that says Import Blogger with a button “submit” and then a page that says “All done. Have fun! Remember to update the passwords and roles of imported users.” But no posts have actually been uploaded.

    I tried using blogger import extended as it seems to be the recomended one, but when I click “start” this error pops up: “Failed to connect to http://www.yurifarina.com port 443: Connection timed out”

    Any suggestions would be most appreciated!

    1. Sid

      Hey Zee,
      Did you manage to get this sorted? I’m sort of stuck at the same spot.

      Thanks,
      Sid

    2. Dana

      I’ve had this same issue. Has anyone else found a solution? It looks like this and Blogger Import Extended don’t work with the latest version of wordpress.

      Thanks,
      Dana

  16. Aquif

    Hello, Thanks for the lovely article. But don’t you think even with Blogspot domain we can actually preserve SEO by adding rel=canonical tag to Blogger?

    1. Ryan Sullivan

      Hey Aquif, using rel=canonical across your entire domain is almost guaranteed to impact your rankings negatively. I’d definitely recommend using the method outlined in the article.

      1. Aquif

        Hi Ryan,
        Well I had no idea about that whatsoever. Will surely keep that in mind. Am sure there is definitely more for me to learn.

        However, I have couple of more questions. If someone is using Blogspot Subdomain for a while, naturally Google must have indexed his Blogspot domain.

        Now, when he adds custom domain, he may have to wait for Google to Re-index the New domain before he can move on with the method you suggested. Otherwise Google may mark all the custom domain posts as duplicate. Am I correct?

        Second, what I am doing is, using Blogger 301 redirect plugin. It adds rel=canonical tag along with 301 redirection to your custom domain. Even with this combination it will turn out to be negative? Or the combination will reduce the negative Impact?

  17. John

    A nice instruction and very comprehensive guide. Though, as for me, it still demands a certain learning curve on programming or coding. I would suggest to include a point or two on an automated migration review, something like cms2cms. Think it will be very helpful for non-tech users.

Leave a Reply

You have to agree to the comment policy.