Maintain permalinks importing from Blogger into WordPress

WordPress logoThe WordPress importer for Blogger doesn’t use the already published post “slug”—which is necessary for maintaining the permalinks (aka the URLs) of imported posts. Instead the importer generates brand new permalinks based on the post titles, using rules that diverge notably from those used by Blogger:

  • 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 Update: For the record, Blogger now transforms some accented characters into their ASCII equivalents, but it didn’t used to

So for example, a post title like:

Los viernes, música para tu iPod en iPod Noticias

gets transformed by Blogger into:

los-viernes-msica-para-tu-ipod-en-ipod

whereas WordPress produces:

los-viernes-musica-para-tu-ipod-en-ipod-noticias

How a title gets transformed into a permalink (aka “dirified”) is of little importance here. What is crucially important is that the permalink doesn’t change—an issue when moving from one blogging 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 existing links to our blog posts out there on the internet to break, especially when it comes to maintaining that precious PageRank™ (and findability).

When I moved from Blogger to WordPress 1.5 in 2005, 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.

Update: A number of people have sent me emails or left comments about troubles they’ve had with the Blogger Importer. Oftentimes it only seems to import a fraction of their blog posts and comments. In which case, they revert to Plan B: download an Atom-based export of their Blogger posts and comments, transform it into a WXR file (aka WordPress eXtended RSS), and then import it into WordPress using the WordPress importer. This solves the import problem, but tragically it leaves behind the crucial metadata necessary to update the WordPress permalinks to their Blogger equivalents. However, all is not lost. Since version 2.0, my plugin will now generate best-effort, Blogger-like permalinks if it can’t find the crucial Blogger permalink metadata.

Instructions

  1. First, import your posts using the Blogger Importer or via a WXR file.
  2. Download and unzip wp-maintain-blogger-permalinks-2.1.zip (v2.1)
  3. Upload the file maintain-blogger-permalinks.php to your plugins directory:

    /path/to/wordpress/wp-content/plugins

  4. Activate the plugin (don’t forget!)
  5. Under Tools > Maintain Blogger Permalinks click the button that says “Maintain Blogger Permalinks”. And that’s all. This is a one-time-use-only plugin. All your permalinks have been reverted to their Blogger versions.
  6. Deactivate and delete maintain-blogger-permalinks.php
  7. If you haven’t already, go to Settings > Permalinks and select “Month and name”
  8. Finally, install the Blogger 301 Redirect plugin and follow its instructions to redirect your old Blogger posts to their new WordPress locations.
  9. For other Blogger-specific import issues, check out DB Nguyen’s excellent guide: Moving from Blogger to WordPress Without Losing Page Rank or Followers.

Questions, comments, and suggestions are always welcome. If you’re interested in contributing to the code behind Maintain Blogger Permalinks, it’s hosted on GitHub.

Feel free to if you found this useful.