How to Migrate from WordPress to Drupal?

5 min
Eduard Grigalashvili
Technical Writer
Oleg Bogut
Drupal Tech Lead

Choosing a Content Management System (CMS) is a sensitive issue. Newbies usually prefer WordPress as the simplest CMS. But sooner or later the system’s capabilities can become insufficient for providing both ultimate performance and a perfect look, at least at a desirable rate. An administrator with some practical experience would come to the conclusion that they need to level up. And here's the question — how do you switch from WordPress to Drupal? Let’s figure it out!

Drupal’s Advantages Over WordPress

It’s time to sort through Drupal's specific features, how to use them, and what clear advantages they offer to developers.  If two or more of the reasons listed below apply to you, it makes sense to consider a move.

reasons for wordress to drupal migration

  • Improved SЕО. The system has been developed to take into account all the best and neoteric SEO tendencies. For example, it's got inlined coaching and numerous other useful functions. Moreover, there are dozens of extensions for optimal efficiency, such as Yoast SEO.
  • Speed. Drupal is the leader in this option. It allows the user to develop a high-performing page with a high-speed index. Owing to relatively small resource intensity, it's easy to connect to the server immediately and get maximum response speed. The system does a great job with multi-page web forms, and has additional extensions for processing improvement, such as website caching.
  • Security. This is actually one of the main reasons to transition from WordPress to Drupal. Drupal is the least vulnerable to criminal hacking. This is why the White House's official website is based on it. All the minor errors in SQL performance that were a problem before have been resolved completely.
  • Flexibility. While WordPress employs themes and plugins, Drupal uses modules and extensions for configuration processing. This allows for delicate detailing to make your site unique. Most packs must be installed and set up by the user, which is not that easy with WordPress. An experienced developer can achieve better results! In Drupal there is an option to integrate such useful functions as Shopify, Twitter, Yoast and others through the vast variety of modules.
  • Language selection. Drupal's system supports more than one hundred languages (though some are only partially adapted). So even in base settings, Drupal is the best solution for polylingual pages.
  • Deep taxonomy system. Drupal is so convenient and flexible that it can be adapted for almost any demand and requirements. It is capable of storing a large amount of data. All possible content types — from forum messages to news articles to blogs etc. — will be categorized in the common data catalog. Nesting of any depth is available.
  • Drupal's expanded system of extensions control that simplifies user administration is more effective than in WordPress. It is possible to differentiate user access to certain data by role models.

Steps to Migrate from WordPress to Drupal


wordpress to drupal migrationLet’s have a look at the whole Wordexpress XML to Drupal migration:

  1. First we go to the WordPress admin panel, Tools > Export and choose "All Content", then click "Download Export File" and save this file on your computer’s  hard drive.
  2. Create a backup copy of the project site in case something goes wrong and you need to discard changes. You will be able to delete all Drupal files and download the copy with the initial parameters restored.
  3. Install Drupal in the same folder as WordPress. This way, you can still access administrative functions when the website stops working. Now the Drupal-based resource will be on the website address.
  4. Next, check the server's systemic characteristics: PHP version (5.2.5 and higher), MySQL (at least 5.0.15) or MariaDB (from 5.1.44), Apache (from 1.3).
  5. Download and unzip the installation package. Connect to the server by SSH and go into the root directory. The actual version is downloaded on the sudo wget [download URL] request. To find the right address, visit the Drupal download page and continue with "Recommended Release." Right-click on download button, choose "Copy Link Location", and insert the address by pressing Shift + Insert.
  6. Unpack the installation package and set Apache ownership. Then delete the .tar.gz file through the sudo rm [file name] command.
  7. Now create a database. Using SSH, connect to the server and enter MySQL/MariaDB CMS with the sudo mysql –u root –p option. As is probably obvious, we create a database through CREATE DATABASE [base name].
  8. Create the first user and provide it with maximum authorization. GRANT all ON [base name].* TO [user nickname]@localhost IDENTIFIED BY '[password]'.
  9. Quit the CMS application by executing the command quit.
  10. To complete the installation, go to your browser and open your site. When the installation page is displayed, it will give you different options. Choose the "Standard" installation and click "Save and Continue". Do the same on the next installation page.
  11. The next step will be to select the needed CMS: specify the connection parameters by entering the user’s name and password that you've created. Click "Save and Continue".
  12. Insert the site’s info and create an administrative account. Specify data in all the necessary boxes and click "Save and Continue".
  13. Right-click on the download link .tar.gz "Modules", then click "Install New Module" and insert the copied address to  "Install From a URL". Click "Install".
  14. All the actions above are repeated to install the WordPress Migrate module. We go back to the modules page and enter the Migration section. Check the boxes to all required options (Migration, Migrate UI, Migrate Example and Migrate) and save the configuration.
  15. Create a private folder in the website root. Now enter the Drupal administrative panel and click "Content". Switch to the "Migrate" tab and click "Import from WordPress". Set the path to the files you intend to download by going to Configuration > Media and inserting the full path for folders. Save the configuration.
  16. From here, you’ll be pinged back to the transition page, where you’ll click "Browse" and select XML of WordPress export (WXR), which was stored on your computer’s hard drive. Click "Next".
  17. Decide whether to import WordPress users or create a new Drupal user with all post objectives. Choose and click "Next".
  18. Select the content import method. The best option is to mark posts as "Article" and pages as "Basic Page". This allows the importer to start converting blog posts. Set the parameters and move to step 6, which converts the webpage.
  19. The last step is to make sure that all the import parameters are set correctly. Check the data once again and click "Save Import Settings and Run Import".

Drupal Migration Pipeline

The imported file weight and connection speed naturally affect the entire import process. For a single piece of data, it may take from a few seconds to a couple of minutes. However, the whole migration process may take from 10 to 50 hours depending on several factors:

  • The total amount of files
  • Internal application structure and dependencies
  • Complexity and the overall number of niche-specific modules.

The window should be kept open until the import is over. After it has finished the move from WordPress to Drupal, it is considered complete.

wordpress to drupal migration process

WordPress to Drupal Migration Done with Experts

As is clear from the previous chapter, WordPress to Drupal migration is not a piece of cake. It requires PHP rudiment at the very least. The guidelines mentioned above are not a full treatment of the subject. Various issues can arise during the transition process, and they may be a great challenge for the amateur user.

One customer of AnyforSoft encountered difficulties in the transition of Books & Quizz content. Our experts helped them to create the corresponding posts. They also completed some complementary measures, creating custom connections to express the links through additional fields. Moreover, all question types were customized in the WP Pro Quizz plugin, allowing XML generation for inquiry topics and categories, while 'multichoice' and 'yes or no' answer options were added.

While the migration process can be challenging, AnyforSoft professional teams are eager to give you assistance with any possible issues that can take place. We are here for you because we care.

We are also ready to undertake the whole process of transition from WordPress to Drupal, customize your website and get it ready for use. Our teams consist of highly qualified IT experts who can easily deal with tasks of any complexity, provide maximum functioning speed, connect any execution modules, and, as a result, provide the highest functioning, fastest speed, and best appearance to your Drupal-based web product. Contact us to discuss your project!

Want to work with us?

Looking for a Drupal team?

Build your product with the industry leader

Talk to us!
Looking for Drupal solutions?