Let’s create something better together.

If you prefer phones, we have one of those too: +1 (919) 694-8000










    • Project Info
      icon
    • Technology
      icon
    • Contact Details
      icon







      BackNext








      Back

      Drupal 9 to 10 Upgrade: Should You Upgrade Now?

      Drupal 9 to 10 upgrade

      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.

      Upgrade Your Site with Confidence

      cmsMinds can help you upgrade to Drupal 10 without the hassle.

      SCHEDULE A FREE CALL

      📖 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
      composer outdated

      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
      • drush config-export –destination=../config-backup
      • 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.

      Steps to update:

      1. Update Drupal Core to the latest 9.5.x version
        composer update drupal/core –with-dependencies
      2. Update all contributed modules and themes:
        composer update drupal/* –with-dependencies
      3. 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.
      4. 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.

      Steps to upgrade:

      1. Ensure Composer is updated:
        composer self-update
      2. Remove outdated Drupal 9 packages:
        composer remove drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message
      3. Install Drupal 10:
        composer require drupal/core:^10 drupal/core-recommended:^10 drupal/core-composer-scaffold:^10 –update-with-dependencies
      4. Run database updates:
        drush updatedb
      5. 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:
      drush ws

      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:

      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.

      Need Help Upgrading to Drupal 10?

      Our Drupal experts will ensure a smooth and secure transition.

      CONTACT US TODAY TO GET STARTED!

      FAQs

      If you don’t upgrade, your Drupal 9 site will no longer receive security updates or bug fixes after its end-of-life date. This makes your website vulnerable to security threats, performance issues, and compatibility problems with newer technologies. Upgrading ensures your site stays secure, fast, and supported in the long run.

      Not all modules and themes are immediately compatible with Drupal 10. You’ll need to check for updates, replace unsupported modules, and update custom code to remove deprecated functions. The Upgrade Status module can help identify any issues before upgrading.

      The upgrade timeline depends on your site’s complexity. A simple site with minimal custom code may take just a few hours, while a large or heavily customized site could take weeks. Testing in a staging environment before upgrading the live site is recommended.

      The main risks include module incompatibilities, broken custom code, and performance issues. However, these risks can be minimized by testing in a staging environment, ensuring all dependencies are up to date, and working with Drupal experts if needed.

      If your site is small and uses standard modules, you may be able to upgrade using Composer and Drush. However, if you have custom modules, integrations, or a complex setup, hiring a Drupal expert like cmsMinds can save time and ensure a smooth transition without downtime.

      Author's Bio

      Share This Article:

      Recent Blogs