Drupal 7 to Drupal 10 Migration: Your Step by Step Guide
Drupal 7 will reach end of life on January 5, 2025. The Drupal Association has confirmed that there won’t be any more extensions to the deadline!
If you haven’t already, make sure you’ve read about the risks of staying on Drupal 7 and our recommended actions.
If you’re reading this article, chances are you’ve decided your site’s future lies with Drupal 10. That’s exciting news—there are tons of great features waiting for you on the other side of the Drupal 7 to Drupal 10 migration!
So let’s take a look at what it’ll take to get you there. While each migration project is unique, you can generally split it up into the steps below.
1. Review your Drupal 7 website
Moving from Drupal 7 to Drupal 10 is a big step. So take it as an opportunity to plan your site’s future and assess its structure, content, functionality, and design.
Here are some questions to get you started:
- What do you want from Drupal 10? Envision how you’ll leverage Drupal 10’s features to enhance and grow your digital presence. Consider setting up a sandbox environment to play around in.
- Does the current structure work well? Think about how you could improve the information architecture to make your new site easier to navigate.
- What needs to be migrated? Consider if you need all of the current functionality and content. You might want to optimize or rewrite your content. Creating a data transfer table (DTT) will help you map old and new content structures and reduce the risk of losing data.
- Does the design need a refresh? Explore opportunities to update the look and feel of your site to make your brand shine.
- Does your code need an overhaul? This is a good time to revisit custom code and bring it up to speed with best practices and modern standards.
- How big of a job is it? Complex, multilingual, and content-heavy sites often present additional challenges that require more resources and expertise.
Need some guidance? Consider getting a site audit, digital strategy, redesign, or migration support from an expert partner like Evolving Web. As a Drupal Signature Supporting Partner with 16+ years of experience, we can help you move forward with confidence.
2. Check Modules Availability
Are you using contributed modules to extend the functionality of your Drupal 7 site? If so, you’ll need to check that they’re compatible with Drupal 10 or find an alternative before you migrate.
You can do this by manually checking each module’s page on drupal.org, or by using a tool such as the Upgrade Status module.
Even if your existing modules are Drupal 10 compatible, it’s worth taking a look at alternatives as the Drupal community might have created better solutions. If you want a better alternative but there isn’t one available, you can ask an agency with development services to port the module to Drupal 10.
Also, see what new modules you can use with Drupal 10 that you couldn’t with Drupal 7. For example, take a look at these 5 modules that enhance CKEditor 5, the default WYSIWYG editor in Drupal 10.
3. Create Your Drupal 10 Website
You’ll need to create a brand new website using the latest version available (Drupal 10.1 at the time of writing).
Install the modules you selected in the previous step. Remember that the installation process will be different in Drupal 10 than it was in Drupal 7.
Set up your content structures including blocks, content types, media types, webforms, and menus. Consider taking advantage of Layout Builder—a core module since Drupal 8.5 that replaces the Panels module. Layout Builder’s powerful drag-and-drop functionality makes it easy to build attractive, flexible pages.
4. Update Your Code
Try and use existing contributed modules where possible to reduce the need for custom code. Any custom themes will need to be recreated from scratch. Check out our guide on how to use a Single Directory Components approach to theming.
Use best practices and modern coding standards. Remember, Drupal 10 requires at least PHP 8.1 and has updated database requirements. Check out our guide to porting CKEditor plugins to Drupal 10.
Implement your custom modules and themes on your Drupal 10 website.
5. Migrate Your Data
If you don’t have much content, you might be able to manually migrate it from the old site to the new one. Otherwise, you’ll probably want to automate the process.
If you do an automated migration, you can use the Migrate API to move over content and configurations. Make sure you understand its limitations and have a plan for managing them. For example, you may need to recreate views with the views migration module.
Other helpful modules for migration include Migrate Plus, Migrate Tools, and Migrate Scanner.
Complete migration for one content type and before starting to work on others. This will save time as you’ll be able to use the first completed migration as a template for the rest of them.
If you need to migrate a huge amount of content, it’s better to run migrations via Drush than UI so that it’s easier to roll back and rerun them quickly.
Before you migrate:
- Clean up content and data on your Drupal 7 site
- Update your old site to the latest Drupal 7 version
- Back up your data in case something goes wrong
- Announce a content freeze so that nobody updates the old site during migration
- Make sure old URLs are redirected to avoid 404 errors
6. Test Your New Site
Systematically test and QA your new website to ensure it’s secure, performant, and accessible across various devices. Check that all of the content and data have been migrated correctly. Finally, get approval from the necessary stakeholders.
7. Launch! 🚀
Let your audiences know about the upcoming change. This is a nice opportunity to show off and explain how it benefits them!
Update your site's DNS settings to point to your Drupal 10 website. Re-implement any old redirects or custom URLs, and watch for any 404 errors or other warnings in your logs.
Lock down your old Drupal 7 site so that it’s secure and can’t be accessed by the public. You may want to eventually create a static copy and a backup for reference.
8. Continue to Evolve Your Site
- Train your team to use Drupal 10. Give them the skills and confidence to independently update your site with our custom training or Drupal Learning Tracks.
- Keep your new site secure. Implement security patches as soon they’re released. You may be able to use the Automatic Updates module to make the job easier (this module won’t work if you’re using a hosting platform such as Acquia or Pantheon.)
- Nurture your digital presence. It should be a living thing that’s always adjusting to stay relevant and valuable. Keep UX/UI considerations at the front of your mind.
- Explore new modules. The Drupal community is continuously creating fresh solutions. You can easily search modules within the Drupal 10 admin UI using Project Browser.
Embrace innovation. Drupal is gearing up for radical transformation that’ll bring you even more possibilities, such as the adoption of AI technologies.
//-->