Drupal-to-WordPress Migration (about the new site)

Welcome to the new site, I hope you enjoy the new features.

WordPress offers cleaner looks, and features better suited to VanillaReview. Image galleries should be a lot more fun to use and administer. It’ll be easier to have guest bloggers submit stories and pictures.

The old site is still available at old.vanillareview.com. Please paste the address manually into your browser. We moved and didn’t take the old site with us.

User accounts didn’t migrate well, so it’s necessary to register again at the updated site. I’m sorry about this, but all features should work without an account if that’s a huge inconvenience.

Articles below this post might have some broken links and images. I’ll do my best to weed those out ASAP. Comments will also be moved from the old site in due time. If you would like to re-post your own comments, by all means please do so.

I recorded some thoughts below.

About the migration…

I migrated FROM Drupal to WordPress, most people go the other way. It took so many hacks and tweaks to get Drupal to work for my site that it looked and felt hacky. Paths were junky, image upload and import was jankey, and it generally felt like a hacked-together monster. Backup was a nightmare.

I was stuck at version 5.x with the general gallery software — I couldn’t upgrade to 6.x without rebuilding all the image galleries. That wouldn’t be a huge problem, except that there really wasn’t an acceptable gallery option in Drupal. I tried integrating gallery2, but it looked ugly and didn’t suit my needs *at all*.

The final straw was when I tried out the BLOGAPI (XML-RPC) with Firescribe for Firefox. My hacked-together “workflow” draft/pending/published system didn’t work with BLOGAPI. All my posts went live imediatly rather than into the draft folder.

So I started looking at other CMS systems, again. I downloaded WordPress, Movable Type, and a clean install of Apachefriends XAMPP server. I quickly realized that Movable Type needs Perl, never mind.

WordPress is really clean. I had to download a dozen plugins to get it to do what I wanted, half as many as I ran on the Drupal site. WordPress uses about 30 MYSQL tables to Drupal’s 80.

The NextGEN image gallery plugin integrates really cleanly with WordPress, and it was a cinch to get galleries up once I figured out the system. It’s super professional with a flash uploader that puts most blogging software to shame. Files are stored in a logical directory structure that makes backup easy and future migrations (yeah, right) easier.

The whole thing is really clean out of the box, and maintained that feel once I got it customized for vanillareview.

I don’t like the lack of menu editors (widgets aren’t really the same). Drupal 5 had decent menu editing, and Drupal 6 has fantastic menu editing abilities.

I really hate: posts can be tagged and categorized, but pages can’t. I want to tag the vendor reviews, and put them in a review category so that all vendor reviews are located at /review/{name}, but I can’t do that. Instead vendor reviews are posts and show up as /{year}/ (currently /2008/).I set the dates to before the earliest posts so that they don’t show up in a cluster in the post content. In the future, I suppose they’ll just go in the flow of the site. In reality, this is a good thing because reviews might be repeated at a reasonable interval. None the less, it really eats me up inside.

Migrating content from Drupal to WordPress

WordPress has a great import engine that can load content from your other blogs. Except Drupal — why not have a BLOGAPI/XML-RPC import option, duh.

It can load RSS, but Drupal gives max 30 entries from the site RSS feed. I made a custom page using “views” in drupal to generate a RSS feed with all pages. I saved that to my desktop, and then imported that into WordPress. A few hours of cleanup later and it’s good to go.

I won’t be doing anything like this again — I’m stuck with WordPress for the forseeable future.

1 comment

  1. Thanks for the RSS migration method.

Comments are now closed.