The Drupal community has constantly evolved with time and brought about consistent updates to match the ever-changing needs of the public. Both Drupal 8 and 9 have followed this and bought significant shifts in the latest features and functionalities of a website. Because of this, an increasing number of website owners have upgraded to Drupal.
With Drupal 9, you can no longer just update your existing Drupal site; you will have to migrate all of your data to an entirely new Drupal 9 site. This can be scary and cumbersome at the same time. Here is a checklist to help you better prepare for your migration.
Drupal 9 Migration Checklist
1. Have Clear Goals in Mind
Before you even plan out your Drupal 9 migration, the first thing to do is to clear out your company's goals and decide how your Drupal site will help achieve them. Once you know what goals you need to achieve, you can decide how your final website will look. What do you want to change? What do you want to carry forward? What new features do you want to keep? These questions can only be answered if you know your final outcome.
For example, if your focus is on doubling your sales, you can select the features that will help you achieve this target. You will focus more on the look and e-commerce features than on the content. But if your goal is to get more viewers or readers, you should focus on features that help you better present and manage your content rather than e-commerce.
2. Take Inventory of Your Entire Site
Now that you know what you want your site to look like, you need to go through your current site completely. You need to conduct a site audit, an audit for all custom site features, and a full content audit so that unnecessary content isn’t migrated. You will need to analyze and list the existing content types, taxonomy, views and blocks, and other Drupal assets. But before you do that, ensure that you backup your Drupal 9 site. This will help you if you make a mistake when working through your present content.
3. Enable Required Core and Contributed Modules
The Drupal 9 migration process does not automatically install modules on the Drupal destination site. Only migrations of modules installed on both the source and destination site will be executed. So, ensure that you first enable all core and contributed modules on the site for which you want to migrate configuration and content from the source site.
For example, suppose you have the Disable Login module enabled on your Drupal source site. In that case, you must enable the Disable Login module on your Drupal destination site before beginning the upgrade process. This will help you save and access the data.
4. Detecting and Removing Deprecated Code
After you have decided on the final list of the modules, you need to check the modules and detect the deprecated code instances. You can run a command-line utility – Drupal-check or use the GUI tool called Drupal 9 Readiness. You can also set up a Testing infrastructure to analyze and find deprecated code. If you find any depreciated code, you can update it or swap it with a search and replace function for the latest version. If you are not familiar with coding, it would be better to have a Drupal developer help you with the Drupal 9 migration.
5. Prepare Your Drupal 9 Codebase
Prepare for Drupal 9 migration by building your Drupal 9 codebase. Simply, you have to build a Drupal 9 shell to import the old configuration & data info.
6. Execute Initial Migration
After you have prepared your Drupal 9 migration codebase, you can execute your initial migration and review the results. This way, you can get an initial status on the upgrade process. You can check if you have forgotten some modules or if you will need an upgrade process built for them?
7. Script Migration Steps with Drush
Once you have made changes after the initial migration, you can go ahead and script the migration steps with Drush. Drush basically makes it easy to repeat all the migration steps to accelerate your Drupal 9 migration timelines.
8. Theme Drupal 9 Site
Theming and creating the presentation layer is a critical step in your Drupal 9 migration. You need to plan if you will rework the design Or do you want to migrate the current design. This is when you can decide the look and feel of your new Drupal 9 site and make any changes.
Things to Remember
1. Do Not Configure the Drupal Destination Site
Remember that the upgrade process will overwrite configuration on the Drupal destination site, so do not do any configuration of the Drupal site until after the upgrade process is complete. To explain it in simpler language, you do not have to create all the content types and fields manually before running this upgrade. It is a part of the Drupal 9 migration process.
2. Do Not Create Content on the Drupal Site
The Drupal 9 migration upgrade process maintains the unique identifiers from the source site. So if you make any changes to content like accounts, taxonomy terms, and node content, then the content you add will overwrite the previous content.
These are a few things we think you should keep in mind while migrating to Drupal 9. What other tips would you give to those planning to migrate to Drupal 9?