Drupal 10, the newest version of Drupal CMS, brings a lot of new features, enhancements, updates, better performance, and stronger security to the table.
If you are still on Drupal 9, now’s the perfect time to start thinking about upgrading—because staying ahead of the curve means keeping your website fast, secure, and ready for whatever comes next.
So, why should you care about upgrading?
For starters, Drupal 10 comes with a sleek new look, thanks to its modern default themes, Olivero and Claro. It also packs a more powerful content editing experience with CKEditor 5, making it easier than ever to create and manage content.
But it’s not just about shiny new tools—upgrading ensures your site stays secure and supported. As Drupal 9’s end of life happened in November 2023, sticking with it means risking security vulnerabilities and missing out on critical updates.
That said, upgrading isn’t something you can rush into. It takes a bit of planning and preparation to make sure everything goes smoothly. From checking if your modules are compatible to updating custom code, there’s a lot to consider.
But don’t worry—we have got you covered.
In this guide, we will walk you through everything you need to know to make the leap from Drupal 9 to 10 without breaking a sweat.
Let’s get started!
⏰ 60-Second Summary
- Drupal 10 is here, bringing better performance, security, and new features.
- Drupal 9 support ended in November 2023, meaning no more updates or security patches.
- New features include modern themes (Olivero & Claro), CKEditor 5, faster performance, and better support for headless Drupal.
- Upgrading requires preparation, including updating Drupal 9 to 9.5, checking module compatibility, and backing up your site.
- Common challenges include deprecated code, incompatible modules, and configuration conflicts.
- A smooth upgrade ensures better security, improved efficiency, and future-proofing for your website.
So, What’s New in Drupal 10?
Well, the Drupal 10 version offers a lot of new things, let’s check them out one by one.
1. A Fresh, Modern Look
Drupal 10 introduces Olivero, a sleek and accessible default theme for the front end, and Claro, a clean and intuitive admin theme. These themes not only look great but also improve usability, making it easier for both visitors and site administrators to navigate your site.
2. Better Content Editing with CKEditor 5
Say hello to CKEditor 5, the latest version of the popular content editor. It’s more powerful and user-friendly, offering a smoother editing experience with features like auto-formatting, improved media handling, and better collaboration tools. Creating and managing content has never been easier.
3. Faster Performance and Stronger Security
Drupal 10 offers under-the-hood improvements that boost performance and enhance security. From optimized code to updated dependencies, your site will run faster and be better protected against potential threats.
4. Out with the Old: Deprecated APIs and Libraries
To keep Drupal modern and efficient, older technologies like Symfony 4 and jQuery UI have been deprecated. While this means some updates to your code might be necessary, it also ensures your site is built on the latest and most reliable foundations.
5. Better Support for Decoupled and Headless Drupal
If you are exploring headless or decoupled architectures, Drupal 10 has you covered. With improved APIs and better support for modern JavaScript frameworks, building decoupled experiences is now more seamless than ever.
Why You Should Upgrade from Drupal 9 to 10
Apart from the fact that Drupal 9 reached its End of Life in 2023, Drupal 10 actually brings a whole new level of performance, security, and user-friendliness. Although upgrading might sound like a hassle, trust me, the benefits make it totally worth it.
Let’s break it down in simple terms.
1. Get the Latest and Greatest Features
Who doesn’t love new features? Drupal 10 comes packed with improvements that make managing your website smoother and more enjoyable:
- New Look and Feel – The admin panel gets a modern facelift with the Claro theme, making it more intuitive and easier to navigate.
- Better Editing Experience – Say hello to CKEditor 5, which feels more like a modern word processor, making content creation a breeze.
- Sleek Front-End Design – The Olivero theme gives your site a fresh, clean, and mobile-friendly look right out of the box.
- Future-Proof Features – Drupal is constantly evolving, and upgrading now ensures you won’t be left behind when new enhancements roll out.
2. Stay Secure and Supported
Here’s the thing—Drupal 9 stops receiving updates after November 2023. That means no more security patches, and that’s a big risk for your website. Drupal 10 gives you:
- Ongoing security updates to protect your site from cyber threats.
- Better performance and speed, so your site loads faster and runs more smoothly.
- Long-term support, so you won’t have to worry about major upgrades for a while.
If security matters to you (and it definitely should), this alone is a good enough reason to upgrade.
3. Better Compatibility with Modern Tech
The web is evolving fast, and Drupal 10 is built to keep up:
- Runs on Symfony 6 – Drupal 9 used Symfony 4, which is outdated. The upgrade brings better performance, security, and longevity.
- Works smoothly with PHP 8.1 and 8.2 – Meaning faster performance and fewer compatibility issues.
- Cleaner and Lighter Code – No more outdated, clunky code slowing things down.
Simply put, Drupal 10 future-proofs your website and makes sure it’s ready for whatever comes next.
4. A Smoother Experience for Everyone
At the end of the day, a website should be easy to use—not just for visitors but also for the people managing it. Drupal 10 makes life easier with:
- A more user-friendly admin panel – Whether you are adding content, updating pages, or managing settings, everything feels simpler.
- Faster site performance – Speed is everything! Drupal 10 is optimized for quick load times.
- Better accessibility – It meets the latest web accessibility standards, so your site is more inclusive.
If you want a website that looks great, works fast, and is easy to manage, upgrading to Drupal 10 is a no-brainer.
cmsMinds can help you upgrade to Drupal 10 without the hassle.
📖 Read More: Drupal 7 to 10 Migration
Prerequisites for Upgrading from Drupal 9 to 10
Before jumping into the Drupal 10 upgrade, there are a few important steps to take. Skipping these could lead to unexpected issues, so let’s make sure your site is fully prepared for a smooth transition.
1. Update Your Drupal 9 Site to the Latest Version
First things first—your site must be running the latest version of Drupal 9 (9.5.x recommended) before upgrading.
Why?
Drupal follows a progressive upgrade path, meaning you can only upgrade to Drupal 10 from the latest Drupal 9 release. If you are on an older version, the upgrade process becomes much harder.
How to check your current version:
- Go to Reports → Status Report in the admin panel.
- Look for the Drupal version number.
If you are not on 9.5.x, update your site before proceeding!
2. Check Module and Theme Compatibility
Not all contributed modules and themes are immediately compatible with Drupal 10, so you need to verify which ones support the upgrade.
How to check compatibility:
Use the Upgrade Status module:
Install it via Composer:
bash
CopyEdit
composer require drupal/upgrade_status
- Run the module to scan your installed modules and themes for Drupal 10 compatibility.
- It will flag deprecated modules or incompatible themes that need updates or replacements.
If a module or theme is not Drupal 10 ready:
- Check if an update is available.
- Look for an alternative module if it’s no longer maintained.
- Consider custom development to replace missing functionality.
3. Review and Update Custom Code
Drupal 10 removes a lot of deprecated APIs and functions, so any custom modules or themes need to be cleaned up before upgrading.
Steps to fix deprecated code:
- Use the Upgrade Status module – It will highlight deprecated functions in custom code.
- Run the Drupal Rector tool – This tool automatically replaces old code with Drupal 10-compatible alternatives.
- Manually update remaining issues – If Rector doesn’t fix everything, update the code manually based on Drupal 10 API documentation.
4. Audit Third-Party Integrations and Dependencies
Your site may rely on external libraries, APIs, or third-party modules, and these need to be checked for compatibility.
What to look for:
- Does your site use custom integrations with services like CRMs, payment gateways, or marketing tools?
- Are there external PHP libraries installed via Composer that may not support PHP 8.1+?
- Are your contributed modules dependent on external services that may need updates?
How to check:
- Run:
nginx
CopyEdit
This will list outdated dependencies that may need updating before upgrading.
Final Checklist Before Upgrading
- Update Drupal 9 to version 9.5.x
- Ensure all contributed modules and themes are Drupal 10 compatible
- Fix deprecated custom code using Upgrade Status and Rector
- Audit external dependencies and third-party integrations
Once you’ve checked everything off, you are ready to upgrade to Drupal 10 without major issues!
Step-by-Step Guide to Upgrading from Drupal 9 to 10
Upgrading your Drupal site to Drupal 10 is a big step, but following a proper approach makes the process a lot smoother. Here’s a detailed guide to ensure everything goes as planned.
1. Backup Your Site
Before making any changes, back up your entire site to avoid data loss in case anything goes wrong.
What to back up:
- Database – Export it using mysqldump or phpMyAdmin.
- Files and Media – Copy everything in the sites/default/files/ directory.
- Configuration – Export site settings with:
arduino
CopyEdit - Composer Dependencies – Save a copy of composer.json and composer.lock.
Backup methods:
- Use a backup module like Backup and Migrate.
- Manually download files via FTP.
- Take a full server snapshot if you use cloud hosting.
2. Update Core and Contributed Modules
Your Drupal 9 site should be fully updated before moving to Drupal 10.
- Update Drupal Core to the latest 9.5.x version
composer update drupal/core –with-dependencies - Update all contributed modules and themes:
composer update drupal/* –with-dependencies - Check module compatibility using the Upgrade Status module:
- Install and enable it:
composer require drupal/upgrade_status
drush en upgrade_status -y - Run a scan in Admin > Reports > Upgrade Status to identify modules that need updating.
- Install and enable it:
- Fix deprecated code in custom modules and themes using Drupal Rector.
3. Test the Upgrade in a Staging Environment
Never upgrade directly on your live site. Instead, create a staging environment to test everything first.
How to set up a staging site:
- Copy your production database to a separate test server.
- Clone your site files and set up a test URL (e.g., staging.yoursite.com).
- Update settings.php to reflect the staging environment.
4. Run the Upgrade to Drupal 10
Once everything is prepared, it’s time to upgrade.
- Ensure Composer is updated:
composer self-update - Remove outdated Drupal 9 packages:
composer remove drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message - Install Drupal 10:
composer require drupal/core:^10 drupal/core-recommended:^10 drupal/core-composer-scaffold:^10 –update-with-dependencies - Run database updates:
drush updatedb - Clear cache:
drush cache:rebuild
5. Resolve Post-Upgrade Issues
After upgrading, check for any issues that need fixing.
Common problems and solutions:
- If you see errors related to deprecated functions, check logs under Reports > Recent Log Messages or run:
6. Test Your Site Thoroughly
Now that Drupal 10 is installed, make sure everything is functioning correctly.
What to check:
- Frontend functionality – Ensure menus, forms, and pages are working.
- Admin dashboard – Test content editing, media uploads, and settings.
- Performance – Run speed tests using tools like Google PageSpeed Insights.
- Error logs – Monitor logs for any new warnings or issues.
Once testing confirms that everything is working as expected, you can safely move the upgrade to your live site.
Common Challenges During the Drupal 9 to 10 Upgrade (and How to Fix Them)
Upgrading to Drupal 10 can come with a few bumps along the way. Here are the most common issues and how to handle them.
1. Incompatible Modules or Themes
Some contributed modules and themes may not be ready for Drupal 10.
Fix it:
- Check compatibility using the Upgrade Status module before upgrading.
- Update or replace any unsupported modules and themes.
- Look for patches or alternatives on drupal.org.
2. Deprecated Code in Custom Modules or Themes
Drupal 10 removes old functions that were used in Drupal 9, which can cause errors in custom code.
Fix it:
- Scan your custom modules and themes for deprecated code using Upgrade Status.
- Use Drupal Rector to update old code automatically.
- Manually fix any remaining deprecated functions based on the Drupal 10 API.
3. Configuration Conflicts or Missing Dependencies
After upgrading, some settings or modules might not work correctly due to missing configuration or dependencies.
Fix it:
- Run drush cim -partial to re-import configuration.
- Check for missing dependencies using composer diagnose.
- Update all dependencies with composer update -with-dependencies.
4. Performance Issues Post-Upgrade
Your site may slow down after upgrading due to cache rebuilds or outdated settings.
Fix it:
- Rebuild caches with drush cache:rebuild.
- Increase PHP memory limit if needed.
- Optimize performance settings in settings.php.
- Audit slow queries and disable any heavy modules.
When to Seek Professional Help for Your Drupal 10 Upgrade
Upgrading to Drupal 10 can be a pretty simple process for some sites, but for more complex setups, it may require expert help. If any of the following scenarios apply to you, it might be time to bring in a Drupal professional.
1. Complex Custom Code or Integrations
If your site has custom-built features, third-party integrations, or unique workflows, upgrading can get tricky. You may face:
- Deprecated functions that break custom modules.
- Conflicts between custom code and new Drupal 10 APIs.
- Issues with third-party tools like CRMs, payment gateways, or marketing platforms.
When to get help:
- You have custom modules that need rewriting for Drupal 10.
- Your site integrates with external systems and needs thorough testing.
- You are unsure how to debug errors after upgrading.
2. Lack of In-House Technical Expertise
Drupal upgrades require a solid understanding of Composer, PHP, and Drupal’s architecture. If your team doesn’t have the experience, the upgrade could take much longer and introduce risks.
When to get help:
- Your team is not familiar with Drupal development.
- You don’t have an in-house Drupal developer.
- You’ve tried upgrading but ran into roadblocks you can’t fix.
3. Tight Deadlines or Large-Scale Websites
For enterprise websites, e-commerce stores, or government portals, an upgrade isn’t just about running Composer commands—it involves careful planning, testing, and risk management.
When to get help:
- Your site is mission-critical, and downtime isn’t an option.
- You are on a tight deadline and can’t afford delays.
- You need an expert to handle the upgrade efficiently while you focus on business operations.
Why Consider cmsMinds for Your Drupal Upgrade?
If you are looking for a trusted Drupal development partner, cmsMinds is a great choice. We specialize in:
- Drupal upgrades and migrations with minimal downtime.
- Custom module development to ensure compatibility with Drupal 10.
- Performance and security optimization post-upgrade.
- Ongoing Drupal support to keep your site running smoothly.
Whether you need a full upgrade, troubleshooting, or just guidance, a Drupal expert can help make the process seamless and stress-free. If your upgrade feels overwhelming, it’s worth bringing in professionals to get it done right.
Our Drupal experts will ensure a smooth and secure transition.