Smile news

Drupal 10 Migration: Steps, Tools, and Best Practices

  • Date de l’événement Sep. 21 2026
  • Temps de lecture min.

Audit, 6Rs, Terraform, FinOps, sovereignty: plan your cloud migration to AWS methodically. Experience feedback and recognized expertise from Smile.

Drupal 9 reached its end of life in November 2023. Drupal 8 reached its end of life in November 2021. Sites that have not yet migrated are exposed to unpatched security vulnerabilities. This poses a real risk to data and service continuity.

Migrating to Drupal 10 is not optional. But with proper preparation, it's also an opportunity. It's the perfect time to modernize your architecture, improve performance, and adopt a headless approach.

This guide explains what's changing, the steps to follow, and the mistakes to avoid.

What is Drupal and why migrate to Drupal 10?

A CMS (Content Management System) is a content management system. It allows editorial teams to create and publish content without technical skills.

Drupal is an open-source CMS. It is used by organizations with complex needs: multilingual websites, advanced access control, multisite architecture, and multiple integrations. It is the leading CMS for large public and private organizations in France.

Why migrate now?

Drupal 8 and 9 no longer receive security updates. A site that hasn't been migrated is vulnerable. Vulnerabilities discovered after the end of life are not patched. This is a direct exposure to cyberattacks.

What's new in Drupal 10

Drupal 10 brings significant improvements. The administration interface is modernized. Performance is improved. Support for new PHP and Symfony technologies is natively integrated.

What's changing in Drupal 10

PHP 8.1 minimum

Drupal 10 requires PHP 8.1 as a minimum. PHP 8.1 is faster and more secure than previous versions. Servers still running PHP 7 or PHP 8.0 must be updated before migration.

Symfony 6

Drupal uses components of the Symfony framework. Symfony is a set of reusable PHP tools. Drupal 10 integrates Symfony 6, a newer and more performant version. Modules that depend on older versions of Symfony must be updated.

CKEditor 5

CKEditor is the text editor used in the Drupal back office. Version 5 replaces version 4. The interface is more modern. Editing features are improved. Some custom CKEditor 4 plugins need to be rewritten.

Olivero and Claro: the new themes

Olivero is the new default frontend theme. Claro is the new admin theme. Both are accessible and compliant with modern standards. Existing custom themes will need to be adapted.

Removal of deprecated modules

Several modules present in Drupal 9 have been removed in Drupal 10. These include Aggregator, Color, RDF, Quick Edit, and Seven. Sites that use these modules should find alternatives before migrating.

The steps to a successful Drupal 10 migration

Step 1: Audit the existing situation

We begin by listing all installed modules. We check their compatibility with Drupal 10. We identify deprecated modules and those without equivalents. This is the most important step. It determines everything that follows.

Step 2: Update the dependencies

We update PHP, the web server, and the database. We verify that the hosting environment is compatible with Drupal 10. We use Composer to manage all project dependencies.

Step 3: Migrate the contribution modules

Contribub modules are modules created by the Drupal community. Some are already compatible with Drupal 10. Others are still being updated. For modules without a compatible version, we look for alternatives or develop a custom solution.

Step 4: Adapt the themes

The frontend and administration themes must be updated. The Twig templates (Twig is Drupal's templating language) must be checked. The CSS styles and JavaScript scripts must be tested.

Step 5: Test and recipe

We test all the site's functionalities: forms, editorial workflows, third-party integrations, and performance. We involve the editorial teams in the testing process. They understand the user journeys better than the developers.

Step 6: Put into production

We plan the production deployment outside of peak hours. We prepare a rollback plan in case of problems. We monitor the site during the first few hours after the switchover.

Essential tools

Composer: managing dependencies

Composer is the PHP dependency manager. It installs and updates all the project's modules and libraries. It is essential for a clean Drupal 10 migration.

Upgrade Status: Check compatibility

Upgrade Status is a Drupal module. It analyzes all installed modules and indicates their compatibility level with Drupal 10. It is the first tool to install before starting the migration.

Drush: the command-line tool

Drush is Drupal's CLI (command-line interface) tool. It allows you to perform maintenance operations, update the database, and clear caches. It is essential for automating repetitive migration tasks.

phpcs: check the code quality

phpcs (PHP CodeSniffer) analyzes custom PHP code. It detects incompatibilities with Drupal 10. It is particularly useful for projects with a lot of custom development.

Migrating to Drupal 10 headless

Why adopt headless technology when migrating?

Migration is the perfect time to evaluate a headless architecture. A headless CMS exposes content via APIs. The frontend is developed separately. This is more flexible and performs better.

Drupal 10 natively supports headless architecture. JSON:API and GraphQL are integrated without additional modules. This is a natural evolution for organizations that want to distribute their content across multiple channels.

Integration with frontend frameworks

Drupal 10 integrates natively with Next.js and Nuxt.js. These frameworks consume Drupal content via APIs. Server-side rendering (SSR) ensures excellent performance and good SEO.

Common mistakes to avoid

Underestimating incompatible modules

This is the most common mistake. Some contrib modules don't yet have a Drupal 10 compatible version. Identifying them too late will block the migration. Auditing the modules should be the very first step.

Neglecting regression tests

A regression test verifies that existing functionalities still work after the migration. Without structured testing, bugs can be pushed into production, impacting users and editorial teams.

Migrate without a rollback plan

If something goes wrong in production, it must be possible to roll back quickly. A rollback plan is essential. It must be tested before going live.

Smile and Drupal: our expertise

At Smile, we have been supporting Drupal 10 migrations since the early beta versions of the CMS. We are one of the most recognized Drupal integrators in France. We have migrated dozens of complex sites: institutional portals, e-commerce platforms, multisite sites, and headless architectures.

Our approach always begins with a comprehensive audit. We identify the risks. We plan the migration in stages. We guarantee service continuity during the transition.

Looking to plan your Drupal migration? Discover our expertise in migrating to Drupal 10 .

Frequently Asked Questions about Drupal 10 Migration

My website is still on Drupal 7. What should I do?

Drupal 7 reached its end of life in January 2025. A direct migration to Drupal 10 is not technically possible. A content migration using the Migrate module is required. This is a more complex project than a version upgrade from Drupal 9. It requires in-depth analysis and rigorous planning.

How long does a Drupal 10 migration take?

It depends on the complexity of the site. A site with few contributed modules and no custom development can be migrated in a few weeks. A complex site with many custom modules and a multisite architecture may require several months. The initial audit provides a reliable estimate.

Is it possible to migrate to Drupal 10 without service interruption?

Yes, with proper preparation. We work in a staging environment (a test environment identical to production). We switch to production during a short maintenance window. With a good rollback plan, the risk of prolonged downtime is very low.

Is Drupal 10 suitable for headless gaming?

Yes. Drupal 10 is one of the best headless-friendly CMSs among open-source solutions. JSON:API is natively integrated. GraphQL is available via a maintained module. Migrating to Drupal 10 is a good opportunity to evaluate a headless architecture for distributing content across multiple channels.