How to migrate from Drupal 7 to Drupal 10 - An 8-step guide
Story by Mila Klimkowicz
7 min read
The arrival of Drupal 10 brought in many new improvements and since the support of Drupal 7 is slowly coming to an end it is a good idea to upgrade to the newest available version. There are many reasons why you should consider Drupal 10, which you can learn more about in our in-depth article on the subject. Automatic updates, brand-new themes, and a huge selection of contributed modules are what you can expect from the newest version.
Having witnessed Drupal's evolution firsthand over the years we highly recommend upgrading your Drupal 7 website. Enhanced security, streamlined updates, and the adoption of the Symfony framework since version 8 make the current version of Drupal a more flexible and reliable platform.
With that being said, let's now take a look at the steps of the migration process. We have broken it down into 8 steps.
Step 1 - Audit your Drupal 7 site 🔍
First things first - kick off the process with a full site audit. Assess your subpages, features, configurations, and content. Keep in mind which elements you want to carry over to the new site. Are there any that need to be modified or ditched altogether? This is also the perfect opportunity to think about all the changes to your design and IA (information architecture).
Step 2 - Plan your migration 🗓️
Make sure you carefully plan out the process and launch timeline, taking into account any dependencies that could impact the schedule. Begin by creating a backup of your Drupal 7 website.
- Delete unnecessary files, images, or content that is not being used. It is always a good idea to start with a clean foundation.
- Ensure your Drupal 7 site is updated to the latest core version, and check for module updates and compatibility with Drupal 10.
- Identify which content will require redirects to maintain SEO performance. If any content has been removed or URL paths edited, ensure proper redirection.
- Once all of this is done, create a backup copy of your site - this will not only ensure that you don’t lose any important data but it will also serve as a reference point when your new Drupal 10 site goes live.
If the migration process does not take too long you can decide to freeze content changes on your Drupal 7 site during that time. However, if you are expecting a more extended timeframe (for example a few months) you can continue making changes to your existing site while simultaneously updating the migration data.
Your website design and content are important factors in this context. If you have decided to make any changes in these areas, it could potentially complicate updates during the migration process (especially concerning image and file modifications). But if the changes have no impact on the design and layout of the content, then it shouldn't cause any problems with migration data updates.
Step 3 - Check your modules ⚙️
From the previous steps, you should have a compiled list of the modules that are being used on your site. Given the significant evolution of Drupal since version 7, not all modules may be compatible with the current version. Verify the compatibility of contributed modules with Drupal 10 by examining the respective module pages. Also, even if those modules are still compatible - maybe there are better alternatives that you can switch to? Consider if there are more fitting replacements for certain modules. Last but not least - make a note of custom modules that will need to be rebuilt for the new site.
Step 4 - Set up your Drupal 10 site 💻
Now is the time to build your fresh Drupal 10 site! Choose the latest available version of Drupal 10 and install and configure all the modules that you want to add to your site. At this point, you should also take care of upgrading any custom modules that you've been using and wish to include on your new site. It is recommended to opt for core or contributed modules to minimize custom coding. However, if you cannot find the right module for the functionality that you need then you must update your custom modules to align with Drupal 10. This means reviewing the API changes, rewriting your code as well as testing the custom modules.
Step 5 - Migrate your data 🚚
The next step of the process is the data migration (this includes content types, blocks, terms, vocabulary, and views). In the case of small websites consisting of a small number of pages, you can copy and paste the content manually. However, for larger sites, an automated migration is necessary to save time and reduce the risk of errors. Ensure the correct content structure is in place and leverage tools like the Migrate Drupal module to facilitate the process. It's important to note that views should be migrated using a separate module dedicated to that purpose (the Views migration module).
Step 6 - Rebuild your theme 🎨
Drupal 10 uses a more modern theme engine - Twig. This means that you will have to rewrite your Drupal 7 theme. You can take the route of rebuilding your old theme, crafting a new customized one, or selecting an existing Drupal 10 theme. Remember about any information architecture (IA) changes you wish to implement and prioritize responsive design principles to enhance the user experience (UX).
Step 7 - Run tests ✅
We are getting closer to the final step of the process. Before you launch your site you will need to thoroughly test everything. Evaluate all functionalities and features to ensure seamless operation. The recommended approach is to test each component independently and keep track of everything in tickets (you can split these between: Frontend, Backend, and Migration tickets). Address all the issues and bugs that you have caught before launching and promoting your site.
Step 8 - Launch your site 🥂
It is time to launch your site! Once you're content with the testing outcomes, go ahead and launch your Drupal 10 site. Now what needs to be done is switching your DNS to point to the new site. After the launch, poke around, test your site, and see how it looks on different device screens. Don't forget crucial configurations, redirect rules, and restricting access to the Drupal 7 site. Lastly, conduct training sessions for your team members on the new functionalities and features of the Drupal 10 website.
Keep in mind that the migration of your site is an iterative process that takes up a considerable amount of time. Apart from transferring the content itself, it is also important to continuously review and implement fixes and adjustments.
Transitioning from Drupal 7 to Drupal 10 is undoubtedly a wise move for your business's online presence. However, navigating the entire migration process can be quite complex. Furthermore, even after launching the new site, it is important not to rest on your laurels. Staying up to date with the latest version of Drupal is essential to maintain your site's security and ensure everything is running smoothly. Are you planning an upgrade to Drupal 10? If you require assistance in planning a proper workflow and help with the migration process don’t hesitate to reach out to us! Our team can guarantee a painless and secure transition. Say goodbye to Drupal 7 and start a new chapter with Drupal 10.