I migrated from Drupal to WordPress over the weekend and everything appears to be complete now. I decided to switch to WordPress because my site does not require a full CMS and WordPress is, simply put, better for blogging and easier to manage in terms of updates (sorry, Drupal). I still love Drupal for sites that require a full CMS, but I’ve always loved WordPress for its ease-of-use and minimal overhead.
The theme is coming. It may or may not be in place when this post is published. Other features and pages are coming as well. They may not be in place for a few days or weeks.
All blog posts were moved from the old Drupal database to the new WordPress database, with Drupal “pages” discarded (I will be recreating a few pages, like the “About Me” page and others, but I’ve decided to do this manually). For those interested, I used two resources for the migration of the database content.
BigDump: Staggered MySQL Dump Importer: This little gem allowed me to avoid importing the old Drupal database via HTTP, which was great because the database was larger than 2MB and HTTP upload via phpMyAdmin was impossible.
Notes:
When following the steps on the database migration document, I decided not to drop any tables. I skipped the entire “Clean WordPress Before Import” section. On the first go, dropping the term_taxonomy table caused issues with the WordPress “Uncategorized” category. Recreating it didn’t help. I still saw a category named “1″ every time I added a new post to the blog. I decided to start over and not drop the tables, but I did delete all posts and comments (one of each is created when WordPress is first installed) via the WordPress admin section.
I skipped the “Import Taxonomy Terms” section of the migration document. I wanted to create new categories anyway.
I skipped the “Post and Category Relations Query” section of the migration document. There was no need for this since I was not importing the categories.
I received an error when running the SQL in the “Category Count Updating” section. I ended up having to update the counts manually. This required looking at the comments table and figuring out which of them were associated with each post. Then I edited each post (via phpMyAdmin) and updated the comment count field. I had less than fifteen comments, so it didn’t matter much to me.
All comments must be approved after being imported (or at least they had to be approved on my site, which may or may not have been a result of modifying the steps taken during the migration). I did this using the WordPress admin section.
After the import of data, I went through and manually deleted pages that were not needed. I used the WordPress admin section to do this.
I created new categories and manually associated the posts with them. For a large site, this would have been a nightmare, but my site was fairly easy and took a short amount of time.
When dumping the old Drupal database to a .sql file (in preparation for importing it into the WordPress database), I did not select the option to add “drop table”. This would have wiped the WordPress database. Normally, you want this when dumping a Drupal database as a backup, because it saves you the step of dropping the tables in the database if you ever have to restore, but since I didn’t want to drop any tables in the WordPress database (and I’m about 90% sure it would have, but not positive), I unchecked this option.