Looking to migrate from Drupal 6 to Drupal 8? See the original version of this article: Migrating from Drupal 6 to Drupal 8 Like a Boss
Moving from Drupal Core 7 to Drupal Core 9/10 takes several steps. Breaking down these steps into phases to upgrade a Drupal application is crucial for long term success. Drupal 7 to Drupal 10 upgrades / site rebuilds can take anywhere from 16 to 30 weeks.
Drupal upgrades can be split into the following phases:
Evaluate your Drupal application for readiness to update to the latest version of Drupal core. This review should start with a current state review and work with your team to determine areas to improve editorial efficiencies, reduce technical debt, and modernize your frontend framework.
Drupal 7 Applications require content migration. If you have a D7 application we recommend using the Content Migration APIs to migrate all of your content into a new site with the latest version of Drupal Core. This will not affect your currently live Drupal site.
Drupal 9/10 requires ^PHP 8.x. Over the course of 10 years the PHP code from D7 to D9 has changed quite a lot. Use tools like to review what code needs to be updated. Other important code updates that require time and consideration:
Other features that require upgrading:
Drupal Core version
Current PHP Version - Upgrading deprecated PHP code takes time
Total Number of Multi-sites
Database Size (in GB)
Number of Contributed Modules
Number of Custom Modules
Number of Views - Views must be upgraded manually
Number of Themes - Themes must be upgraded manually
Number of PHP theme templates - templates must be rewritten manually
PHP Text Format enabled
Organic Groups Module - Organic groups must be rewritten manually
Rules Module - Rules do not have a 1:1 equivalent so you must manually audit your rules
Panels Module - Panels must be rewritten in Drupal 9/10 manually
Drupal 9's frontend framework provides a modern approach to design. This requires more time to rebuild templates and other frontend components or code with a frontend developer. There are no tools to automatically do the frontend part of the upgrade.
Review Acquia's prelaunch checklist and consider hiring Professional Services to perform security and performance audit known as Launch Readiness.
Launch your new Drupal 9 site to the public with either a code deployment or a DNS change to your new D9/10 environment.
Once you have an upgraded site have you considered trying to automate your devops to keep up with security updates in the future? The world's only full stack Drupal platform for development. Code Studio makes building Drupal applications easy. Accelerate your production with a complete set of tools that enable your teams to plan, build, test, review, and deploy from a single, customizable workflow parts of Drupal development so you can stay focused on what's most valuable.
One: Install Upgrade Status
Upgrade Status is a Drupal module that can provide more information about your current place and support for upgrading to Drupal 10.
Two: Audit content and text formats
Review your content types and text formats. It is recommended that you do not use PHP or code inside of your fields. If you are using PHP code inside of your database fields you should consider removing it before or flagging it before an upgrade to remove afterwards.
Three: Audit views
Consider reducing views you don't need and take a look at the Views migration from Drupal 7 to Drupal 9 module to help migrate. Some views might need to be rebuilt by hand.
Four: Review custom code and features for PHP Compatibility
Custom modules and features need to be reviewed for PHP compatibility. You can use a code sniffer like https://github.com/PHPCompatibility/PHPCompatibility to identify code that has been deprecated and needs to be updated. There is also Drupal 7 to 8/9 Module Upgrader can help to automate some of this task, but manual intervention will still be required.
Five: Upgrade everything to the latest version of D7 projects and review known upgrade issues. You can check the known upgrade issue page.
Six: Review frontend and page building elements.
Drupal 10 uses twig templates instead of PHP templates. You will need to manually rebuild your theme templates and functions after the migration.
If this content did not answer your questions, try searching or contacting our support team for further assistance.
Wed Feb 22 2023 22:06:30 GMT+0000 (Coordinated Universal Time)