Important: this module works under Drupal 4.7 only. There are some tweaks needed to be done under Drupal 5.x so the recommended path is to migrate under Drupal 4.7 and then upgrade to Drupal 5.0.
If anybody wants to grab this module and make it work under Drupal 5.0, I would be more than happy to link to the resulting work. Unfortunately, I don't have enough time or energy to do it myself.
Finally, working and well-tested migration utility that allows you to move Wordpress blog under Drupal CMS is here. It's implemented as a Drupal module and contains detailed step-by-step instructions so if you are anxious, download the module below right now.
This module supports Drupal 4.7 (4.6 version is not supported) and both Wordpress 1.5 and 2.0. wp2drupal was tested only on PHP 5 and compatibility with version 4 is not ensured.
Some interesting features:
- Posts, comments, categories, pages and users are migrated. wp2drupal respects unpublished and private settings so no non-public information will be revealed to unauthorized eyes after migration.
- Module is highly configurable. You can, for example, specify node types of imported posts and pages, each imported string can be run through custom string handling function etc. To not harm usability, wp2module comes with well-thoughtout default values so you will typically only need to adjust a very few settings.
- wp2drupal tries to make its best to handle strings and their character encoding right. For example, string are automatically „iconved“ if needed. You will appreciate this when your blog doesn't speak English.
- wp2drupal module provides a very flexible URL redirection mechanism. It is not Apache-dependent and works very well on an arbitrary server platform (tested under IIS + isapi_rewrite). Redirection rules are stored in a database table so if you wish, you can build your own redirection script although the default one that simply works is provided out of the box.
There are also things that you should pay attention to:
- This script is resource intensive. With hundreds of posts and comments, the script can easily exceed 30 second time limit that is usually assigned to PHP scripts. In these cases, you will need to enable set_time_limit() function to let migration process run longer than 30 seconds.
- wp2module is ready for usual one-man-show blogs and can't handle multi-user mega-blogs.
- Wordpress's custom meta-information (inserted in post creation form) are not migrated.
That's it. If you have problems, comments, complains or compliments, visit dedicated Drupal forum thread (comments are disabled here to avoid duplication).
Update 2006–06–19: Added stripos() function fix for better compatibility with PHP 4 but note that this module is tested on PHP 5 only.
Update 2006–06–23: There were still problems under PHP 4. I added some functions from PHP_Compat PEAR package.