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.