Find by Category

How to Migrate WordPress to Drupal 9

I just migrated my WordPress to Drupal 9 and it was not easy that’s what I can say.. Because I had installed multiples modules and many were not compatible when I installed them for the first time.

Here is the list of modules that need to be installed. Make sure you have installed Drupal 9 compatible modules.

Other thing you need to have installed is DRUSH.

Required Modules

  1. ctools
  2. WordPress Migrate
  3. Mitrage Tools
  4. Migrate Manifest
  5. Migrate Plus

After installing these modules; you should have these modules available to be enabled. Go ahead and enable all of them.

Drupal 9 Users can Install these modules with Composer

Install the following modules with composer one by one in your Drupal 9 root directory. Also, you should install the latest versions of these modules from the Drupal module directory.

composer require 'drupal/migrate_manifest:^3.0'
composer require 'drupal/migrate_tools:^5.1'
composer require 'drupal/ctools:^3.7'
composer require 'drupal/wordpress_migrate:^3.0@alpha'

Export WordPress Content

Login to your WP admin and under Tools click export and check the file size of exported content from WordPress. If it is more than 2MB then you need to increase upload max size in php.in file. By default it is 2MB. I had to make it 8MB.

Restart your server, clear cache and reload Drupal.

Add Vocabulary “Categories” to Drupal

Add vocabulary “Categories” to Drupal if you want to import all the Categories from WordPress.

Click Migrations Under Structures

Click migrations under structures and then click ‘Import from WordPress’

Import from WordPress

then click “Import from WordPress”

Select WordPress XML Export File


Select your WordPress exported content file and hit NEXT..

Increase upload max size

Increase upload max size in php.in file, if WordPress file size is more than 2MB.

Select Vocabularies for Tags and Categories

Select Content Types (Articles and Basic Pages)

If you had custom content type in WordPress; you should create extra content types in Drupal as well. And import them appropriately.

Select Format Type for Each Content Type

I have selected Full HTML for both Articles and Basic Pages

Rename Generated Migration Group

I left this as it as and hit Finish

Drupal Imported All WordPress Content

You should see something like this. If everything went right.

Now, you can start executing the import; I started with pages, tags, categories, posts and lastly comments.

Migration in Progess

Last Migration Execution for Comments

Check All Imported Items

After executing all the migrations; you should see something like this.

If something goes wrong on the execution page, simply RESET it execute the import again.

Need help with WordPress to Drupal Migration? Contact me at [email protected]

Related Posts..

  1. Best Drupal 9 Themes
  2. Install Drupal 8 and Drupal 9 on Windows 10