Drupal 9 is over. Every week you wait is measurable risk.
Drupal 9 reached community end of life on November 1, 2023. Security releases stopped. Symfony 4 (which Drupal 9 depends on) is unsupported. Your site is technically out of compliance for most security frameworks.
The good news: Drupal 9 to 10 or 11 is much easier than 7 to 10
Unlike a Drupal 7 migration, moving from Drupal 9 to 10 or 11 is mostly a minor version upgrade. Same architecture, same configuration system, same Twig templates. If your code is clean, we can complete the migration in as little as two weeks.
A four phase migration framework
Most Drupal 9 sites are on Drupal 10 inside three weeks. Here is how we get there without a production outage.
Compatibility audit
We run Upgrade Status, check every contrib module, scan custom code with drupal-rector, and produce a written report of exactly what has to change.
Fix and upgrade on staging
Custom code patched against deprecated APIs. Contrib modules swapped or replaced. PHP upgraded. Composer updated to Drupal 10 or 11. Full regression test.
Cutover
Code deployed, drush updb, config import, cache rebuild. Typical production downtime is under 15 minutes. We rehearse the steps on staging first.
One week hypercare
Active monitoring, bug triage, and performance tuning for one week after launch. Complete documentation and a recorded walkthrough of what changed.
Timeline and investment
A Drupal 9 to 10 or 11 migration is usually a fraction of the cost and time of a Drupal 7 migration. The audit tells us which bucket your site falls into.
- Clean codebase, standard contrib: 1 to 2 weeks
- Moderate custom code or legacy contrib: 2 to 4 weeks
- Heavy custom code, deprecated APIs: 4 to 8 weeks
What is included in every migration
- Written compatibility audit with fixed scope
- Drupal 10 or 11 build on managed staging
- Custom code patched for compatibility
- Contrib module upgrades and replacements
- PHP and composer upgrades
- Full regression and visual testing
- Rehearsed low downtime cutover
- One week of post-launch hypercare
Frequently asked questions
Answers to what we hear most from teams on Drupal 9 racing against end of life.
When exactly did Drupal 9 reach end of life?
Drupal 9 reached end of life on November 1, 2023. The Drupal security team stopped issuing security advisories on that date, and Symfony 4 (a core dependency) is no longer maintained. Drupal 9 sites are now effectively running on unsupported infrastructure.
Should we go to Drupal 10 or straight to Drupal 11?
It depends on your contrib module footprint. Drupal 11 has the longest support runway, but a small number of contrib modules are still catching up. If your site uses only mainstream modules, Drupal 11 is the right target. For sites with niche contrib, Drupal 10 is the safer stop with a clean path to 11 later.
Will our content and configuration survive?
Yes. This is a minor version upgrade path, not a rebuild. Content, users, taxonomies, fields, menus, and configuration all upgrade in place. We use drush updb and a config import to apply the database schema and config changes.
What if our custom code uses deprecated APIs?
We run drupal-rector to identify and patch deprecated API usage automatically. Anything the tool cannot fix we rewrite by hand. The compatibility audit tells you upfront exactly how much custom code needs attention.
How long does the migration really take?
Most Drupal 9 sites take between 1 and 4 weeks from audit sign off to production launch. Sites with heavy custom code or deprecated contrib dependencies can take up to 8 weeks. Cutover downtime is usually under 15 minutes.
Can you also handle hosting the upgraded site?
Yes. Our managed Drupal hosting is tuned for Drupal 10 and 11 with Redis, Varnish, and daily backups out of the box. Most clients move hosting during the migration as a single project.
Stop running unsupported infrastructure
Free 30 minute audit tells you exactly how long your Drupal 9 to 10 or 11 upgrade will take and what it will cost. Fixed scope, no pitch deck.
Book Your Free Audit