Maintain permalinks moving from Blogger to WordPress
WordPress’s excellent import script for Blogger doesn’t use the original post slug—necessary for maintaining the permalinks of imported posts. Instead the importer creates new post slugs based on the post titles, which diverges notably from those generated by Blogger because:
- Blogger truncates the title much sooner than WordPress (less than 40 characters in length)
- Blogger excludes English article words (a, an, the)
- Blogger drops characters with accents, instead of converting them to their closest ASCII equivalent
So for example, a post title like:
Los viernes, música para tu iPod en iPod Noticias
gets dirified by Blogger as:
los-viernes-msica-para-tu-ipod-en-ipod
as compared to what WordPress produces:
los-viernes-musica-para-tu-ipod-en-ipod-noticias
How a title gets dirified is of little importance here. What is crucially important is that the permalink doesn’t change—an issue when moving from one platform to another. The average blogger probably doesn’t care about this too much—but there are some people (myself included) who wouldn’t want all the old links to our blog posts to break, especially when it comes to maintaining that precious PageRank™ (and findability).
When I moved from Blogger to WordPress 1.5, I managed to maintain the permalinks the hard way (just shy of updating every one by hand). These days, the importer is so good, practically all you have to do is click a link and sit back. I wanted the same to be true for the permalinks.
Instructions for WordPress 2.3
- Download and unzip wp-maintain-blogger-permalinks-1.0.zip (v1.0)
- Upload the file wp-maintain-blogger-permalinks.php to your plugins directory:
/path/to/wordpress/wp-content/plugins - Activate the plugin (don’t forget!)
- Under Manage > Maintain Blogger Permalinks click the button that says Maintain Blogger Permalinks
- That’s all. You can deactivate and delete the plugin if you like.
- If you don’t mind your WordPress permalinks ending in .html (like Blogger does), just go to Options > Permalinks, select Custom, and enter the following:
/%year%/%monthnum%/%postname%.html
…and you’re done.
- If you’d prefer your WordPress permalinks not ending in .html, but of course want to make sure the old .html links still resolve, go to Options > Permalinks, select Custom, and enter the following:
/%year%/%monthnum%/%postname%/
…then add this to the top of your .htaccess file:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html$ $1/$2/$3/ [QSA,R=301,L] </IfModule>…and you’re done.
That’s it. As always, if you’ve got questions, please feel free to leave a comment.


Well, am I really the first one to comment, or is this just the weird design?
Anyway, tried everything perfectly, and all I am getting is errors about unexpected [ in pragma. any help?
BTW, I guess this will help me to maintain links to my own posts, right? I mean, if I had a link to http://yuvipanda.blogspot.com/somepermalink, and I import it to wp, I get it as http://blog.yuvisense.net/samepost, right?
Any help? While I am no no-programmin-allowed guy, I am certainly a noob in PHP, so, please help:D