Key Takeaways
- Drupal 10 requires PHP 8.1 or higher — this is the most common infrastructure blocker; verify your hosting environment supports PHP 8.1 before planning the upgrade.
- CKEditor 4 to CKEditor 5 is the most significant functional change — sites with custom CKEditor 4 plugins need D10-compatible replacements, and CKEditor 5's plugin architecture is fundamentally different.
- Bartik and Seven themes are removed from Drupal 10 — sites using these as their active themes need to migrate to Olivero (front-end) and Claro (admin) or a D10-compatible custom theme.
- The Upgrade Status module remains the first diagnostic step — run it on staging to identify all blockers before planning upgrade scope.
- Sites that maintained regular D9.x updates throughout the cycle should have minimal deprecated API usage — the preparation cost scales with how much deferred maintenance has accumulated.
In October 2021, the Drupal project announced the target date for Drupal 10: December 2022 — maintaining the same two-year major version cadence established by the Drupal 8-to-9 transition. The announcement also confirmed the pattern: Drupal 10 is being built inside Drupal 9, following the same approach where deprecated code accumulates throughout the 9.x cycle and is removed in 10. For sites that went through the Drupal 8-to-9 upgrade, the D9-to-D10 path should feel familiar — the same Upgrade Status module, the same Drupal Rector tooling, the same pattern of updating contributed modules and fixing custom code. The key differences in D10 are the CKEditor upgrade (4 to 5) and the higher PHP requirement (8.1+), which require specific preparation beyond the generic deprecation cleanup. For sites that upgraded from D8 to D9 recently, the 2021 planning window — well before the December 2022 target date — is the right time to begin assessing D10 readiness and building it into ongoing maintenance cycles.
Definition: CKEditor 4 vs CKEditor 5 in Drupal
CKEditor is the WYSIWYG rich text editor integrated into Drupal's content editing interface. Drupal 9 used CKEditor 4, which has been the standard WYSIWYG editor in Drupal since version 8. Drupal 10 upgrades to CKEditor 5 — a complete rewrite of the editor with a new plugin architecture, improved accessibility, and better performance. The upgrade is not backwards-compatible: CKEditor 4 plugins (including many popular contributed modules' CKEditor integrations — table editing, special characters, media embeds) must be updated to CKEditor 5 equivalents. The Drupal 10 core CKEditor 5 module provides D10-compatible versions of the most common CKEditor integrations. Third-party contributed modules that provided CKEditor 4 plugins must release D10-compatible CKEditor 5 versions for those integrations to work after the upgrade. Sites with custom CKEditor 4 plugins — written specifically for the site — require custom development to port them to CKEditor 5.
Drupal 10 Preparation: The Priority Checklist
The D10 preparation follows the same Upgrade Status-first approach as D9, but with specific attention to PHP version, CKEditor compatibility, and theme migration.
Start with PHP version — this is a server infrastructure decision that may have lead time. Check your current PHP version in Drupal Admin > Reports > Status Report. Drupal 10 requires PHP 8.1 minimum; PHP 8.2+ is recommended for forward compatibility. If your hosting environment is running PHP 7.4 or PHP 8.0, a hosting upgrade or migration is needed. For sites on managed hosting (Acquia, Pantheon, Platform.sh), PHP version upgrades are typically available through the hosting control panel. For sites on shared hosting or self-managed VPS, upgrading PHP requires coordination with the hosting provider or system administrator. This step should be completed early — running your D9 site on PHP 8.1 before the D10 upgrade allows verifying that existing code is compatible with the new PHP version independently of the Drupal upgrade.
CKEditor 5 preparation is the most Drupal-10-specific task. Audit all CKEditor-related modules in your site: modules that provide CKEditor 4 buttons, plugins, or format configurations. The Upgrade Status report flags CKEditor 4 incompatibilities. For each CKEditor-dependent module, check whether a D10-compatible CKEditor 5 version is available on drupal.org. If you have custom CKEditor 4 plugins (written in JavaScript to extend the editor), these require rewriting as CKEditor 5 plugins — a development task requiring JavaScript expertise. Most commonly used contributed module CKEditor integrations (Linkit, D8 Editor Advanced Link, CKEditor BiDi) have or are developing D10-compatible versions.
Theme compatibility is straightforward for sites using custom-developed themes — the same Drupal Rector-based approach to fixing deprecated API usage in custom theme templates applies. For sites using Bartik (the classic D7-era theme, included in D8/D9) as their active front-end theme, migration to a D10-compatible theme is required before upgrading. Claro replaced Seven as the default admin theme in D10. If your site has custom admin theme work on top of Seven, plan the admin theme migration as part of the D10 upgrade project.
- PHP 8.1+: verify hosting environment before planning upgrade timeline
- Upgrade Status module: run on staging — identifies all D10 blockers by category
- CKEditor 5 audit: list all CKEditor 4 modules and plugins; check for D10-compatible releases
- Bartik/Seven theme: identify alternatives (Olivero, Claro, or custom D10-compatible theme)
- Drupal Rector: run against custom modules and themes for automated deprecated API fixes
Upgrade Timeline and Strategy
With Drupal 10's December 2022 release and Drupal 9 EOL in November 2023, the planning and preparation window for D9 sites is well-defined — beginning preparation in 2021–2022 reduces upgrade urgency risk.
The recommended timeline for D9 sites: in 2021–early 2022, run the Upgrade Status module, identify the D10 blocker list, and begin resolving lower-effort blockers (PHP upgrade, contributed module updates to latest D9.x releases with D10 compatibility). In mid-2022, once Drupal 10 beta releases are available, test the upgrade on a development environment and identify any remaining blockers from the beta testing. After Drupal 10's December 2022 release, complete the upgrade on staging, verify all functionality, and deploy to production — targeting completion well before the November 2023 D9 EOL deadline.
The sites with the most complex D10 upgrade paths are: (1) Sites with many custom CKEditor 4 plugins that require complete rewrites; (2) Sites on PHP 7.4 or 8.0 with hosting environments that don't easily support PHP 8.1; (3) Sites with large volumes of contributed modules where D10 compatibility lags (particularly modules with small maintainer teams and niche use cases); (4) Sites with highly customised Bartik themes where significant design work needs to be preserved in a D10-compatible alternative. For these sites, beginning preparation in 2021 is the right approach — the longer the runway, the lower the urgency cost.
Experience Signal
The D9 sites that will have the smoothest D10 upgrades are the ones that already upgraded from D8 through a proper process — running Upgrade Status, fixing deprecated APIs, updating contributed modules — because those habits and infrastructure choices (PHP versions, contributed module selections) already align with D10's requirements. The D8 sites that were hastily upgraded to D9 without thorough deprecated API cleanup carry that technical debt forward into D10 preparation. The maintenance investment compounds — a site that does it properly at each major version transition has progressively lower upgrade effort; a site that defers maintenance at each transition has progressively higher effort.
Frequently Asked Questions
Drupal 10 made the following changes from Drupal 9: (1) PHP version requirement increased — Drupal 10 requires PHP 8.1+ (Drupal 9 supported PHP 7.4+); (2) Symfony updated from version 4/5 to version 6; (3) Twig updated from version 2 to version 3; (4) CKEditor updated from CKEditor 4 to CKEditor 5 — a significant change for sites using the WYSIWYG editor, as CKEditor 5 has a different plugin architecture; (5) Removed deprecated code — code deprecated during the Drupal 9.x cycle is removed in Drupal 10; (6) New default theme (Olivero for the front-end, Claro for the admin) — Drupal 9 sites using Bartik or Seven as admin themes need to evaluate the transition; (7) Claro becomes the new default admin theme. The Drupal 8-to-9 upgrade pattern repeats: D10 was built inside D9, with D10 being D9 with deprecated code removed and dependencies updated.
Drupal 9 reached end of life on November 1, 2023 — following the same pattern as Drupal 8 (EOL November 2021). After EOL, Drupal 9 no longer receives security updates from the Drupal security team. Sites running Drupal 9 after November 2023 accumulate security risk as new vulnerabilities are discovered without patches. Drupal 10 was released on December 14, 2022, providing a 10-month window for Drupal 9 sites to upgrade before EOL. The Drupal 10.1 and 10.2 minor releases in 2023 continued feature development on the supported version.
Use the same Upgrade Status module approach as the D8-to-D9 upgrade: install drupal/upgrade_status on your staging environment, run the compatibility scan, and review the report. Key checks for D10: PHP version (must be 8.1 or higher), contributed module D10 compatibility (check for D10-compatible releases), CKEditor 4 to 5 migration (identify any custom CKEditor 4 plugins that need D10 equivalents), deprecated API usage in custom modules and themes (the Drupal Rector tool handles many automated fixes), and theme compatibility (Bartik and Seven are removed in D10 — sites using these as their active themes need alternatives). The Upgrade Status report categorises issues by severity, identifying blockers that must be resolved before upgrading.
Sources
Running Drupal 9 and Planning for Drupal 10?
Webnixon manages Drupal version upgrades — from Upgrade Status assessment through CKEditor 5 migration, theme updates, and production deployment.
Book a Drupal ConsultationAbout the author
Jai Paek
Creative Director
Jai leads brand identity and UX design at Webnixon, bringing 20+ years of experience building digital design systems for agencies and enterprise teams. He has shipped design systems and visual identities for over 200 brands across Canada and the US, with deep expertise in conversion-focused UI, WCAG 2.1 accessibility compliance, and responsive web design for service businesses and ecommerce brands.
Related Articles

Web Design
Drupal 9 Upgrade Guide: What It Means and How to Prepare
Drupal 9 launched on June 3, 2020, and Drupal 8 reaches end-of-life in November 2021. For organisations running Drupal 8, the upgrade path is more straightforward than previous major versions — but it still requires preparation. Here's what changed and what the upgrade involves.

Web Design
Why Enterprises and Governments Choose Drupal: A Business Decision Guide
Drupal is used by the White House, NASA, the University of Oxford, and thousands of government and enterprise organisations worldwide. It's not the easiest content management system to build with — but for organisations with complex content structures, strict security requirements, and high scalability demands, it's frequently the most capable option available.

Web Design
Drupal vs WordPress: Which CMS Is Right for Your Organisation?
WordPress and Drupal are the two most widely deployed open-source CMS platforms in the world. WordPress powers over 33% of all websites. Drupal is the CMS of choice for governments, universities, and enterprise organisations with complex content requirements. Here's how to choose between them.

