Joining the Migration from Drupal to WordPress

After a couple of years using Drupal to manage this site’s content, I’ve joined the crowd and switched to WordPress. If you’ve ever managed a server-side application, you know that this type of move isn’t trivial.

For those who haven’t dealt with this, here’s the short story. The actual content on a “Web 2.0″ site (any blog, forum, wiki, or what have you) lives in a database, usually under the control of an immensely powerful open source application called MySQL. If you’ve spent more than a few minutes working with open source software, you know that “immensely powerful” usually means “pain in the ass.” Communing directly with MySQL is not a point-and-click experience. But commune with MySQL you must, if you want to retrieve your content and move it into a different application’s schema.

Fortunately, I found a script and instructions that made the process relatively painless. The script is one of those traveling hacks that gets picked up, modified, re-posted, then picked up and modified by someone else. Both Drupal and WordPress get updated regularly, and the updates inevitably change the incantations one must do to move data from one application to the other. Because I was moving from Drupal 5.9 to WordPress 2.6, even the most recent version of the script didn’t quite work for me out of the box.

Taking my usual hacksaw-and-duct-tape approach, I simply deleted the portions that didn’t work. That means my version moved all of the posts and comments to the new blog, but didn’t preserve any of their categories. Drupal’s ridiculous “taxonomy” system just isn’t easy to map onto WordPress’s much more rational categories and tags, and in any case the hard part of the move was getting the posts and comments over.

If you want to migrate from Drupal 5.9 to WordPress 2.6, but are having trouble getting D’Arcy’s script to work, and you understand and accept that mine may trash your data completely, you can try it. As usual, anything you’re foolish enough to download from comes without warranty of any kind.