Migration
Should you upgrade Drupal or replatform to Sanity?
Short answer
Drupal 10 sites need to upgrade to Drupal 11 before Drupal 10's end of life on 9 December 2026 (Drupal.org release schedule, October 2026); from version 10.3, that's an in-place Composer upgrade (Drupal.org). Drupal 7 lost support on 5 January 2025 and rebuilds on any path (Drupal.org, migration docs, October 2026), so Drupal 7 is where Sanity competes.
- Drupal 10 end of life
- 9 December 2026The same week Drupal 12.0.0 is scheduled to ship; drupal.org makes no Drupal 10 releases after that date, security fixes includedSources: Drupal.org (Drupal core release schedule, Define explicit Drupal 10 end of life date)
- Drupal 7 end of life
- 5 January 2025, the final extensionNo more core security advisories; extended support only from vetted vendors such as HeroDevs and Tag1 ConsultingSources: Drupal.org (Drupal 7 End of Life, End of life announcement and changes to Drupal 7 support)
- Drupal 7 to Drupal 11
- A migration into a new siteContent and configuration migrate, the theme is rebuilt, and contributed modules without an upgrade path need custom migrationsSource: Drupal.org (Upgrading from Drupal 6 or Drupal 7: Overview)
- Sanity Growth plan
- $15 per seat a month, billed monthlyCustom roles and access control sit on Enterprise, which is custom pricing, as of October 2026Sources: Sanity (Plans that scale with you, Sanity for Startups); Sanity Docs (Roles)
Deploi’s call
Upgrade Drupal 10 to Drupal 11 before 9 December 2026, then judge replatforming on its own merits. The deadline forces a version upgrade, not a new CMS. Drupal 7 is the real decision: every path rebuilds the site, so price Drupal 11 and Sanity side by side as two rebuilds.
UpgradeUpgrade to Drupal 11 when
- You run Drupal 10.3 or later, and Upgrade Status shows Drupal 11 releases or patches for your contributed modules.
- One website is the only channel, and Drupal's theme renders it well.
- Editors depend on permissions by role and content type, and a Sanity Enterprise quote for custom roles (Enterprise only as of October 2026) is out of budget.
- Policy requires you to host the content database yourself.
SanityReplatform to Sanity when
- You're still on Drupal 7, so Drupal 11 would also mean a new site, a new theme and a content migration.
- The same content feeds several sites, apps or brands, and HTML body fields block reuse.
- Your front end is moving to a JavaScript framework anyway.
- Your developers can own the import scripts, the front end and the redirects after launch.
What forces the Drupal decision in 2026?
Two end-of-life dates force the Drupal decision in 2026. Drupal 7 lost security support on 5 January 2025, and Drupal 10 reaches end of life on 9 December 2026, the same week Drupal 12.0.0 is scheduled to ship (Drupal.org release schedule; Drupal.org, Drupal 12 release issue, October 2026). After that, drupal.org makes no new Drupal 10 releases, security fixes included. From 24 October 2026, that leaves 46 days (Deploi arithmetic from the dates above). Drupal 11 has no published end-of-life date; drupal.org supports each major until two further majors ship (Drupal.org release process, October 2026).
| Drupal version | Status in October 2026 | End of life |
|---|---|---|
| Drupal 7 | Unsupported; paid vendor support only | 5 January 2025, the final extension |
| Drupal 10 | Supported; last minor is 10.6 | 9 December 2026 |
| Drupal 11 | Current; 11.5 scheduled for the week of 7 December 2026 | Not published |
| Drupal 12 | Beta since September 2026; release scheduled for the week of 7 December 2026 | Not published |
What does staying on Drupal involve?
Staying on Drupal means a Composer upgrade for a Drupal 10 site and a full migration for a Drupal 7 site. A Drupal 10 site upgrades in place once it clears three checks (Drupal.org upgrade guide, October 2026):
- It runs Drupal 10.3.0 or later.
- It meets Drupal 11's platform requirements, including PHP 8.3.0 or later.
- The Upgrade Status module finds no compatibility gaps, after Drupal Rector fixes custom code deprecated in Drupal 10.
The hard part is contributed modules: the guide tells you to check each module's issue queue for Drupal 11 patches, so one abandoned module can hold the whole upgrade.
Drupal 7 is a different job. Drupal.org says an update can't simply be applied to a Drupal 7 site: content and configuration migrate into a new Drupal 10 or later site, the theme is rebuilt, and contributed modules without an upgrade path need manual or custom migrations (Drupal.org migration overview, October 2026). That's a rebuild in all but name, which is why Drupal 7 owners should price other platforms too.
Staying also means Drupal's cadence: a core security release window every month (Drupal.org release schedule, October 2026) and a new major version every two years (Drupal.org release process, October 2026).
When does replatforming to Sanity win?
Replatforming to Sanity wins when you'd rebuild the site anyway and the content has to serve more than one website. Sanity is a headless platform: it stores content and serves it through APIs (application programming interfaces), and it doesn't generate web pages (Sanity's Drupal guide, October 2026). Drupal stores rich text as HTML in its database, which is hard to reuse outside a browser. Sanity stores rich text as Portable Text, a JSON rich text format, so an app, a feed or a second site can render the same field (Sanity's Drupal guide, October 2026).
Three situations favor the move:
- You're on Drupal 7, so a Drupal 11 path also means a new site, a new theme and a content migration.
- The same content feeds several sites, apps or brands, which is the case for running several sites from one content platform.
- Your front end is moving to a JavaScript framework, and your developers would rather define content models in code than in an admin interface.
Sanity's own Drupal page claims "limitless content types and nested objects" (Sanity, Switching from Drupal?, October 2026). Read that as marketing; the side-by-side Sanity and Drupal comparison tests the claims.
When should you stay on Drupal, or pick a CMS other than Sanity?
Stay on Drupal when one website is the only channel and editors depend on Drupal's permissions. Sanity's 2020 guide says Drupal grants editor access by role and content type (Sanity's Drupal guide, October 2026). Sanity's default roles grant access to whole datasets, and custom roles are Enterprise only (Sanity Docs, Roles; Sanity pricing, October 2026), so matching Drupal means an Enterprise quote. Pick another content management system (CMS) if you must host the content database: Sanity hosts it, and only Sanity Studio can be self-hosted (Sanity's Drupal guide, October 2026; Sanity Docs, Studio development, October 2026).
| Verdict | What you do | When it wins |
|---|---|---|
| UPGRADE | Upgrade Drupal 10 to 11 with Composer | Drupal 10.3 or later, compatible contributed modules, one website |
| ELSEWHERE | Replatform to another CMS | You must self-host the database, or want a CMS that renders pages |
| WAIT | Buy Drupal 7 extended support from a vetted vendor | A rebuild is funded and scheduled, and you need security coverage until launch |
How big is a Drupal to Sanity move?
A Drupal to Sanity move is a content migration plus a new front end, and four counts from your Drupal site set its size:
- Content types, each a Sanity document type.
- Paragraph types, each an object type in an array (Sanity's Drupal guide, October 2026).
- Views, each rewritten as a GROQ (Graph-Relational Object Queries) query in the front end.
- Custom modules, each a feature to rebuild or drop.
Each one becomes one Sanity type, one query, or one feature to rebuild or drop, so the counts, not the mapping, set the one-time cost of moving.
Sanity's migration skill for AI (artificial intelligence) agents scaffolds the import scripts but doesn't fully automate them (Sanity, What's new in August, October 2026), so your developers own those scripts; the Drupal to Sanity playbook covers Sanity's Drupal tooling, the field map and the step-by-step plan.
How do you compare the cost of staying on Drupal with the cost of moving to Sanity?
Compare both paths over the same horizon, with the next forced event in each column, and count one-time and recurring costs separately. A fair horizon for a Drupal 11 site runs to the Drupal 13 release, due in 2028 by Deploi arithmetic from drupal.org's two-year cadence (Drupal.org release process, October 2026). Sanity's subscription is the one published price: Growth costs $15 per seat a month, billed monthly, and Enterprise is custom pricing (Sanity pricing, October 2026). Twenty editors on Growth pay $300 a month (Deploi arithmetic from the figures above).
| Cost driver | Staying on Drupal | Moving to Sanity |
|---|---|---|
| One-time work | Drupal 11 upgrade, or a Drupal 7 rebuild with a new theme | Schema, import scripts, Portable Text conversion and a new front end |
| Permissions | Role and content type permissions | Custom roles need Enterprise |
| Next forced event | Drupal 10 end of life on 9 December 2026; Drupal 13 in 2028 for Drupal 11, by Deploi arithmetic | Old API (application programming interface) versions retired, with advance notice |
Deploi’s point of view
- Where we disagree
- The common pitch says Drupal's end of life forces you off Drupal. That is closer to true for Drupal 7, where every path is a rebuild, and isn't for Drupal 10: from version 10.3, the move to Drupal 11 is a Composer upgrade with compatibility checks, not a migration. The second mistake is pricing Sanity as a CMS swap. Sanity doesn't render pages, so leaving Drupal also means building and hosting a new front end, and that line belongs in the estimate from day one.
- What we’ve seen
- Rich text is where content migrations break, and we've solved it for deploi.ca's own content. Our Shopify FAQ hub converts Markdown to Portable Text with custom block types for tables, callouts and code, because 229 of its 256 live answers carried at least one table on 24 October 2026, and each table carries a caption, sources and an as-of date that Portable Text's built-in table doesn't hold. We ship content to Sanity as packages with an import, count checks and a rollback by document ID list; the first wave of our Shopify data section was 406 documents and 159 images, as of 24 October 2026.
- What we'd tell you to do first
- On Drupal 10, run the Upgrade Status module before any replatforming talk: its report of modules without Drupal 11 releases is the real size of staying. Then count content types, Paragraph types and Views, which is the real size of moving.
- What we refuse to promise
- We won't quote hours or a timeline for a Drupal to Sanity move from a call. Both depend on your own site's content types, Paragraph types, Views and custom modules, which vary too much between Drupal sites for a rule of thumb, and on vendor prices that aren't published, such as Sanity's Enterprise plan.
When this answer changes
- Drupal.org moves Drupal 10's 9 December 2026 end of life or announces extended support for Drupal 10
- Drupal 12.0.0 ships, or slips from the week of 7 December 2026
- Drupal.org publishes an end-of-life date for Drupal 11
- Sanity publishes a Drupal migration course or importer, or changes its migration skill's Drupal guide
- Sanity changes the Growth price of $15 per seat a month or offers custom roles below Enterprise
Sources
Every source opened and checked on 25 October 2026.
- Drupal.org, Drupal 7 End of Life
- Drupal.org, Drupal core release schedule
- Drupal.org, Drupal 10 will be supported until the release of Drupal 12 in mid-late 2026
- Drupal.org, End of life announcement and changes to Drupal 7 support
- Drupal.org, Upgrading from Drupal 6 or Drupal 7: Overview
- Drupal.org, How to upgrade from Drupal 10 to Drupal 11
- Drupal.org, Release process overview
- Drupal.org, Drupal core project page
- Sanity, Plans that scale with you
- Sanity, Sanity for Startups
- Sanity, The Drupal developer's introduction to Sanity.io
- Sanity, Switching from Drupal? Consider Sanity
- Sanity Docs, Roles
- Sanity Docs, Studio development
- Drupal.org, Define explicit Drupal 10 end of life date
- Drupal.org, Drupal core 12.0.0-beta1 release
- Sanity Docs, API Versioning
- Drupal.org, Drupal 12 release issue
- Sanity, What's new in August