Drupal 7 End of Life 2026: Migration Options, Costs & Decision Guide
If you're still hanging on to Drupal 7, well, you're in that phase of living on borrowed time. Support officially wrapped up in November 2023. While Tag1 Consulting and a few others have been kindly offering extended commercial support, even that's vanishing come January 2026. After that? Nada. No updates, no security patches — your website becomes a sitting duck for hackers. And let's not even talk about compliance headaches, especially if you're dealing with GDPR or processing payments.
Over the last few years, I've lost track of how many Drupal 7 sites I've helped migrate. Some were simple brochure sites; others were labyrinths of custom modules and tangled content types. Believe me, trying to piece together Views that look like a pasta explosion on a plate is no one's idea of fun. Here's the guide I wish I had back in those early days — a no-nonsense breakdown of what you can actually do next.
Table of Contents
- The Drupal 7 EOL Timeline: What Actually Happens
- Understanding Your Current Drupal 7 Site
- Option 1: Upgrade to Drupal 10/11
- Option 2: Go Headless with Next.js + Supabase
- Option 3: Migrate to Another CMS Platform
- Cost Comparison: Real Numbers for Real Projects
- Hosting and Infrastructure Considerations
- The Decision Framework
- Finding the Right Agency
- FAQ

The Drupal 7 EOL Timeline: What Actually Happens
These dates can seem hazy, so let's set the record straight:
- November 1, 2023: Drupal 7's community support packed up. No more security advisories from the Drupal Security Team.
- Throughout 2024-2025: Third-party vendors like Tag1 Consulting offered extended support, but it’s paid.
- January 5, 2026: The end of commercial support from Tag1. That's your cut-off.
Post-January 2026, you're navigating uncharted waters. Your site won't spontaneously die, but threats include:
- No security updates for Drupal 7 vulnerabilities
- PHP compatibility nightmares as hosts move to PHP 8.3+ (goodbye PHP 5.x/7.x comfort zone)
- Hosting barriers due to dropping PHP 7.4 support
- Compliance chaos with standards requiring up-to-date software — think GDPR
- Insurance hurdles as patched and supported platforms become insurance must-haves
Understanding Your Current Drupal 7 Site
Before you choose your path, you need a crystal-clear understanding of your site's current state. Skip this, and you'll likely face an exploding budget.
Content Audit
Start with a content audit. Grab the list of your content types with:
SELECT type, COUNT(*) as count
FROM node
GROUP BY type
ORDER BY count DESC;
You'll want to know:
- Entity references and their interconnections
- Media attachments and their storage locations
- Taxonomy vocabularies and any hierarchies
- Custom fields from those lovely contrib modules
Module Inventory
List your enabled modules:
drush pm-list --status=enabled --type=module
Sort them by:
- Core functionality
- Custom creations — these may haunt you
- Integration pieces (payment gateways, CRM, SSO)
- Forgotten modules you didn’t remember existed
Custom modules are the real wild cards here. Without their original dev or documentation, migration time can easily swell 30-50%.
Traffic and Performance Baseline
Get your analytics dialed in to benchmark the post-migration site:
- Monthly sessions and unique visitors
- Core Web Vitals (LCP, FID/INP, CLS)
- Server response time (TTFB)
- Cache hit ratios (particularly if Varnish or a CDN is involved)
Option 1: Upgrade to Drupal 10/11
Let's not sugarcoat it: migrating from Drupal 7 to 10 is like building a house from scratch after tearing down the old one. The changes between D7 and D8 (the base for D10/11) are monumental. Here's what you're in for:
What's Involved
- New Drupal 10/11 setup — forget about reusing themes
- Content types revival and field matching
- Content migration via the Migrate module or custom ETL
- Views reconstruction — fun times
- Custom module rebuilding for Symfony’s architecture
- Contrib module substitutes hunting
When This Makes Sense
- Your editorial folks are embedded in the Drupal universe
- You rely on specific Drupal features (e.g., granular permissions)
- Handling multiple languages is non-negotiable
- You're in sectors like government or education
When It Doesn't
- Your site boasts a lean content model
- Frontend performance improvements are crucial
- Project budget is tight (think under $40k)
- You don’t use most of Drupal's bag of tricks

Option 2: Go Headless with Next.js + Supabase
For most mid-to-large sites, this is the path we recommend at Social Animal. The idea is to use a headless CMS to serve content, a sleek frontend framework, and a backend-as-a-service for your server-side needs.
The Stack
- Headless CMS: Consider Sanity, Contentful, or Storyblok
- Frontend: Next.js for the site — enjoy server-side rendering and static generation
- Backend/Database: Supabase for authentication, databases, file storage, and logic
- Hosting: Vercel or Netlify for the frontend, Supabase for the backend
Why Supabase?
Supabase gives you a spoil of riches: Postgres with REST/GraphQL APIs, auth, file storage, and edge functions. It ticks the box for:
- User registration/login without cumbersome Drupal modules
- Webform submissions stored neatly in Postgres
- File handling
- Search options (using Postgres or adding Typesense)
- Usual CRUD tasks
Supabase is budget-friendly too – free tier fits small sites well, Pro plan at $25/month is golden.
// Example: Migrating a D7 webform to Supabase
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
)
export async function submitContactForm(formData: ContactFormData) {
const { data, error } = await supabase
.from('contact_submissions')
.insert({
name: formData.name,
email: formData.email,
message: formData.message,
submitted_at: new Date().toISOString(),
})
.select()
if (error) throw new Error(`Submission failed: ${error.message}`)
return data
}
Content Migration Strategy
Here's a rough outline for content migration:
- Export content from D7 using custom Drush or database queries
- Transform it to fit your new CMS setup (the real work is here)
- Import into your headless CMS via their API
- Validate everything — nothing worse than splintered references or missing media
A typical site with 5,000 nodes could mean about 2-4 weeks dedicated to migration alone.
Option 3: Migrate to Another CMS Platform
Not every solution demands a headless setup. WordPress, Craft CMS, or even static site generators like Astro are legitimate alternatives.
Platform Comparison
| Factor | Drupal 10/11 | Next.js + Headless CMS | WordPress | Craft CMS | Astro (Static) |
|---|---|---|---|---|---|
| Content complexity | Excellent | Good (CMS-dependent) | Moderate | Excellent | Simple |
| Editorial UX | Steep | Varies | Easy | Good | Needs CMS |
| Performance | Moderate | Excellent | Moderate | Good | Excellent |
| Developer pool | Shrinking | Growing | Bountiful | Small | Growing |
| Hosting cost/mo | $50-$300 | $0-$50 | $10-$100 | $20-$100 | $0-$20 |
| Maintenance | High | Low-Medium | Medium | Medium | Low |
| Multilingual | Excellent | Good | Plugin-dependent | Good | Varies |
| Migration complexity | High | High | Medium | Medium-High | Low-Medium |
Cost Comparison: Real Numbers for Real Projects
Here's what projects have been looking like expense-wise:
Small Site
| Cost Category | Drupal 10 Upgrade | Next.js + Headless | WordPress Migration |
|---|---|---|---|
| Development | £15k-£25k / $20k-$35k | £12k-£20k / $15k-$28k | £8k-£15k / $10k-$20k |
| Content migration | £3k-£5k | £3k-£5k | £2k-£4k |
| Design/UX | £5k-£10k | £5k-£10k | £3k-£8k |
| Hosting (annual) | £600-£3,600 | £0-£600 | £120-£1,200 |
| Maintenance (annual) | £3k-£8k | £1k-£3k | £2k-£5k |
| 3-year TCO | £34k-£75k | £23k-£44k | £19k-£43k |
Medium Site
| Cost Category | Drupal 10 Upgrade | Next.js + Supabase | WordPress Migration |
|---|---|---|---|
| Development | £40k-£80k / $55k-$110k | £35k-£65k / $45k-$90k | £25k-£50k / $35k-$70k |
| Content migration | £8k-£15k | £8k-£15k | £6k-£12k |
| Design/UX | £10k-£20k | £10k-£20k | £8k-£15k |
| Hosting (annual) | £1,200-£6,000 | £300-£1,800 | £600-£3,600 |
| Maintenance (annual) | £6k-£15k | £3k-£8k | £4k-£10k |
| 3-year TCO | £79k-£178k | £63k-£129k | £53k-£117k |
Large/Enterprise Site
| Cost Category | Drupal 10 Upgrade | Next.js + Headless CMS |
|---|---|---|
| Development | £100k-£250k / $130k-$350k | £80k-£200k / $100k-$275k |
| Content migration | £20k-£50k | £20k-£50k |
| Design/UX | £20k-£40k | £20k-£40k |
| CMS licensing (annual) | £0 | £3k-£30k |
| Hosting (annual) | £3,600-£24,000 | £1,200-£6,000 |
| Maintenance (annual) | £15k-£40k | £8k-£25k |
| 3-year TCO | £196k-£532k | £147k-£413k |
CMS Licensing Note: Drupal is open source, no license fees. But heads up — platforms like Contentful get pricey fast. For a self-hosted option with zero CMS fees, consider Payload CMS.
Hosting and Infrastructure Considerations
Folks often misjudge hosting when migrating platforms. It's more involved than you might think.
Drupal 10 Hosting
Drupal needs a real hosting setup:
- Pantheon: $41-$200/month
- Platform.sh: $52-$208/month
- Acquia: From £134/month
- VPS: £20-£100/month (DIY approach, all updates on you)
Next.js + Supabase Hosting
- Vercel: Free tier, Pro at £20/month per person
- Supabase: Starts free, Pro at £25/month
- Headless CMS: Varies widely
Grand total? Often far less than Drupal hosting.
SSL, CDN, Email — Oh My!
Drupal sometimes requires extra hands like Cloudflare, email deals via SendGrid, and SSL with Let's Encrypt. In contrast, headless setups include many features from the start — but don't forget your email setup.
The Decision Framework
Here's a framework to keep your decision-making steady:
Stay with Drupal (Upgrade to D10/11) if:
- Your editorial team digs the Drupal way
- You need Drupal's granular permissions
- Multilingual content isn't a luxury
- Industry standards lock you in
Go Headless (Next.js + Supabase/Headless CMS) if:
- Performance makes or breaks you
- Cutting costs in the long run is crucial
- Your team prefers JavaScript/TypeScript
- A sleek web app feel is the endgoal
- Decoupling plays to your content strategy
Go WordPress if:
- A simple content site suits you
- You're counting pennies (as far as these projects go)
- You want the simplest editor's toolkit
Go Static (Astro) if:
- Information delivery trumps everything else
- Max performance matters most
- Pages and updates are limited
- No need for complex user engagement
Finding the Right Agency
Here's how to sniff out the good ones:
Inquire about their migration protocol. If their plan sounds just like a "we wing it" affair, run.
Gauge their Drupal expertise. Even if you’re leaving it behind, Drupal insight prevents chaotic migration.
Check their frontend arsenal. Headless requires expertise in your targeted framework.
Secure a fixed-price quote. Consider a discovery phase to outline the scope before signing off on terms.
Clarify support arrangements. Who’s there for late-night panic attacks when something goes haywire?
If you're knee-deep in strategizing this move, we're happy to chat — reach out whenever.
FAQ
When exactly does Drupal 7 support end?
Community support stopped on November 1, 2023. Tag1's extended support ends January 5, 2026. Post-deadline, you face risks with no updates.
Can I just stay on Drupal 7 after end of life?
Technically, yes. But expect unpatched vulnerabilities and compliance issues. End-of-life software is a hard sell for GDPR and cyber insurance.
Is migrating from Drupal 7 to Drupal 10 really a full rebuild?
Yep. The change from D7 to D8 (foundation for D10/11) is seismic. Prepare for a full rebuild project, not a gentle "upgrade".
How long does a typical Drupal 7 migration take?
Smaller sites: 6-10 weeks. Medium: 12-20 weeks. Large/Enterprise: 6-12 months. Content and QA often stretch longer than anticipated.
What's the cheapest migration option?
WordPress is often the most budget-friendly for straightforward sites (from £8k/$10k). Yet, over three years, going headless might save on maintenance and hosting.
Should I migrate to Drupal 10 or go headless with Next.js?
Drupal suits deeply embedded editorial setups. For modern performance and cost efficiency, Next.js can be your best bet. The above framework should clarify it for you.
What headless CMS should I use to replace Drupal 7?
Sanity, Payload CMS, or Storyblok are great picks, with Payload offering a self-hosted path. Pick based on organizational fit — team size and complexity.
Do I need to redesign my site during the migration?
Redesign and migration often pair well financially. If tight on budget, replicate designs and plan for later enhancements.