Youur blog (abc.blogspot.com) is hosted on Blogger and you would now like to move the blog from Blogger to WordPress (self-hosted) with a personal domain name like abc.com. What is the easiest way to switch from Blogger to WordPress without losing Google search traffic, page rank and your existing feed subscribers?
WordPress provides an easy one-click option for importing blog posts and reader comments from Blogger into a new WordPress blog but there’s more to migration than just transferring content. For instance:
Some of your articles on the old blogspot blog could be ranking very high in search engines for certain keywords but once you move these articles to a new WordPress blog, you will lose the organic search traffic since the permalinks (or URLs) of your blog posts will change.
People come to your blog through search engines, browser bookmarks and referrals from other web sites that have linked to your blog pages. If you migrate to WordPress, Blogger will not automatically redirect these visitors to your new website.
When you switch from Blogger to WordPress, existing readers who are subscribed to your Blogger RSS Feed may be lost forever if they don’t manually subscribe to your new WordPress feed address (and most won’t).
The Importer tool available inside WordPress will only transfer content from Blogger to WordPress but if would also like to take care of the various issues listed above, follow this step-by-step tutorial. It takes less than 5 minutes to complete and you’ll also be able to transfer all the Google Juice from the old blogspot.com address to your new WordPress blog.
How to Move your Blog from Blogger to WordPress
Before you start the migration, it may be a good idea to backup your Blogger blog including the XML template, blog posts and comments just to be on the safe side.
If you need assistance with the Blogger to WordPress migration, please get in touch with me using the contact form at ctrlq.org. This is a paid option.
Register a new web domain, buy web hosting and install WordPress on your new domain.
Open your WordPress Admin Dashboard and under Tools -> Import, select the Blogger* option. Authorize WordPress to access your Blogger Account, select your blogspot.com blog and within minutes, all your Blogger blog posts and comments will be available on the new WordPress site.
Open the WordPress themes editor under Appearance -> Editor and open the functions.php file for editing. Most WordPress themes include a functions.php file or you can upload it manually into your WordPress themes folder through cPanel or FTP. Copy-paste the following snippet of code inside your functions.php file (at the beginning of the file) and click the “Update File” button to save your changes.
<?php
function labnol_blogger_query_vars_filter( $vars ) {
$vars[] = "blogger";
return $vars;
}
add_filter('query_vars', 'labnol_blogger_query_vars_filter');
function labnol_blogger_template_redirect() {
global $wp_query;
$blogger = $wp_query->query_vars['blogger'];
if ( isset ( $blogger ) ) {
wp_redirect( labnol_get_wordpress_url ( $blogger ) , 301 );
exit;
}
}
add_action( 'template_redirect', 'labnol_blogger_template_redirect' );
function labnol_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();
}
?>
- Open your Blogger Dashboard and choose Templates. Scroll down the templates page and choose the “Revert to Classic Templates” option to switch from the XML-based Blogger templates to the classic Tag based templates.
- Copy-paste the following snippet into your Blogger template editor but before you do that, replace all occurrences of labnol.org with your new WordPress site URL. For instance, if your WordPress site is located at example.com, replace labnol.org with example.com and paste the modified snippet in the Blogger template editor. Save the changes.
<html>
<head>
<title><$BlogPageTitle$></title>
<script>
<MainOrArchivePage>
window.location.href="http://labnol.org/"
</MainOrArchivePage>
<Blogger><ItemPage>
window.location.href="http://labnol.org/?blogger=<$BlogItemPermalinkURL$>"
</ItemPage></Blogger>
</script>
<MainPage>
<link rel="canonical" href="http://labnol.org/" />
</MainPage>
<Blogger>
<ItemPage>
<link rel="canonical" href="http://labnol.org/?blogger=<$BlogItemPermalinkURL$>" />
</ItemPage>
</Blogger>
</head>
<body>
<MainOrArchivePage>
<h1><a href="http://labnol.org/"><$BlogTitle$></a></h1>
</MainOrArchivePage>
<Blogger>
<ItemPage>
<h1><a href="http://labnol.org/?blogger=<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a></h1>
<$BlogItemBody$>
</ItemPage>
</Blogger>
</body>
</html>
We are almost done. Open any page on your old Blogger blog and it should redirect you to the corresponding WordPress page. We are using a permanent 301 redirect on the WordPress side and therefore all the Google Juice and PageRank should pass to your new WordPress pages. (video)
The above method works for regular blogspot.com URLs and also country-specific Blogger domains like blogspot.co.uk, blogspot.com.au or blogspot.in.
The Blogger Import tool moves only posts and comments from Blogger to WordPress but not images. And that should be fine because the image URLs in your imported WordPress posts are still pointing to blogspot.com (where the images were originally hosted) and therefore nothing would break.
Also See: Move Blogger on Custom Domain to WordPress
Switch RSS Feed from Blogger to WordPress
When you move from Blogger to WordPress, the URL of your RSS feed will change as well. Go to Blogger -> Settings -> Other and choose Post Feed Redirect URL under Site Feed. 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.
If you are using FeedBurner, just replace the source from Blogger RSS feed to your new WordPress feed.