# Should you upgrade Drupal or replatform to Sanity?

Reviewed by Martin Dejnicki · facts verified 25 October 2026 · canonical: https://deploi.ca/sanity/migration/leaving-drupal

## 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](https://www.drupal.org/about/core/policies/core-release-cycles/schedule), October 2026); from version 10.3, that's an in-place Composer upgrade ([Drupal.org](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-10-to-drupal-11)). Drupal 7 lost support on 5 January 2025 and rebuilds on any path ([Drupal.org](https://www.drupal.org/about/drupal-7/d7eol), [migration docs](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-6-or-7-to-drupal-8-and-newer), October 2026), so Drupal 7 is where Sanity competes.

- **Drupal 10 end of life:** 9 December 2026. The same week Drupal 12.0.0 is scheduled to ship; drupal.org makes no Drupal 10 releases after that date, security fixes included ([Drupal.org, Drupal core release schedule](https://www.drupal.org/about/core/policies/core-release-cycles/schedule); [Drupal.org, Define explicit Drupal 10 end of life date](https://www.drupal.org/project/drupal/issues/3524111))
- **Drupal 7 end of life:** 5 January 2025, the final extension. No more core security advisories; extended support only from vetted vendors such as HeroDevs and Tag1 Consulting ([Drupal.org, Drupal 7 End of Life](https://www.drupal.org/about/drupal-7/d7eol); [Drupal.org, End of life announcement and changes to Drupal 7 support](https://www.drupal.org/psa-2023-06-07))
- **Drupal 7 to Drupal 11:** A migration into a new site. Content and configuration migrate, the theme is rebuilt, and contributed modules without an upgrade path need custom migrations ([Drupal.org, Upgrading from Drupal 6 or Drupal 7: Overview](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-6-or-7-to-drupal-8-and-newer))
- **Sanity Growth plan:** $15 per seat a month, billed monthly. Custom roles and access control sit on Enterprise, which is custom pricing, as of October 2026 ([Sanity, Plans that scale with you](https://www.sanity.io/pricing); [Sanity, Sanity for Startups](https://www.sanity.io/startups); [Sanity Docs, Roles](https://www.sanity.io/docs/user-guides/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.

**UPGRADE: Upgrade 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.

**SANITY: Replatform 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](https://www.drupal.org/about/core/policies/core-release-cycles/schedule); [Drupal.org, Drupal 12 release issue](https://www.drupal.org/project/drupal/issues/3449806), 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](https://www.drupal.org/about/core/policies/core-release-cycles/release-process-overview), October 2026).

**Drupal 7 is past end of life, and Drupal 10 ends on 9 December 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 |

Sources: [Drupal.org, Drupal 7 End of Life](https://www.drupal.org/about/drupal-7/d7eol); [Drupal.org, Drupal core release schedule](https://www.drupal.org/about/core/policies/core-release-cycles/schedule); [Drupal.org, Drupal 10 will be supported until the release of Drupal 12 in mid-late 2026](https://www.drupal.org/about/core/blog/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](https://www.drupal.org/psa-2023-06-07); [Drupal.org, Drupal core project page](https://www.drupal.org/project/drupal); [Drupal.org, Define explicit Drupal 10 end of life date](https://www.drupal.org/project/drupal/issues/3524111); [Drupal.org, Drupal core 12.0.0-beta1 release](https://www.drupal.org/project/drupal/releases/12.0.0-beta1); [Drupal.org, Drupal 12 release issue](https://www.drupal.org/project/drupal/issues/3449806). As of 24 October 2026.

> **Sanity's Drupal guide still gives the old Drupal 7 date**
>
> Sanity's 2020 guide says Drupal 7 would reach end of life in November 2021 ([Sanity's Drupal guide](https://www.sanity.io/blog/sanity-vs-drupal7), October 2026). Drupal.org extended it, and a 2023 announcement set 5 January 2025 as final ([Drupal.org announcement](https://www.drupal.org/psa-2023-06-07), October 2026).

## 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](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-10-to-drupal-11), 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](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-6-or-7-to-drupal-8-and-newer), 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](https://www.drupal.org/about/core/policies/core-release-cycles/schedule), October 2026) and a new major version every two years ([Drupal.org release process](https://www.drupal.org/about/core/policies/core-release-cycles/release-process-overview), 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](https://www.sanity.io/blog/sanity-vs-drupal7), 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](https://www.sanity.io/blog/sanity-vs-drupal7), 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](https://deploi.ca/sanity/use-cases/cms-consolidation).
- 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?](https://www.sanity.io/drupal-vs-sanity), October 2026). Read that as marketing; the [side-by-side Sanity and Drupal comparison](https://deploi.ca/sanity/compare/sanity-vs-drupal) 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](https://www.sanity.io/blog/sanity-vs-drupal7), October 2026). Sanity's default roles grant access to whole datasets, and custom roles are Enterprise only ([Sanity Docs, Roles](https://www.sanity.io/docs/user-guides/roles); [Sanity pricing](https://www.sanity.io/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](https://www.sanity.io/blog/sanity-vs-drupal7), October 2026; [Sanity Docs, Studio development](https://www.sanity.io/docs/studio/development), October 2026).

**Three Drupal answers that don't involve Sanity, and when each wins**

| 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 |

Sources: [Drupal.org, Drupal 7 End of Life](https://www.drupal.org/about/drupal-7/d7eol); [Drupal.org, How to upgrade from Drupal 10 to Drupal 11](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-10-to-drupal-11); [Sanity, The Drupal developer's introduction to Sanity.io](https://www.sanity.io/blog/sanity-vs-drupal7); [Sanity Docs, Studio development](https://www.sanity.io/docs/studio/development). As of 24 October 2026.

> **When not to replatform to Sanity**
>
> - Your only reason is the Drupal 10 deadline: the Drupal 11 upgrade is smaller and keeps you supported.
> - Nobody will own a JavaScript front end and the import scripts after 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](https://www.sanity.io/blog/sanity-vs-drupal7), 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](https://www.sanity.io/blog/august-releases-2026), October 2026), so your developers own those scripts; the [Drupal to Sanity playbook](https://deploi.ca/sanity/migration/drupal-to-sanity) 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](https://www.drupal.org/about/core/policies/core-release-cycles/release-process-overview), 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](https://www.sanity.io/pricing), October 2026). Twenty editors on Growth pay $300 a month (Deploi arithmetic from the figures above).

**One-time work and forced events on each path, with no published totals**

| 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 |

Sources: [Drupal.org, Drupal core release schedule](https://www.drupal.org/about/core/policies/core-release-cycles/schedule); [Drupal.org, Upgrading from Drupal 6 or Drupal 7: Overview](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-6-or-7-to-drupal-8-and-newer); [Drupal.org, How to upgrade from Drupal 10 to Drupal 11](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-10-to-drupal-11); [Drupal.org, Release process overview](https://www.drupal.org/about/core/policies/core-release-cycles/release-process-overview); [Sanity Docs, Roles](https://www.sanity.io/docs/user-guides/roles); [Sanity Docs, API Versioning](https://www.sanity.io/docs/content-lake/api-versioning). As of 24 October 2026.

> **Why Deploi gives no totals for a Drupal move**
>
> Hours and totals for a Drupal move depend on your site's counts and on Sanity's unpublished Enterprise prices, so Deploi publishes none.

## 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

## Ready to decide between Drupal 11 and Sanity?

Contact us today to size both paths for your Drupal site before 9 December 2026. [Contact us](https://deploi.ca/contact)

## Sources

1. [Drupal.org, Drupal 7 End of Life](https://www.drupal.org/about/drupal-7/d7eol), checked 24 October 2026
2. [Drupal.org, Drupal core release schedule](https://www.drupal.org/about/core/policies/core-release-cycles/schedule), checked 24 October 2026
3. [Drupal.org, Drupal 10 will be supported until the release of Drupal 12 in mid-late 2026](https://www.drupal.org/about/core/blog/drupal-10-will-be-supported-until-the-release-of-drupal-12-in-mid-late-2026), checked 24 October 2026
4. [Drupal.org, End of life announcement and changes to Drupal 7 support](https://www.drupal.org/psa-2023-06-07), checked 24 October 2026
5. [Drupal.org, Upgrading from Drupal 6 or Drupal 7: Overview](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-6-or-7-to-drupal-8-and-newer), checked 24 October 2026
6. [Drupal.org, How to upgrade from Drupal 10 to Drupal 11](https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-10-to-drupal-11), checked 24 October 2026
7. [Drupal.org, Release process overview](https://www.drupal.org/about/core/policies/core-release-cycles/release-process-overview), checked 24 October 2026
8. [Drupal.org, Drupal core project page](https://www.drupal.org/project/drupal), checked 24 October 2026
9. [Sanity, Plans that scale with you](https://www.sanity.io/pricing), checked 24 October 2026
10. [Sanity, Sanity for Startups](https://www.sanity.io/startups), checked 24 October 2026
11. [Sanity, The Drupal developer's introduction to Sanity.io](https://www.sanity.io/blog/sanity-vs-drupal7), checked 24 October 2026
12. [Sanity, Switching from Drupal? Consider Sanity](https://www.sanity.io/drupal-vs-sanity), checked 24 October 2026
13. [Sanity Docs, Roles](https://www.sanity.io/docs/user-guides/roles), checked 24 October 2026
14. [Sanity Docs, Studio development](https://www.sanity.io/docs/studio/development), checked 24 October 2026
15. [Drupal.org, Define explicit Drupal 10 end of life date](https://www.drupal.org/project/drupal/issues/3524111), checked 24 October 2026
16. [Drupal.org, Drupal core 12.0.0-beta1 release](https://www.drupal.org/project/drupal/releases/12.0.0-beta1), checked 24 October 2026
17. [Sanity Docs, API Versioning](https://www.sanity.io/docs/content-lake/api-versioning), checked 24 October 2026
18. [Drupal.org, Drupal 12 release issue](https://www.drupal.org/project/drupal/issues/3449806), checked 24 October 2026
19. [Sanity, What's new in August](https://www.sanity.io/blog/august-releases-2026), checked 24 October 2026
