I’m fully switched over from MovableType to WordPress. First, for those curious: I am not switching because I have a problem with MovableType. I merely switched because I’d heard good things about WordPress and wanted to try it out. So if you’re looking for validation of one being better than the other, you won’t find it here!
Also, there were a couple tricks to migrating everything over. They were:
- FeedBurner migration issues using the FeedSmith plugin
- FeedBurner wouldn’t accept my new RSS feed
- Preserving links from the old MovableType system
FeedSmith Woes
The first problem was switching my FeedBurner account over. WordPress has a plugin called FeedSmith that is supposed to make it trivial, but it wasn’t actually redirecting my RSS feed like I expected. It turns out I had to change my permalink settings and then the change took place. So that tripped me up a bit.
It was also not clear from the FeedSmith/WordPress integration documentation how the plugin works. I finally figured out, through some trial and error, that it basically redirects the RSS URLs in WordPress (ie: /feed/) to the specified FeedBurner URL for all requests EXCEPT for those from FeedBurner, which of course is required to avoid circular logic.
FeedBurner choking on my RSS feed
Once I figured out what the plugin was supposed to do, I then tried to configure FeedBurner to point to my new WordPress installation. I had already imported my MovableType content, which worked perfectly. However, FeedBurner would not accept the new URL and instead was complaining that there was an invalid UTF-8 character.
It turns out that one of my posts from MovableType had a special character that was giving FeedBurner some grief once it had been moved to WordPress. I figured out which one it was with trial and error: I simply changed my WordPress settings to have 1, 2, 3, etc posts in the RSS feed until FeedBurner started complaining about the feed. Then I just deleted that feed as a quick fix.
Preserving MovableType links
Once I had everything else done, i wanted to preserve my old MovableType links so that search results and blog entries wouldn’t be broken. Fortunately there were two articles I found that greatly assisted with this process. The second link was especially useful, though I had to do a few things differently.
The first step was to get get the original MovableType directories to have a wildcard redirect (I believe using mod_rewrite, but my ISP did this part) such that /my_mt_blog/* redirected to /my_wp_blog/* where the wildcard pattern was preserved. For example, this URL:
http://blogs.opensymphony.com/plightbo/2008/02/selenium_users_meetup_next_wee.html
Redirects to this:
http://lightbody.net/blog/2008/02/selenium_users_meetup_next_wee.html
Once that was done, then I needed to configure WordPress to use the “Month + Name” permalink settings, with a small modification: I needed to use “.html” as the postfix instead of “/” like WordPress defaults to.
At this point, just about everything was working except for two final problems:
- MovableType links used underscores (”_”) in the URL whereas WordPress uses dashes (”-”)
- MovableType links are truncated to 30 characters whereas WordPress do not appear to have such a restriction
In the blog post I referenced, there was a tip to use the Underscore Plugin for WordPress along with a special mySQL statement to truncate the post names. I found I could skip the plugin and just run the following:
UPDATE wp_posts SET post_name = SUBSTRING(post_name,1,30);
UPDATE wp_posts SET post_name = SUBSTRING(post_name,1,29) WHERE post_name LIKE '%-';
UPDATE wp_posts SET post_name = REPLACE(post_name, '-', '_');
This truncates the imported posts to 30 characters and, for those that ended in a space or special character, to 29. It also replaces dashes with underscores. The end result is that my imported posts have the same URL as they had in MovableType. That’s it!