More and more people every day decide to quit Drupal and embrace WordPress. Taking the decision is easy, the actual migration to WordPress, not so much. Go WordPress is a service specialized in helping companies to move to WordPress from Drupal (and from any other CMSs like Joomla, Sitefinity, PHP-Nuke, Yola,…), offering two predefined migrations plans and a tailor-made “all you need” conversion to WP option. With close to one million posts migrated in 2012, we’ll be able to help you no matter how complex your current site is.
You may be wondering why there is no DrupalToWordPress plug-in (and you thought there was a plug-in for everything!) or a predefined Drupal importer in the Tools section of your WP site. Indeed, it’s easy to find (partial) migration scripts (like this one) but they target specific Drupal and WordPress versions and do not cover all the tricky (but important) aspects mentioned below.
Moving all your content to WordPress
You have your brand new WP site installed and the theme ready, now you just need to get into your WP database all the posts, pages, comments, users, forum, categories, tags,… of your Drupal site.
The “easy” part is to clone the core data of the comments (from the comments Drupal table to the comments wordpress table), categories and tags (data in the term_data and term_hierarchy tables should be moved to the WordPress terms and term_taxonomy tables) and posts (Drupal tables node and node_revisions store the posts and pages information that has to be inserted in the WP posts table).
The “not-so-easy” part involves all those Drupal elements that do not have a clear correspondence in a default WordPress installation. Drupal, as a CMS, is more flexible than WordPress, which is both a blessing and a curse (a quick examples is the user access control system, you can define as many roles as you want in Drupal while in WP the set of roles is fixed). Moreover, many Drupal extension modules are standards de facto (like the Content Construction Kit) but, instead, in WordPress you usually have many competing plug-ins. This means that the same Drupal site could be migrated in several ways, each one with a different set of trade-offs that will need to be analyzed together with the web owner.
Some of the most important challenges to consider when migrating from Drupal to WordPress are:
- Content types & fields: It’s so easy to create custom types and fields in Drupal (using the “standard” CCK module) that most Drupal sites use them (sometimes inappropriately but…). Custom fields can be migrated by either integrating the field information in the main WP body (i.e. no plug-in used on the WP site), by adding the custom field as post metadata (and instructing the theme to recover and display these data when rendering hte page) or by using any of the WP custom type plug-ins available. In all options, the first step is to retrieve from Drupal the values of those custom fields. This is a challenging task in itself since each type/field is stored in a different table (with a different structure). Therefore, the query to select the fields’ information needs to be different for every field you want to query.
- URL mapping: The URL pattern structure allowed in Drupal is more flexible than the WordPress one and can be defined at the node level (instead of being globally defined for all posts). Therefore, it’s not always possible to keep the same URLs when cloning the Drupal posts and pages. In that case, you should at least create a set of 301 redirections that make sure that visitors (and search engines!) can still access your site using the old Drupal URLs.
- Users and roles: A Drupal site can have any number of roles. Mapping these roles to the predefined WP roles implies analyzing the permissions assigned to each Drupal role to find the best match. Moreover, user profiles in Drupal can be as long complete as you want. If you want to go over the default WP user information fields you’ll also need to install a plug-in to manage these extended profiles.
- Forums: Since WordPress does not have a core forum feature, migrating a Drupal forum will require first to select a forum WP plug-in and adapt the migration to the database structured used by that plug-in.
- Multilingual support: The internationalization project is the standard de facto module to create multilingual sites in Drupal. As for the forum above, in WordPress there are several plug-ins that enhance WP with multilingual capabilities, some of them mixing in the same post body all the language versions (separated with special shortcodes), others using several new tables to store the links between the different versions of the same post.
- Shortcodes in Drupal and WordPress are different. A preprocessing is required to transform Drupal shortcodes into the ones that WP will be able to understand.
- Image Galleries: Drupal galleries must be “reconstructed” to visualize them in WP, either using the gallery shortcode or populating the tables created by the gallery plug-in you plan to use.
- and many other aspects like SEO information (e.g. metatags, missing in wordpress), polls, google maps, events/calendar information,…
As you can see some things are better left to professionals. Migrating your site is not a game. Save time and lots of headaches by using our professional migration services!.
If you enjoyed this post, make sure to subscribe to WP Mayor’s RSS feed.



Its a great article…Yes I agree with Jordi some things has be given to well experienced professionals…This will save your much precious time.
Interesting article. How could the whole field type concept (what came up with CCK) of Drupal be mirrored to WordPress? Adding them as post meta data is a sub-optimal solution in complex situations. What “WP custom type plug-ins” can you suggest?
Thanks!
Well, most (all?) custom type/fields plug-ins in WP end up storing the additional information in the wp_postmeta table anyway but it´s true that they offer a graphical interface that allows you to define and manage the custom types / fields you want quite easily.
As usual, there are several plug-ins available. Three plug-ins I’m happy to work with are Advanced Custom Fields (http://wordpress.org/extend/plugins/advanced-custom-fields/ ), Custom Post Type UI ( http://wordpress.org/extend/plugins/custom-post-type-ui/ ) and types (http://wordpress.org/extend/plugins/types/ )
Piet, You might want to look at Pods framework: it’s like custom types on steroïds.
This post lost credibility the moment I read that the author’s company offers migration services. Before that I was eager to learn why anybody would down grade from Dupal. I build websites using either WordPress or Drupal or Joomla for that matter. Drupal is by far my first choice, for some of the reasons listed above. And over the last couple of years I have helped several compnaies to transition from WordPress to Drupal because they needed a more powerful solution. Funny how that work…
@Werner, I’m not sure I get the point of your comment. The post is a not a “Drupal vs WordPress” post nor it says anywhere that WordPress is always the best solution. The goal of the post is to help people that wants to migrate to WordPress. And the fact that this is written by somebody that offers this kind of services (which is clearly stated in the first paragraph) I think it only adds credibility to the list of challenges presented since they are based in my large experience doing this kind of work.
I’m not trying to convince people to drop Drupal. I do believe that the current trend is that people are moving to WordPress but I agree that Drupal can be a better solution sometimes, depending on your needs. As I say in the post, a defalt drupal install is more flexible than a WP one and this can be good or bad depending on what you need.
Yes I too agree with Jordi .It is true that migrating from one platform to another is hard and very tricky and if you have got emails accounts and other third party applications installed then it even becomes harder. This task really has to be handled by a professional.
A really good and interesting article. I agree with you Jordi, probably Drupal can be better, but the current trend is that more and more people use wordpress.