Migrating from Movable Type to WordPress
So… I’ve been working on setting up my blog in WordPress for a while now. I actually got a working recreation of my blog done about a year ago, but held off actually migrating things due to a ton of technical issues/concerns. Since I scoured the web looking for resources on how to make the transition… it seems only right to recount my own experiences, in case someone else comes a-looking.
First off – I had/have a massive blog. I’ve been making posts since July of 2002, and I’ve accrued a good number of posts. A lot of the entries I made back in the day were short and sweet – sometimes I’d make multiple posts each evening. As a result, I built up quite a few entries. All told, I had about 7,177 entries to move over.
My main concerns were:
Since I’ve had links out and about on the web for over nine years, I didn’t want to lose them. Search engines have indexed them, and I’d hate to have to rename everything and lose all that “work,” so to speak.
Here’s the thing: I had Movable Type set up to create a link based on the title, but it would truncate anything longer than about 16 characters. MT also ended up going with underscores.
When I first imported a set of blog entries to WordPress, I saw that WP created new links based on the title. However… WP used the entire title, and also went with dashes as opposed to underscores. Trying to figure out how to import all 7,000+ entries and maintain their permalinks was a tough challenge.
I posted this question to Ask MetaFilter a long while ago (nearly two years). So this blog migration thing has been some time in the making.
I never found a good solution to the problem. In digging around online, I found a guide written by Jennette Fulda which hit all the right notes. Unfortunately though… the plugin she recommended (Simone Carletti’s MT to WP Importer Utilities) only worked with versions of WP less than 3.0.
Here’s what ended up saving my bacon – Robin Dalton’s MT to WP Importer. It somehow, magically pulled in all my MT entries, and spit them out in WP so that they used the original permalink structures.
I’m sure there are a few broken things here and there, but for the most part… I’d say about 99% of my “old” links are back up. After a long delay, I found myself staring at a nearly identical copy of my blog, sitting and waiting for me inside WP.
Another problem I ran into: the data I imported into WP took into account my hard returns, but not all of them. This led to nearly all of my entries being a bit off. I tried running some patterns, but couldn’t quite figure out how to get WP to recognize all the hard returns.
Again, Robin Dalton’s MT to WP Importer did the trick. Not only did his plugin help save my permalinks, it also took care of that single/double hard return issue. Amazing!
// Edit: On closer inspection, it looks like the plugin inserted two <br /> tags. Not ideal, but at least things are looking close to right. This is something I’ll need to revisit and clean up, at some future point…
I’m not sure why, but I had concerns that I wouldn’t be able to export out tag data with my entries. As I was migrating things over, I looked and saw it in my exported file. After pulling things in to WP, all my tags showed up – no muss, no fuss.
Not sure why I was so concerned, but apparently this was a non-issue.
This is a problem I brought upon my self, and it’s just something I’ll have to deal with later. When I first moved to Movable Type, I had come over from a home-rolled solution that I made myself. As a result, I had a lot of old entries all made on the same date.
This old approach didn’t involve timestamps, and as a result… I had a ton of posts in MT that showed the same date, and the same time (00:00:00). This would cause the previous/next nav buttons to sometimes choke in MT, and it’s something I’ve always wanted to fix.
Now that all the entries are in WordPress… I still have this problem, but it no longer borks the prev/next navigation. If there’s a day with multiple entries (with the same timestamp) and you hit “next,” you’ll end up going to the next day’s entry. Not a huge deal, but something I need to circle back to to clean up.
Whew. Well… there were a lot more twists and turns, but suffice it to say it’s been an interesting few days. I’ve gotten all my entries moved over, and have customized the looks of my home page, individual entry pages, archive pages, and search pages. I’ve also re-created a few sections:
Interesting sidenote: WordPress doesn’t actually physically create any files. So it became a bit of a challenge for me to re-create things like my Flash directory, which was a physical folder that had my .swf files. Furthermore, if I had a physical folder called “experiments” on the server, this would conflict with any pages I had within WP.
This left me with the trick of creating pages within WP that were housed under a certain folder, but then having to relocate any and all assets to a different location. I moved all my Flash files elsewhere, which mostly worked. A lesser known bit of tech trivia: Flash doesn’t take its cue from its location on the server, it takes its cue from the page where it’s being displayed.
Long story short, not only did I have to relocate my Flash files… I had to re-publish a few older projects, and specify a different path for assets (XML files, MP3’s, thumbnails, etc). Got a little hairy, but I think everything’s back in order.
All the old directories and files should be where they originally were. If you happen to notice anything amiss, I’d love it if you dropped me a line to let me know. I’ll be doing a bit more testing with IE in the next few days. For now, I’m testing purely on Macs (FF, Safari and Chrome).
Also – I’ve pulled over a few things you might not have known existed, on the old site. First off, I’ve implemented the Konami Code. I also made it a point to bring over the Adults Only section, where I’ve got a few albums’ worth of me, posing in some rather skimpy looking outfits.
Finally – one new addition I’m proud to show off is the calendar feature. It only shows up on individual posts, but it’s there in the sidebar. I used to have something like this, and I could never implement it on MT (it would hang, repeatedly). It’s nice to have that calendar nav again, although I’d prefer it if… when you selected a day with only one entry… it would show that entry automatically. Not sure how to pull that off yet, but that would be a nice feature to get working.
Ok – enough rambling. I’m tired, and delighted to be living in a new house, so to speak. I technically recreated everything I own, and built a copy of my old house in a new neighborhood… but hey, who’s counting? If I’ve done my job right, you shouldn’t notice much… if anything at all.
As always, feel free to dig around and explore. And if you find anything amiss, please holler.