How to Migrate from Drupal to WordPress: Tips for Switching Content Management Systems
Drupal to WordPress Migration
Before jumping into the nuts and bolts of migrating Drupal over to WordPress, let’s establish a few basic ground rules:
-
If you’re in the middle of settling a domestic dispute, please resolve the crisis. You will not need a good chunk of time to complete this task, however, your undivided attention is requested. Estimated time: 60 minutes.
-
More important than a calm atmosphere: Do not attempt on a live server. Always make sure you have a backup of your current database (DB).
-
Be sure you have two databases set up. One named WordPress and another titled, you guessed it, Drupal.
On to the good stuff…
~ The following is a list of SQL sequences you’ll need to conduct in order to complete a Drupal to WordPress migration.
Step 1 - Remove all WordPress content
Now you know why it’s imperative to backup your DB. If you’re having doubts about this whole migration thing, well, refer back to your original installation and no one is left holding the bag.
The example below assumes you have an average working knowledge of SQL and database management. Even for novice users, these are simple SQL queries. (Click any image for a larger view.)
Ba da bing! Your DB should be cleaner than the Smithsonian.
Step 2 - Category creation and setup
It doesn’t matter how many categories you plan to create. Use the following script and you’ll be fine.
Sometimes the categories won’t appear automatically. Chances are you have cached variables in the server or DB.
- Use the following SQL to flush the Wordpress cache:
DELETE FROM wp_options WHERE option_name = ‘category_children’;
- Restart your server or use the following PHP command to flush variables:
unset($GLOBALS[’wp_object_cache’]);
Step 3 - Don’t forget about Taxonomies
This is a fairly simple task. Never heard of such a word? Well, just think of grouping and assigning different characteristics to various posts. Even though Wordpress has some built in taxonomies, you’ll need to run the following sequence in building a custom installation.
Step 4 - Migrate posts & pages
This query should import everything cleanly. However, this does not turn articles into posts…see Step 5.
Step 5 - Post creation & category alignment
Look at the following script(s) carefully. It’s important you notice which posts are being aligned and how they are being designated. Articles in the previous step will be converted to posts and the post / category alignment will be established:
Post creation -
Category alignment -
Step 6 - Create category count
Probably the easiest of all steps. Use the following query and you won’t have to change around any of the syntax details.
Step 7 - Comments, comments, comments
This process is similar to importing and updating categories. Don’t forget to update the counts…after importing of course.
Import -
Update counts -
Step 8 - Finalize post content
Fix all images and post breaks. Thankfully, there’s an easy way to do this. Use the following sequences to fix 1.) breaks, and, 2.) images.
Breaks -
Images -
Go back and check for any errors in the posts, categories or pages - anything you might need to check before moving on. This should go without saying.
Always do a double take before deleting any existing tables.
If all eight steps have been executed, you should be able to delete the old Drupal database and work solely from your new WordPress installation.