Redirecting from Blogger to WordPress

I recently migrated my Dad's blog from Blogger to WordPress.

To transfer the content, I used Andy Skelton's import tool, which seems to have worked perfectly, especially when combined with Catstutorials' illustrated guide. Many thanks to both of these.

I managed to find a way to get Blogger to redirect to the correct post on the new WordPress site. Here is how I did it.

First, I made a backup of the Blogger template.

Second, replace the Blogger template with this (you'll need to change this to match your domain):

<html>
<Blogger>
<MainOrArchivePage>
<script language="javascript">
    var blog_root="http://www.yourdomain.com/blog/";
    document.location.href=blog_root;
</script>
</MainOrArchivePage>
<ItemPage>
<script language="javascript">
    var process_page="http://www.yourdomain.com/from_blogger.php";
    var newpage=process_page;
    var oldlink="<$BlogItemPermalinkUrl$>";
    newpage+="?p="+oldlink;
    newpage=newpage.toLowerCase();
    document.location.href=newpage;
</script>
</ItemPage>
</Blogger>
</html>

And then put the following PHP file into www.yourdomain.com/from_blogger.php:

require($_SERVER['DOCUMENT_ROOT'].'/blog/wp-blog-header.php');
$title = $_GET['p'];
$vars = explode('/', $title);
$num = count($vars) – 1;
$filename = $vars[$num];
$slug = str_replace(".html", "", $filename);
$SQL = "SELECT posts.* FROM $wpdb->posts AS posts WHERE posts.post_name = '$slug' LIMIT 1";
$posts = $wpdb->get_results("$SQL"); if ($posts)
    { foreach ($posts as $post) {
        $found_link = = get_permalink($post->ID); }
    } else {
        $found_link = "http://www.yourdomain.com/blog/";
    }
header("Location: $found_link");

It works for me …

Update: thanks to Tom Sherman for correcting my typo. 

9 comments on “Redirecting from Blogger to WordPress”

Have your say:

 

Get by email
Read these instead