From Movable Type to WordPress

I’ve used a variety of blogging tools over the years. I think I started with Livejournal, then used Blogger. A few years back, I exported all my posts out of Blogger and imported them into MovableType which I’ve been using ever since.

A year ago a lot of people transitioned off of MovableType when they changed their licensing terms with the release of MovableType 3.0. Many people stuck with MovableType and made the upgrade to 3.0 and beyond, but I stayed put. Until recently, that is.

A couple of weeks ago I decided to install “WordPress”: because I was thinking about a blogging project that would force me to pay for a MovableType license. That project is still in limbo, but a couple of hours ago I finished the process of migrating my blog from MovableType to WordPress. This is my first post in WordPress.

The process was pretty painless, thanks in large part, I think, to all those people who made the switch before me and were kind enough to write about it. A lot of that learning is boiled down “on the WordPress wiki”:, which covers the basics of importing your posts and comments, and getting your feeds redirected so people don’t miss a post.

The best information I found wasn’t on the Wiki though, it was on a blog. Scott Yang has detailed information on what you can do to make sure that “links to your old MovableType pages still work with WordPress”: This is important for all the people who visit your site from seach engines and links on other people’s sites.

I wanted to go a little further though, I wanted to switch to a new URL naming scheme for my posts that uses the post title, rather than relying on the post ID# MovableType and WordPress generate. I also wanted to make sure the posts using the new URLs maintained the same search engine rank they originally had, which would require issuing permenant redirects to the new URLs when people and search engine spider’s visited the old URLs. I wrote Scott about it and he pointed me to another post announcing a “plugin he created to do permenent redirects”: It seems to work like a charm.

Update 8-21-06: I upgraded to WordPress 2.0 a while back, and a month or so later it finally sunk in that old MovableType-style URLs had reappeared in my javascript based traffic counter. When I investigated I realized that the redirect was no longer working, it was going to the WordPress 404 error page. It seemed to be an issue with a conflict between the new and much simplified mod_rewrite rules introduced by WP 2 for creating clean URLs and the rewrite rules I was using to redirect from the MT style URLs. After some poking around, I gave up and rolled back to the older .htaccess file with its more byzantine rules for clean WP URLs.

This week I started playing with WordPresses static pages feature, and was annoyed to find it didn’t work because it needed changes to the rewrite rules, so tonight I started experimenting again and figured out that I could get the redirects for MovableType-style URLs working with the simpler but more flexible ruleset for clean URLs if I modified them to “break” after a match by adding the “L” flag to each of them.

RewriteRule ^archives/([0-9]{6}).html$ index.php?p=$1 [R=301,QSA,L]
RewriteRule ^archives/([0-9]{4})_([0-9]{2}).html$ index.php?m=$1$2 [QSA,L]
RewriteRule ^index.rdf$ index.php?feed=rdf [R=301,L]
RewriteRule ^index.xml$ index.php?feed=rss2 [R=301,L]
RewriteRule ^atom.xml$ index.php?feed=atom [R=301,L]

Leave a Reply

Your email address will not be published. Required fields are marked *