Run Your Drupal 10 Upgrade in Three Simple Steps
Since Drupal 8’s end-of-life and subsequent upgrade to Drupal 9, Drupal has moved away from migrations that require a complete rebuild to a track of upgrades. This new approach allows for more accessible and efficient upgrades when you decide to move to the new major Drupal version.
While the upgrade process for Drupal 8 and above is significantly easier than a Drupal 7 to Drupal 10 migration, it still requires a significant amount of planning and preparation.
Here, I’ll cover steps you can take now to set yourself up for a successful upgrade.
Step One: Get to know the lay of the land
Planning is key to many tasks in life, and upgrading from Drupal 8/9 to Drupal 10 is no different. In order to plan and estimate a successful upgrade, it is essential to understand the condition of your current website.
Engaging a professional web development partner to perform a site audit is ideal in this step. But if you don’t have an opportunity to collaborate with an agency, there are a couple of things to pay attention to while auditing your Drupal website for the upgrade.
What is your current core version?
You should always perform upgrades from the latest minor version of the core. So, if you are on Drupal 8, you’ll need to upgrade to at least Drupal 8.9 before attempting to move to Drupal 10. Although it might be easier to upgrade to Drupal 9 first (and then to Drupal 10, rather than jumping two versions,) it’s not necessary.
Is your site managed with Composer?
Composer is a dependency manager for PHP which makes it easier to keep the core of your site, modules, and their dependencies secure and up-to-date. If your Drupal 8 site was set up with an earlier version such as 8.1, 8.2, or earlier, then it is likely not managed with Composer.
The management of your site with Composer requires a specific folder structure: the main web directory containing all of your website’s code, the main composer.json file, and the separation between contributed and custom modules. Additionally, you might need to update the .gitignore file in the event that Git is managing code for the site.
Determining whether the site is managed with Composer is an essential step to ensuring its sustainability and maintenance in the future.
Does your hosting/server environment meet Drupal 10 requirements?
Drupal 10 has specific minimal server requirements; without them, your site will not be able to run on the server. Refer to this guide to check the minimum requirements and contact your hosting company or server administrator to verify the values for your environment.
Keep in mind that, depending on your current version of Drupal, you may or may not be able to upgrade to a newer version of PHP. We recommend verifying the server upgrade path, but not performing it until you upgrade your Drupal version locally, or if local development isn’t possible in a non-production environment.
Similar considerations should be made for database server upgrades.
Step Two: Evaluate the state of your contributed modules and themes
While a stable Drupal 10 core was released, it may take some time for the community to port the majority of the contributed modules to Drupal 10.
Some maintainers have already been working on the upgrades and have even released the Drupal 10 version of modules and themes, while others are still working on the newest releases.
It’s not critical to perform a Drupal upgrade right after its official release.
You will have until November 2023 to move your sites to the newest version of the core to extend the security coverage. However, we don't recommend leaving the upgrade to the last minute. It might be helpful to inventory your contributed modules and themes and check their update status and the potential update path outlined in their issue queues.
If any module or theme does not have an update path, you may want to research an alternative or commission someone to help with an update or custom solution for the problem your module is solving.
Subscribe to update issues of the modules or themes that have an upgrade path but do not have a stable release. This way, you will know when the releases are out and can plan your site upgrade accordingly.
Step Three: Check the custom code for deprecations
Major Drupal core releases introduce deprecations and changes to the APIs, so you don't need to wait for the official release to check your custom code for Drupal 10 readiness. We recommend installing the Upgrade Status module or Drupal Rector to identify deprecations, automatically fix some issues, and get suggestions for others.
In most cases, you can upgrade custom code and get it ready for Drupal 10 on your current version of Drupal 8 or 9 core. This is a great way to get a head start on the upgrade and be prepared to roll the full one out as soon as the contributed code and your server environment is ready.
Drupal 10 was released to the community on December 14th, 2022, bringing new and exciting features and improvements.
Even though the upgrade process has become simpler for Drupal 8 and Drupal 9 websites, sufficient planning and preparation is still required. You don't need to wait to start thinking about your migration.
We hope these three simple steps will lead you to a smooth and fast upgrade. If you have any questions or need help with your journey to Drupal 10, drop us a line and we'll be happy to help.