WordPress vs. Drupal - Why Migrate?
Drupal has several advantages over WordPress, including:
- More flexible custom content types and content views
- Better user role and permission controls
- Built-in support for multilingual websites
- More flexible taxonomy system for handling large amounts of content
If you’re running a large website or have writers and other staff that need varying degrees of access, Drupal needs less overhead to keep up. To do the same thing with WordPress, you need to add plugins that can slow down your site and make it harder to maintain.
Even if your site isn’t pushing the limits of WordPress now, migrating to Drupal will give you the option to scale more efficiently. And it’s always easier to make the move before you hit the ceiling.
Not Sure Which CMS Is Right for You?
Things to Keep in Mind for a WordPress to Drupal Migration
Before you start the migration process, take an inventory of your WordPress installation to ensure you have a solid understanding of how it’s configured.
Take note of the theme and any plugins running on your site.
You may not be able to match the theme exactly with Drupal but it will give you a starting point, especially if a Drupal development agency is handling the move for you. And Drupal might have some of the plugin functionality built-in but in other cases, you’ll need to find an equivalent (or have one custom-coded).
On the subject of custom coding, if you’ve done any customization work to your WordPress installation, make sure you take that into account. You typically can’t move custom code directly across to Drupal but it might be usable with a few minor tweaks.
Take note of your user structure on WordPress as well. If you have multiple authors or other types of users, you’ll need to decide if you want to carry the same structure across to Drupal or merge them into a single user there.
WordPress vs Drupal Terminology
WordPress and Drupal have some similar features but they use different terms for them. It’s helpful to know the difference so you have a point of reference when switching.
The first is plugins vs modules. In WordPress, plugins add new functionality to your site. These are called modules in Drupal.
Another difference is categories and vocabularies. In WordPress, posts and pages can have one or more categories assigned to group them by topic. Drupal calls these vocabularies.
Luckily for developers, both platforms are developed in PHP programming language, so at the code level, things are not that different.
Steps to Migrate to a Drupal Site
To migrate from a WordPress site to a Drupal site, you’ll need to do the following steps:
- Export your content from WordPress
- Set up a new Drupal site
- Install the WordPress Migrate module in Drupal
- Import your content to Drupal
And as we already mentioned, you’ll need to decide whether you want to carry your user structure across or move all the content under a single Drupal user.
Export Your WordPress Site Content
Before you start working with Drupal, you need to export all your content from WordPress. This saves it in the XML format, which Drupal’s WordPress Migrate module can import.
Log into your WordPress dashboard as an admin user and click Tools > Export. Select what you want to export (most likely all content) and click the “Download Export File” button.
This saves the XML file with all your content to your local computer. It’s a good idea to validate the file with an online XML validation tool such as the one from w3schools.com to be sure it’s properly formed.
Set Up Your Drupal Site
Installing Drupal is a relatively straightforward process. Some hosting providers even offer one-click installation to make it particularly easy.
Once the CMS (content management system) is installed on your server, you’ll need to do some basic configuration to finish the setup process. The Drupal user’s guide has all the information you’ll need to get started.
Install Drupal’s WordPress Migrate Module
To import the XML file, you need to install the "WordPress Migrate" Drupal module. It has several dependencies that require other modules to get installed as well. These are all the modules you need to complete the import:
- WordPress Migrate
- Migrate Plus
- Migrate Tools
The migrate module has been part of the Drupal core since version 8 but the core migration feature can only migrate from one Drupal site to another. WordPress migration requires the extra modules.
Migrate Your Content
Once you’ve installed all the necessary modules in Drupal, the final step is importing your content from the XML file you exported in WordPress.
In your Drupal dashboard, click on Admin > Structure > Migrations and click on the "Add import from WordPress" button. Select the XML file you saved from WordPress and click Next.
This is when Drupal will prompt you to create new user accounts based on your WordPress setup or import them all into a single user account in Drupal. Choose whichever option you prefer and continue to the next steps.
Next, you’ll have the option to import your WordPress tags and categories as tags in Drupal.
After that, you can choose your content import options. This lets you specify what content types your WordPress posts and pages import as. We recommend importing blog posts as articles in Drupal and pages as basic pages.
Continue through the last few steps and click Finish to get to the migration page. This page shows the various types of content you’re importing in a list. Click the Execute button beside each one to import that content.
Where to Get Help With the Migration Process
A WordPress to Drupal migration takes some technical knowledge of both platforms, especially if your website is large and gets a reasonable amount of traffic. The last thing you want to do is lose content or impact your SEO.
If you’d rather focus on what your business does best and leave the technical work to experts, O8 can help. We’ve got a long history of working with Drupal websites and are active in its community.
Get in touch with us today for a free website audit and learn whether switching to Drupal is the right decision for your business.