Skip to main content

WordPress to Drupal migrations

In this post we show you how easy it is to migrate from WordPress to Drupal 9 by using Drupal's WordPress Migrate module.
05 August 2021

Many businesses and organisations find their sites outgrow what WordPress can support. One of the reasons WordPress is the most used CMS on the planet is that anyone can use it to create a site. But what was initially a very user-friendly and low-barrier to entry solution shows its limits when your site requirements pass a certain point. Multiple content types, granular permissions with multiple account roles, custom webforms, multilingual functionality – these requirements need a more advanced CMS.

  1. First, you need to inventory your site. Note the required content types to display all your pages and the extra functionality provided by your plugins (called “modules” in Drupal).
  2. Replicate the structure and framework of your site in your Drupal installation. Try and get your Drupal theme as close to your WordPress one as possible. Fortunately, Drupal uses Twig, a PHP template engine that allows you to override every aspect of the default theme.
  3. Install WordPress Migrate and any other Drupal modules you need.
  4. Export your WordPress content. Under Tools -> Export, select all your data and click the download button. This will give you all your WordPress content in an XML format.
    wordpress export page
  5. It’s almost time to hit the button. On your Drupal site, under Structure -> Migrations, select Add Import from WordPress and choose your XML file. After this you will be asked to select your content import options, namely:
    1. what Drupal content types the original WordPress content types should map to,
    2. if a post’s media files and attachments should also be imported,
    3. if the categories and tags should also be imported over, and
    4. what pattern the new page URLs should follow.
  6. Finally, you’ll be presented with a list of available migrations for each content type. Click the Execute button next to each one to enable the import and cross your fingers.
    execute wordpress import

This covers the process for a relatively simple site comprised of a blog and some static pages. For a more advanced site, you may wish to contract an agency to provide you with the development skills needed to replicate the full functionality of your site in Drupal along with any custom layouts and presentational features.

If you would like to get more detail on what it would take to migrate your specific site, along with estimates of time and costs, reach out to us via our Contact form.