Skip to content

On Drupal 9 or 10?

Drupal 9 and 10 to 11 upgrade

An in-place upgrade to Drupal 11 with deprecations cleared, removed modules replaced and PHP 8.3 in place, at a price fixed after a five-day assessment.

This is for you if

  • your site runs Drupal 10, which stops receiving security support in December 2026
  • you are still on Drupal 9, which reached end of life in November 2023, and want to skip a version
  • your last upgrade attempt stalled on a module that had no Drupal 11 release
  • your hosting provider has told you PHP 8.1 or 8.2 is being switched off

What is included

Upgrade Status report, read by a person
We run the Upgrade Status module and then go through every finding, because the report lists what is incompatible, not what to do about it.
Custom code brought forward
Drupal Rector handles the mechanical deprecations. The rest, including anything Rector cannot express, is fixed by hand and tested.
Removed core modules replaced
Drupal 11 dropped modules such as Tracker, Forum, Statistics, Book, Action UI and Tour from core. Each one in use on your site is swapped for its contrib version or retired, with your agreement.
PHP 8.3 and dependency upgrade
Composer constraints, contrib modules and the PHP runtime are moved together so the site never sits in a half-upgraded state.
Full regression pass on staging
Editor workflows, forms, integrations and search are exercised on a copy of production before anything touches the live site.
Launch with thirty days of monitoring
The upgrade is deployed with a rollback path. We watch logs and uptime for a month afterwards and fix what turns up.

Drupal 11 was released in August 2024. Drupal 10 stops receiving security fixes in December 2026, and Drupal 9 already stopped in November 2023. The gap between versions is smaller than it used to be, but it is still a project with decisions in it, not a button to press.

What the assessment finds

A free initial review comes first: send us the URL and the Drupal version, and within one working day you know whether an upgrade is the right move and what the assessment costs. The assessment is a fixed fee, deducted from the upgrade if you go ahead.

We run the Upgrade Status module against a copy of your site and read the full report. It lists every contrib, theme and custom module with its readiness for Drupal 11, and every deprecated API call in your code. We also check the PHP version, the Composer setup, the patch list and any modules that Drupal 11 removed from core. The result is a scope document with a fixed price, a launch date and the name of the engineer who wrote it and will do the work.

The report usually contains a few items that need a decision from you: a contrib module with no maintained release, a custom module nobody remembers asking for, a feature cheaper to drop than carry forward. Each is listed with a recommendation and a cost either way.

How the code moves

Drupal Rector rewrites the mechanical deprecations automatically, such as renamed methods and changed constructor signatures. That typically covers a large share of the findings. The remainder is done by hand: service changes, removed hooks, theme functions that became Twig, and anything that touches the removed core modules. Each change is committed separately so the history explains itself later.

Contrib modules are updated through Composer to their Drupal 11 releases. Where a module is only compatible via a community patch, the patch is recorded in the Composer patches file with a link to the issue, so it is visible and can be dropped when a release arrives.

PHP moves to 8.3 or newer at the same time, because Drupal 11 will not run on older versions. Hosting, local development and CI are updated in step. If you host with us, that is included; if not, we give your provider exact requirements in writing.

Testing and cutover

The upgraded site runs on a staging environment with a fresh copy of production content. We walk through the editorial workflows, forms, search, integrations and any scheduled jobs. Your editors get access to check the parts only they know. Every Friday you get a written status with what was done and what is waiting on you.

Deployment to production repeats the rehearsed staging steps. Database updates run in a brief maintenance window, and a rollback to the previous release stays available until you are satisfied. For thirty days afterwards we monitor logs and uptime and fix anything that surfaces.

What you keep

The upgraded repository, with its Composer lock file, patch list and a short runbook for updates and deployment, is yours. Drupal 11 will receive minor releases every six months, and keeping up with them is smaller work than this upgrade was. Some clients take that on themselves; others hand it to a support and maintenance retainer. Either way, the site is in a state where the next upgrade is routine. If you are unsure which version you are on or what the report would show, get in touch and we will tell you.

Common questions

Is Drupal 10 to 11 a migration or an upgrade?
An upgrade. Unlike the move from Drupal 7, the content and configuration stay where they are. The work is in the code: clearing deprecations, updating contrib modules, replacing removed core modules and moving to PHP 8.3 or newer, which Drupal 11 requires.
We are on Drupal 9. Do we have to go to 10 first?
Yes, but you do not have to stop there. Drupal 9 has to pass through Drupal 10 because of the Symfony and PHP steps involved. We do both hops in one project and you sign off once, on Drupal 11.
Some of our contrib modules have no Drupal 11 release. What then?
The assessment lists each one with its options: a compatible release, a community patch we can apply and track, a different module that does the same job, or a small custom replacement. You choose per module. We do not quietly fork things and leave you carrying the maintenance.
How much downtime does the upgrade cause?
Normally none that visitors notice. The upgraded code is deployed to production with a short maintenance mode window while database updates run, typically minutes. If your hosting supports it, we deploy without maintenance mode at all.

Not sure which one you need?

Send us the URL and a sentence about what is bothering you. We will tell you which service fits, or whether you need one at all. The first reply is free and commits you to nothing.

Ask us