Migrating to Drupal 9: When You Need to Do It and What the Process Looks Like

Major Drupal-to-Drupal migrations are soon going to be a thing of the past, because of the easy upgrade path that has been established with Drupal 8. However, Drupal remains one of the most popular Content Management Systems (CMS) for very good reasons, and there will always be a need for migrations for sites with a lot of content coming from forlorn CMSes, or from proprietary systems that cost an arm and a leg and lack the flexibility that Drupal provides.

When you need to migrate

The current plan for the end-of-life of Drupal 8 is November of 2021, and for Drupal 7 it’s November of 2022. At that date these versions will no longer be officially supported by the greater Drupal community, including core commits and security updates by the Drupal Security Team.

You should start planning your migration now. Due to factors including the size and complexity of your migration, whether or not you’re also doing a redesign, and fitting into the schedule of a dependable firm capable of doing a complicated migration correctly, it would be wise to plan ahead.

Migrating to Drupal 9 means that the theme needs to be rebuilt anyway, so if you’ve been considering a redesign then now would be the optimal time to do it. Even if you like your site’s design, some TLC in certain areas might go a long way, such as moving to high-resolution/SVG logos and icons, and higher-res images that will look better on retina devices.

Should you continue to use Drupal or move to another platform like Wordpress?

Chances are that you’ve been using Drupal for a reason, whether for the true open-source nature of the project and its contributed modules, its flexibility in terms of building something very custom on top of its architecture, that your website relies on a lot of relationships between content, or the simplicity, accessibility and consistency of Drupal’s content editing and site administration experience. If any of these qualities are important to you, then Drupal is probably still your best option. We also do a lot of Wordpress work, and Wordpress certainly is a great platform and may be the wise choice for certain applications, but there is a reason why Drupal is chosen often for higher-education, enterprise, and startup websites that have a lot of custom functionality.

One of the great things that is new starting with D8, is the fact that it provides a much-simplified upgrade process from one version of Drupal to another. In previous versions of Drupal, upgrading to a newer version has always meant migrating to a new system. All of that changed with D8; upgrading to Drupal 9 and staying on the latest version is now a much more incremental process, and only takes a handful of hours.

SEO and redirect considerations when doing a migration

It is good practice when doing a migration, to either keep all of the URLs the exact same, or to 301 redirect all of the changed or removed pages/sections to new locations. It is completely fine to restructure your content, and even to change the structure of all of the URLs, but to reduce the risk of getting penalized by search engines it is important to be very mindful of URL changes during a migration. Note that it is perfectly okay to let some pages die if they’re no longer relevant and there is no obvious location to redirect them to, but if they were valuable URLs and receiving substantial traffic then it’s just good practice to redirect them.

In addition to redirects being an important consideration in terms of SEO, it’s also important in terms of usability. Between bookmarks and URLs being shared on social media and forums, your URLs are out there. Making sure that most of your URLs are being redirected appropriately also means that you could be saving your users time in trying to find your content.

At the beginning of every project we do a full information architecture inventory, which initially serves to help us understand the architecture of the site’s content and navigation. This same document eventually turns into where we track any changes to URLs, and if applicable, other SEO elements like page titles and meta descriptions. A lot of the time we find that page titles were never working quite optimally on the old site, and we’re able to spot these issues very clearly and track remedying them via the site inventory.

What exactly does a migration process look like

For fairly straightforward websites, the big development areas of a migration are:

  • Content / taxonomy / entity type and data migration
  • Theme rewrite
  • Rebuilding configuration that won’t make it over in a migration upgrade such as Drupal Views

Depending on how complex your website is, there could be some other things to consider here, such as if you are relying on modules that are not going to be ported over to Drupal 8/9, and how those systems can be reimplemented and their data migrated if necessary. Some modules have undergone big changes as well, so figuring out which data needs to be preserved in the migration is important, as well as planning on how that data might need to be transformed and migrated to a new format. Some examples of this include:

  • Preserving webform submissions
  • Migrating entity data that was created using a module that won’t be supported for Drupal 8/9, such as Field Collections or BEAN, to a supported module or the Drupal core system. Field Collections are no longer supported, but a far superior alternative called Paragraphs is an easy replacement

Types of Migration: One-shot vs continuous

There are typically two types of approaches to migration.

The first type is a one shot migration, where a snapshot of the source website will be used to perform a migration update, and then the Drupal 8/9 website will be based on that. In this approach, no other migrations from the source site will be performed, and you are generally required to maintain both the original website and the new Drupal 8/9 site while the Drupal 8/9 site is developed and launched. This approach usually makes a lot of sense when there isn’t a lot of user-generated content or when activity on the website is minimal. Drupal provides a tool for running a migration update from previous versions of Drupal to Drupal 8/9, which helps to migrate your content types and data, so this approach is generally the most cost effective and easiest to perform. Configurations such as Views, and the theme still need to be rebuilt, but using the Drupal update feature goes a long way in upgrading fairly straightforward sites.

The second type of migration is a continuous migration. This type of migration is necessary for when you have a lot of user-generated content and activity on the website that needs to be preserved between the old site and the new one, up until the minute the switch over is made to the new site. For instance, an e-commerce site where orders are being made by customers will need to be migrated using a continuous migration. The Drupal migration system is fantastic for handling these types of migrations and allowing for frequent updates of data from the old site to the new one.

One very big benefit of continuous migration is that you can see how the data is making it over throughout the development process. This allows you to set up a cadence of running the continuous migrations, so that you can keep the development site in sync with the old one in terms of user data, which makes for a smooth transition as you get closer to launching your new site. Running continuous migrations and having all of the user data there to compare throughout the development process, relieves a lot of stress for when the time comes to go live with the new site.

Conclusion

With sufficient planning, your Drupal migration can be painless and seamless. And with the advancements in Drupal 8—making it easy to upgrade from one version of Drupal to the next—it will probably be the last major migration your site will ever need to undergo.

Take special care when it comes to SEO and any information architecture or URL changes, because nobody wants a drop in organic traffic due to penalties from search engines.

And if you need help in any way, don’t hesitate to contact us about your migration! We’ve done gobs of large, complicated migrations, and we’d be more than happy to help you with yours.
 

radial gradient rings

Ready to get started?

Let's set up a Zoom meeting to talk about your project, or better yet, Starbucks and a walk around Green Lake!