In June 2020, Drupal launched the latest version of its open source Content Management System (CMS): Drupal 9. In addition to this, Drupal has announced that it will be ending its support for previous versions of the CMS, and for sites built on Drupal 8 the deadline for this is 2nd November 2021. (This is to coincide with support being removed for version 3 of Symfony, the PHP framework upon which Drupal 8 is built).

Drupal logo

With just a few months to go until Drupal 8 end-of-life then, the time to start planning for the future of your platform is now. In this article I’ll look at some of the key considerations to deliver you a smooth upgrade and – ultimately – a robust digital platform that supports your business over the long-term.

Drupal 8 to Drupal 9 checklist

Review requirements

If your Drupal installation is up-to-date (the current version is 8.9.13), then updating to Drupal 9 is largely a straightforward process. This is especially true when compared to to the complexities involved with moving from Drupal 7 or even an older version of Drupal 8 (and if you are in this position, we have a separate blog post looking at the options available to you here).

Wherever you are in your Drupal journey however, you should take this opportunity to review how well your current site meets your needs, and whether any improvements can be made to better serve your business and your users.

This might involve making minor or major updates to introduce new features and functionality, restructure your site, or refresh the design. It’s also important to validate that upgrading to Drupal 9 is indeed the most appropriate solution for your current requirements and goals, which may involve conducting market research and assessing any alternative technologies that are available.

Two people working on laptops at a table

Check your integrations

If you do choose to continue with Drupal 9, the next step is preparing your site for the upgrade. The main updates introduced in Drupal 9 are the removal of deprecated code and updates to major dependencies, so it’s important to first look at the integrations you have in place and confirm that these will continue to be supported, as if any APIs you are using have been deprecated in Drupal 9 then this could negatively impact your plans.

Deprecated APIs will therefore need to be identified and fixed prior to your upgrade, and Drupal has tools available to support you with this. The good news is that many maintainers of third-party modules already have upgrade paths in place for their integrations – and for those that don’t, Drupal suggests connecting with maintainers to make their projects compatible with Drupal 9 (find out more here).

Cropped image showing hands of people working with pencils and paper, with laptops in background and foreground

Keeping an up-to-date list of your integrations, plugins and other third-party software is also highly recommended as good practice, to support any future upgrades/migrations/replatforming projects, and provide a shared reference point for your teams to understand how the different elements of your platform interact with each other.

Confirm coding standards

Alongside integrations, the main requirement for Drupal 8 sites upgrading to Drupal 9 is that they meet minimum technical standards set by Drupal, to avoid any issues being introduced through the process. I’ve written in more detail about the tools available to help you confirm your site meets these standards in this readiness guide for Drupal 9, but to summarise:

  • Check the quality of your code, including any custom code your development team may have implemented.
  • Ensure your deployment processes are aligned with Drupal 9’s composer-based approach to managing dependencies.
  • Review your platform for any harmful technical debt that might add complexity to your upgrade; take action to resolve priority issues where required, and make sure you have processes in place to keep on top of technical debt levels. (For more information on assessing your software platforms for technical debt – and what you can do about it – download our white paper on the subject.)

Don’t forget to test!

If you’ve completed the above checks, and taken any necessary actions, you should be able to complete your Drupal 9 upgrade in just a couple of steps. Remember though that your project doesn’t end with the launch, and it’s vital that you test your new installation to confirm it performs as expected.

Focus on your key interactions (such as forms), valuable customer journeys (such as the checkout process), and the most popular devices, operating systems and browsers being reported in your analytics. A test plan can prove incredibly useful here to make sure nothing is missed, and is something an experienced software testing team can help you with.

Slides showing Pillars of QA and QA metrics

Removing the stress from your upgrade

With the right planning, your upgrade from Drupal 8 to Drupal 9 should be a smooth and pain-free process, allowing your business to benefit from a modern and well-supported CMS platform. Your upgrade project is also a great time to assess the value your platform is delivering back into your business, and make changes where needed to ensure your systems support your wider strategy.

Working with a trusted development partner such as Box UK can further support you in ensuring your upgrade is a successful one, as our Drupal developers apply strict coding standards and integration expertise to safeguard the long-term performance of your platform. Take a look at our case studies to find out how we’re helping organisations including ORX and Cymru Wales make use of the Drupal CMS to increase reach and engagement – and contact us now to talk about your Drupal 9 requirements with a member of our team.

About the Author

Alex Farr

Alex has been delivering successful technology projects since 2004, specialising in developing and applying innovative new technological solutions to help overcome challenges. This has included Drupal ‘rescue’ projects, bespoke IoT development and Machine Learning applications.