How to Successfully Transfer Your Blog to WordPress from Blogger

In my first year as a blog designer (back in 2014), I worked on a handful of blogger sites. My clients wanted to move away from Blogger. As I built the shop, I figured that Blogger themes would eventually become obsolete, or at least not have the same market as WordPress themes. As of February 2017, more than 25% of the top 10 million websites use WordPress as their CMS (source).

How to Successfully Transfer Your Blogger Blog to WordPress without Losing SEO, Blogger WordPress Transfer

Blogger or WordPress, and Why Bloggers Choose WordPress

Blogger and WordPress are designed for bloggers primarily. Over the years, WordPress has emerged as the more preferred platform due to its unlimited potential and features. On the other hand, Blogger is a free platform solution for someone just starting out. You can have a free domain (yourdomain.blogpost.com) and hosting. With Blogger, you are renting your site from Google.

The Best Blogging Platform: Blogger or WordPress

Before You Transfer

Since Blogger is a different CMS system than WordPress, it’s important to understand the difference before you start the process. When you are doing a Blogger to WordPress transfer, you are moving your content – blog post text and images. You are not moving the design. As a result, you should have your new theme selected before you start the process. When you do a transfer, Blogger sites, unfortunately, tend to bring over extra formatting in the posts. You can move all of your content automatically, but manual clean-ups might be required. Out of hundreds of transfers I have completed, most of my clients don’t clean up past posts.

With this tutorial, you will learn how to move your blog from Blogger to WordPress without losing any SEO or followers that you’ve established with your blog.

What You Need

To start the transfer, you will need the following:

  • WordPress Hosting Account through a third-party provider like SiteGround
  • Domain Registrar Login Details
  • New WordPress Theme

Blogger WordPress Transfer

  1. Before you begin, export a version of your Blogger blog. Go to SETTINGS < OTHER. Select BACKUP CONTENT.
  2. In your Blogger dashboard, go to SETTINGS < BASIC. Under BLOG ADDRESS, delete the custom domain. Your blog should then be yourdomain.blogspot.com.
  3. Log in to your Domain Registrar. Change your DNS records from Google to your hosting account. Your hosting account will provide you with your nameservers, such as ns1.siteground.com and ns2.siteground.com. Once you change your DNS records, it can take 15 minutes to four hours for the changes to propagate.
  4. Using 1-click install through your hosting provider, install WordPress with your new host.
  5. Under SETTINGS < PERMALINKS, change your permalink structure to match that of your blogger blog. Typically, this structure is the custom format with year and month as well as .html at the end. Preserving this structure will maintain your SEO.
  6. Under SETTINGS < DISCUSSION, make sure that none of your comments are capped to close or end after a certain number of comments.
  7. If at this point, you want to put up a temporary landing page as you are working on the dashboard, this blog post shows you how to do it!
  8. Then, you will need to degrade WordPress to use Blogger Importer Extended manually. Degrade WordPress to a version such as 4.5.3.
  9. Install and activate Blogger Importer Extended. Go to the plugin settings, and connect it to your Blogger account. The Plugin will import all of your posts, pages, comments, media, and links. This process can take up to 30 minutes to run. Hence, why I suggest the landing page.

Setting Up Redirects

  1. Once all of your content is imported, it’s time to setup redirection. Login to your Blogger dashboard, and go to TEMPLATE. Select the link that says REVERT TO CLASSIC TEMPLATE. Enter the following code. Replace example.com with your domain name:
    <html>
     <head>
      <title><$BlogPageTitle$></title>
    
       <script>
        <MainOrArchivePage>
        window.location.href="http://example.com/"
        </MainOrArchivePage>
        <Blogger>
         <ItemPage>
         window.location.href="http://example.com/?blogger=<$BlogItemPermalinkURL$>"
         </ItemPage>
        </Blogger>
       </script>
    
       <MainPage>
       <link rel="canonical" href="http://example.com/" />
       </MainPage>
    
       <Blogger>
        <ItemPage>
        <link rel="canonical" href="http://example.com/?blogger=<$BlogItemPermalinkURL$>" />
        </ItemPage>
       </Blogger>
     </head>
    
     <body>
      <MainOrArchivePage>
       <h1><a href="http://example.com/"><$BlogTitle$></a></h1>
      </MainOrArchivePage>
      <Blogger>
       <ItemPage>
        <h1><a href="http://example.com/?blogger=<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a></h1>
        <$BlogItemBody$>
       </ItemPage>
      </Blogger>
     </body>
    </html>
  2. Finally, access the functions.php file of your WordPress theme, and enter the following code:
    function blogger_query_vars_filter( $vars ) {
      $vars[] = "blogger";
      return $vars;
    }
     
    add_filter('query_vars', 'blogger_query_vars_filter');
     
    function blogger_template_redirect() {
      global $wp_query;
      $blogger = $wp_query->query_vars['blogger'];
      if ( isset ( $blogger ) ) {
        wp_redirect( get_wordpress_url ( $blogger ) , 301 );
        exit;
      }
    }
     
    add_action( 'template_redirect', 'blogger_template_redirect' );
     
    function get_wordpress_url($blogger) {
      if ( preg_match('@^(?:https?://)?([^/]+)(.*)@i', $blogger, $url_parts) ) {
        $query = new WP_Query ( 
          array ( "meta_key" => "blogger_permalink", "meta_value" => $url_parts[2] ) );
        if ($query->have_posts()) { 
          $query->the_post();
          $url = get_permalink(); 
        } 
        wp_reset_postdata(); 
      } 
      return $url ? $url : home_url();
    }
  3. When anyone visits your post on Blogger, it will redirect to the same post on WordPress!
  4. Redirecting Feeds: To redirect your feeds, go to SETTINGS < OTHER. Under the SITE FEED section, select ADD LINK next to POST FEED REDIRECT URL. Enter your new WordPress site’s feed address, usually something like yourdomain.com/feed. Secondly, login to Bloglovin and submit a ticket to them with your updated FEED URL. They will update your site, so you don’t lose followers.

Importing All Images & Content Clean-Up

  1.  I like using Blogger Importer Extended because it often gets all the images imported. In case your images don’t move over, you can use IMPORT EXTERNAL IMAGES. Run the plugin to import all images, and you should be set.
  2. Cleaning Up Content: In the individual post, you might get some extra divs and spans. To delete formatting of the post, click the eraser in the Visual editor. It might mess up your images, so you potentially need to remove them from the post and add them back. You don’t need to delete them from the media library, just add them into the post again.
  3. Once you are ready to reveal your site, you can remove the landing page! All the redirects should be preserved!

Other Helpful Posts

When you are switching CMS systems, there’s a natural learning curve. You’ve become accustomed to doing things one way. Just remember that things will take time at first, but it will become easier after a while.

If you are new to WordPress, you might find these posts helpful:

If you have any questions about the process, leave a comment below!

  • Meet Lindsay Humes

    Hi! I’m the designer and owner behind White Oak Creative. I partner with creative entrepreneurs, lifestyle publishers and content creators to design the best brand identity to grow their audience and brand. My blog is full of resources on Branding, WordPress, SEO, and more!

    Subscribe to the Design to Grow Newsletter

    One thought on “How to Successfully Transfer Your Blog to WordPress from Blogger

    Leave a Reply

    Your email address will not be published. Required fields are marked *