How Much Does a Drupal 7 to Drupal 11 Migration Cost in 2026?
The honest answer: a Drupal 7 to Drupal 11 migration in 2026 usually costs somewhere between $18,000 and $250,000+.
That range is frustratingly wide, but it is wide for a reason. Drupal 7 to Drupal 11 is not a version bump. It is a rebuild of the application layer, a content migration, a theme rebuild, a module replacement exercise, and often an infrastructure upgrade at the same time.
For a small marketing site, the work may be mostly content migration, theme rebuild, redirects, and QA. For a university, association, publisher, government site, or membership platform, the cost is driven by custom modules, editorial workflows, permissions, integrations, search, accessibility, and compliance.
If you are still on Drupal 7, start with the risk first: Drupal 7 security support ended on January 5, 2025, and Drupal.org is explicit that D7 no longer receives security or compatibility updates. For the security context, read Drupal 7 End-of-Life: What It Means for Your Website Security. This article focuses on the budget.
The short answer by site type
Use these as planning ranges, not quotes.
Small Drupal 7 marketing or brochure site: $18,000-$45,000
Typical profile: 20-150 pages, limited custom code, no logged-in user workflows, simple forms, a modest content model, and few integrations. The work is mostly discovery, Drupal 11 setup, content migration, theme rebuild, redirects, analytics, and launch QA.
Mid-size content or nonprofit site: $45,000-$120,000
Typical profile: 150-2,000 pieces of content, 25-60 contributed modules, custom content types, media handling, redirects, editorial roles, search, one or two integrations, and a custom theme. This is the most common range for serious Drupal 7 sites that have been in production for years.
Complex membership, publishing, education, or government site: $120,000-$300,000
Typical profile: authenticated user journeys, custom permissions, migrations for users and roles, multilingual content, workflows, Solr or external search, CRM or payment integrations, accessibility requirements, legal/compliance review, and stakeholder-heavy QA.
Enterprise, multisite, commerce, or high-compliance platform: $300,000+
Typical profile: multiple sites, multiple brands, custom applications inside Drupal, commerce, SSO, large content archives, heavy workflow, strict uptime requirements, procurement process, audit requirements, and a launch plan that needs parallel environments and rollback rehearsal.
The low end exists. So does the high end. Most realistic Drupal 7 to Drupal 11 projects land in the middle because the sites that stayed on Drupal 7 this long tend to be the ones with enough custom behavior to make migration non-trivial.
Why this is priced as a rebuild, not an upgrade
Drupal 7 and Drupal 11 are separated by the architectural shift that started in Drupal 8: Symfony components, Twig, Composer-based dependency management, configuration management, modern entity APIs, and a completely different theme layer.
That matters commercially because the work is not "install Drupal 11 and click update."
A Drupal 7 to Drupal 11 migration usually includes:
- Rebuilding the Drupal 11 codebase with Composer.
- Replacing or removing Drupal 7 contributed modules.
- Rewriting custom modules against modern Drupal APIs.
- Rebuilding the theme in Twig.
- Mapping Drupal 7 fields, nodes, taxonomy, files, users, roles, menus, and URL aliases into the new site.
- Recreating editorial workflows and permissions.
- Migrating media and file references cleanly.
- Preserving SEO through redirects, canonical URLs, metadata, and sitemap checks.
- Rebuilding integrations with CRMs, payment providers, SSO, search, email tools, or analytics.
- Running QA across content, functionality, security, performance, accessibility, and launch rollback.
Drupal's Migrate API gives the project a serious foundation. It does not remove the need to understand the old site, map the new content model, and test the result. The money is in the mapping, exceptions, and QA.
The hourly math behind a migration quote
Most professional Drupal migration quotes are built from three variables:
- Estimated hours
- Blended hourly rate
- Risk buffer
Typical 2026 hourly ranges:
- Independent Drupal specialist: $90-$150/hour
- Small specialist agency: $140-$220/hour
- Enterprise agency or urgent rescue project: $200-$300+/hour
That means a clean 300-hour migration at $150/hour is a $45,000 project. A 900-hour migration at $180/hour is a $162,000 project. A 1,500-hour migration with compliance, stakeholder management, and integration risk is not unusual for enterprise work.
The quote is not supposed to be a guess. It should be the result of an inventory.
The cost drivers that actually matter
Contributed modules
A Drupal 7 site with 15 contributed modules is a different project from a Drupal 7 site with 75. Some modules have clean Drupal 11 equivalents. Some have been replaced by core features. Some need a new contrib module, custom migration code, or removal from the system.
The question is not "how many modules do you have?" It is:
- How many are enabled?
- How many are still used?
- How many have a maintained Drupal 11 path?
- How many store data that must be migrated?
- How many affect permissions, routing, SEO, media, or editorial workflow?
Upgrade Status can help prepare an inventory, including from Drupal 7, but it will not make business decisions about which features are still worth carrying forward.
Custom modules
Custom modules are where quotes diverge fastest. A small helper module might take half a day to rewrite. A custom business workflow, API sync, payment process, publication queue, or access-control layer can take weeks.
Budget rule of thumb:
- Small custom module: 8-24 hours
- Moderate custom module: 25-80 hours
- Complex custom module or integration: 80-200+ hours
If a site has 12 custom modules and nobody knows what they do, discovery becomes a real line item.
Theme rebuild
Drupal 7 themes do not port directly to Drupal 11. A like-for-like rebuild is cheaper than a redesign, but it is still a rebuild.
Common theme costs:
- Simple visual refresh: 40-80 hours
- Like-for-like custom theme rebuild: 80-180 hours
- Full redesign with design system, components, and accessibility review: 180-400+ hours
This is where teams accidentally turn a migration into a redesign project. That may be the right decision, but it should be priced honestly.
Content migration complexity
Page count is less important than content shape.
Migrating 5,000 clean articles with the same fields can be cheaper than migrating 300 pages where each page is hand-built with panels, embedded views, media edge cases, and inconsistent markup.
Cost rises when the site has:
- Panels, Field Collections, Paragraphs-like patterns, or deeply nested layout data.
- Inline images and files embedded in body fields.
- Multiple body formats with inconsistent markup.
- Media libraries assembled from file fields, WYSIWYG embeds, and manual HTML.
- Multiple languages.
- Content that needs editorial cleanup during migration.
- User-generated content, comments, forums, or historical archives.
The cheapest migration is the one where you decide what not to migrate.
Integrations
Every external system adds discovery, implementation, test data, credentials, failure modes, and launch coordination.
Common integration drivers:
- CRM: Salesforce, HubSpot, Dynamics, CiviCRM
- Email: Mailchimp, Campaign Monitor, SendGrid
- Search: Solr, Elasticsearch, Algolia
- Authentication: SAML, OAuth, LDAP, Azure AD, Google Workspace
- Payments: Stripe, PayPal, Authorize.net
- Analytics and tags: GA4, GTM, pixels, consent management
- Data exports, feeds, and scheduled imports
A simple API form post might be 8-16 hours. A bidirectional CRM sync with error handling can be 80-200+ hours.
Hosting and infrastructure
As of May 2026, Drupal 11 requires a modern runtime stack. Drupal.org lists Drupal 11 support for PHP 8.3 and 8.4 on its PHP requirements page, and the database requirements include MySQL/Percona 8.0+, MariaDB 10.6+, PostgreSQL 16+, or SQLite 3.45+.
If your Drupal 7 site is still on older shared hosting, PHP 7.x, legacy MySQL, or a hand-managed server, the migration budget needs room for infrastructure:
- New hosting setup
- Composer-based deployment
- Environment parity: local, staging, production
- Backup and restore process
- Secrets management
- CDN, WAF, cache, and redirects
- Monitoring and log access
Infrastructure work can be a few hundred dollars of setup time or a five-figure project, depending on how old the current stack is.
A realistic line-item budget
For a mid-size Drupal 7 site, a serious quote should include most of these:
- Discovery and technical audit: 12-40 hours
- Migration architecture and content mapping: 16-60 hours
- Drupal 11 build and configuration: 30-100 hours
- Contrib module replacement: 30-160 hours
- Custom module rewrite: 20-200+ hours
- Theme rebuild: 80-220 hours
- Content, media, file, user, and taxonomy migrations: 60-240 hours
- SEO redirects and metadata preservation: 16-60 hours
- Integration rebuilds: 20-200+ hours
- Accessibility, performance, and security hardening: 20-100 hours
- QA, UAT support, launch, and rollback rehearsal: 20-30% of build effort
- Project management and stakeholder communication: 10-20% of project effort
If a quote skips discovery, redirects, QA, or launch planning, the missing cost has not disappeared. It has moved into risk.
What should make a quote cheaper
You can reduce cost without making the project reckless.
Freeze the redesign. Migrate first, redesign later. A like-for-like Drupal 11 theme is often the fastest safe path if security is the reason for migration.
Archive instead of migrate everything. Keep old content readable as static HTML or a locked archive where appropriate. Migrate only the content that needs editing and search visibility.
Remove unused features. Many Drupal 7 sites carry modules and workflows nobody has used in years. Every removed feature is one less migration problem.
Standardize on maintained contrib. Replacing a custom feature with a maintained Drupal 11 module is usually cheaper than preserving bespoke behavior.
Keep stakeholders tight. A migration with one product owner moves faster than a migration where every department redesigns its section during QA.
Run inventory before requesting quotes. Vendors price uncertainty. Give them a module list, content counts, custom code inventory, integration list, and traffic/SEO requirements before asking for a number.
What should make you question a quote
Be careful with both suspiciously low and suspiciously vague quotes.
Red flags:
- "Drupal 7 to Drupal 11 upgrade" language with no mention of rebuild or migration mapping.
- No content audit.
- No module compatibility review.
- No custom code review.
- No redirect plan.
- No staging environment.
- No rollback plan.
- No QA allowance.
- No mention of PHP, database, or hosting requirements.
- Fixed price before anyone has seen the codebase.
- A redesign bundled into the migration without a separate scope.
A cheap quote can be real for a simple site. It is not real for a complex Drupal 7 application with custom modules, users, permissions, and integrations.
Should you migrate to Drupal 10 first?
Usually, no.
If you are starting a Drupal 7 migration in May 2026, Drupal 11 should be the target unless a specific dependency blocks it. Drupal 10 reaches end-of-life in December 2026, so a Drupal 7 to Drupal 10 migration now creates a second deadline almost immediately.
The exception is a dependency that is production-critical and not ready for Drupal 11. In that case, the responsible plan is:
- Migrate to Drupal 10 only if the blocker is real.
- Document the blocker and its owner.
- Keep the build Drupal 11-ready.
- Schedule the Drupal 11 upgrade before Drupal 10 EOL.
For that deadline, see Drupal 10 End-of-Life December 2026: A Migration Decision Framework.
Should you buy Extended Security Support instead?
Extended Security Support can be a rational bridge, especially if procurement, budget cycles, or a product freeze make immediate migration impossible. Drupal.org lists D7 Extended Security Support as an option after EOL, with certified vendors available through the Drupal 7 EOL program.
But ESS is not a migration substitute. It buys time. It does not modernize the theme, move the site onto supported PHP, replace dead modules, improve editorial workflow, or reduce future migration complexity.
A practical rule:
- If you can migrate in the next 3-6 months, spend the money on migration.
- If you need 6-18 months, use ESS as a bridge and start discovery now.
- If you plan to renew ESS indefinitely, you are turning one migration into a more expensive future migration.
How to estimate your own budget this week
You can get to a useful range before talking to vendors.
Run this inventory:
drush status
drush pm:list --status=enabled --type=module --no-core --format=table
find . -path "*/modules/custom/*" -type f | wc -l
find . -path "*/themes/custom/*" -type f | wc -lThen answer:
- How many enabled contrib modules?
- How many custom modules?
- How many content types and paragraph/layout patterns?
- How many nodes, media items, files, users, redirects, and taxonomy terms?
- How many integrations?
- Is the theme like-for-like or redesigned?
- Is the current hosting compatible with Drupal 11 requirements?
- What is the real deadline: security, audit, contract renewal, or launch window?
Then place the site:
- Mostly content, low custom code: $18,000-$60,000
- Content plus custom workflows and integrations: $60,000-$150,000
- Platform-level Drupal application: $150,000-$300,000+
If you cannot answer half the questions, your first purchase should be a fixed-scope discovery audit, not a full migration quote.
Frequently asked questions
Is page count the main cost driver?
No. Content shape, custom code, modules, integrations, and QA complexity matter more than raw page count. A clean 10,000-article archive can migrate faster than a 300-page site with inconsistent layouts and custom workflows.
Can a Drupal 7 to Drupal 11 migration be done for under $10,000?
Only in narrow cases: very small site, no custom code, no redesign, minimal content, and a developer willing to keep scope extremely tight. If the site has users, custom modules, integrations, or serious SEO requirements, under $10,000 is usually not enough.
How long does the migration take?
Small sites can take 4-8 weeks. Mid-size sites usually take 8-16 weeks. Complex platforms take 4-9 months. Calendar time depends on stakeholder availability as much as engineering effort.
Should migration include a redesign?
Not by default. If security and support are the urgent problems, migrate first and redesign later. Combine them only if you have budget, design decisions, and stakeholder alignment ready before discovery starts.
What is the cheapest safe first step?
Run a migration readiness audit: module inventory, custom code review, content model review, integration list, hosting check, SEO risk review, and a phased plan. A good audit turns a vague $20,000-$250,000 range into a defensible project budget.
What if my site is already compromised or failing an audit?
Do not start with a normal migration quote. Start with stabilization: backups, forensic snapshot, access review, patch status, WAF rules, and a short-term risk plan. Then scope migration once the site is safe enough to move deliberately.
Get a realistic Drupal 7 to 11 migration estimate
The right number depends on what your Drupal 7 site actually does. We can review your module list, content model, custom code, integrations, hosting stack, and compliance pressure, then give you a practical migration range and timeline in a 30-minute call.