Saturday, December 7, 2013

An easy way to convert Blogger to WordPress

You posting in Blogger (for example: eviltek.blogspot.com) or Blogspot network. Finding way to move WordPress (self-hosting). If you wish to migrate Blogger to WordPress with no lose of  website visitor or connect email subscription.


WordPress has two service that is WordPress.org & WordPress.com, and both are different to each other. WordPress.org is a self hosting whereas WordPress.com is much similar to blogger. In WordPress.Org, we have to host website in hosting provider (example: Hostgator). Blogger and WordPress allows importing and exporting of blogs. 

But exporting of Blogspot post as well as comment to Blogger losses organic visitor in search engine, as permalink changes. Visitor lands in website through search engine, bookmarks, shared post, email subscription (RSS). Follow below steps to convert Blogger to WordPress (self hosted).


  • Before transfer all blog post to WordPress, have a backup of website and article. Book a brand domain name (it is better in .com)
  • Launch WordPress.org>download package and install to hosting service. complete necessary steps in WordPress.
  •  Now Go-to admin page>tools>imports, this option enables to migrate blogger to WordPress (post, comment are transferred to WordPress)
  • Open WordPress Theme editor in settings>Appearance option> click on .php file, WordPress uses .php format. either you can upload own theme or else you can add own theme. 
  • Place below given code in your .php file, save changes after re-designing website.


  1. <?php
  2.  
  3. function labnol_blogger_query_vars_filter( $vars ) {
  4. $vars[] = "blogger";
  5. return $vars;
  6. }
  7.  
  8. add_filter('query_vars', 'labnol_blogger_query_vars_filter');
  9.  
  10. function labnol_blogger_template_redirect() {
  11. global $wp_query;
  12. $blogger = $wp_query->query_vars['blogger'];
  13. if ( isset ( $blogger ) ) {
  14. wp_redirect( labnol_get_wordpress_url ( $blogger ) , 301 );
  15. exit;
  16. }
  17. }
  18.  
  19. add_action( 'template_redirect', 'labnol_blogger_template_redirect' );
  20.  
  21. function labnol_get_wordpress_url($blogger_slug) {
  22. global $wpdb;
  23. if ( preg_match('@^(?:https?://)?([^/]+)(.*)@i', $blogger_slug, $matches) ) {
  24. $q = "SELECT guid FROM $wpdb->posts LEFT JOIN $wpdb->postmeta
  25. ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
  26. WHERE $wpdb->postmeta.meta_key='blogger_permalink'
  27. AND $wpdb->postmeta.meta_value='$matches[2]'";
  28. $wp_url = $wpdb->get_var($q);
  29. }
  30. return $wp_url ? $wp_url : home_url();
  31. }
  32.  
  33. ?>

  •          Sign-in to Blogspot or Blogger, Under template> select revert to classic which converts XML-based to Tag based templates
  • Paste following code in template editor before doing any changes to WordPress URL. Replace example.com with your website domain name. save changes you done!


  1. <html>

  2. <head>

  3. <title><$BlogPageTitle$></title>

  4. <script>

  5. <MainOrArchivePage>

  6. window.location.href='http://example.com/'

  7. </MainOrArchivePage>

  8. <Blogger> <ItemPage>

  9. window.location.href='http://example.com/?q=<$BlogItemPermalinkURL$>'

  10. </ItemPage> </Blogger>

  11. </script>

  12. <MainPage>

  13. <link rel="canonical" href="http://example.com/" />

  14. </MainPage>

  15. <Blogger><ItemPage>

  16. <link rel="canonical" href="http://labnol.org/?blogger=<$BlogItemPermalinkURL$>" />

  17. </ItemPage></Blogger>

  18. </head>

  19. <body>

  20. <MainOrArchivePage>

  21. <h1><a href="http://example.com"><$BlogTitle$></a></h1>

  22. </MainOrArchivePage>

  23. <Blogger><ItemPage>

  24. <h1>

  25. <a href="http://example.com/?blogger=<$BlogItemPermalinkURL$>">

  26. <$BlogItemTitle$>

  27. </a>

  28. </h1>

  29. <$BlogItemBody$>

  30. </ItemPage></Blogger>

  31. </body>

  32. </html>
By completing above steps, we are almost done, now opening any blogger page must redirect to WordPress page. As 301 re-directing, transferring Blogger to WordPress doesn't cause any changes in page rank. Above tricks also works in Blogspot.co.uk as well as Blogspot.in domain name. This Blogger Imports tools migrates posts and comment only, but not images. Images works fine as image URL is migrated from Blogger.


No comments:

Post a Comment