Drupal migration services that move your content and keep old links working.
Drupal migration services for universities, government agencies, nonprofits and companies moving from Drupal 7, 8, 9 or 10, or from another CMS, to Drupal 11. We map your content model and modules first, move everything with repeatable Migrate API runs, and give every old URL a 301 redirect.
- Drupal 7 to 11
- Drupal 8, 9, 10 upgrades
- WordPress to Drupal
- Migrate API
Why Drupal sites get stuck on old versions.
Four problems that keep older Drupal sites where they are. Each one has a known fix.
- 01
Drupal 7 is past end of life
Drupal 7 reached end of life on 5 January 2025, and the Drupal project no longer publishes security releases for it. Drupal 10 follows on 9 December 2026. Any vulnerability found after those dates stays open unless someone patches it, and security reviews will flag the site.
- 02
Modules with no Drupal 11 version
Most Drupal 7 sites run many contributed modules and some custom ones. A few moved into core, some have Drupal 11 releases, and others were abandoned. Custom code written for Drupal 7 hooks such as hook_menu will not run on Drupal 11 without a rewrite.
- 03
Years of URLs that will 404
Old aliases, /node/123 paths, file links and pages other sites point to can all break when content types are merged, path patterns change or content gets new IDs. Without a redirect for each one, visitors land on 404 pages and the rankings those URLs earned can be lost.
- 04
Content too big to copy by hand
Thousands of nodes, files, users and translations do not move by copy and paste. Field collections, embedded media tags in body text and old text formats all need converting. A one-off script that cannot be rolled back and run again turns every mistake into manual cleanup.
The deliverable
What we map before the first migration run
Most migration problems start before the first line of code. This is the map we agree with you before any content moves.
6 components, every page
Drupal 7 to Drupal 11 migration map
Drupal 7Drupal 11PlanItems
field_collectionparagraphsmap ✓3,210
media (file_entity)media (core)map ✓31,200
webform 7.x-4webform 6map ✓22
views_slideshowcore + customrebuild4
custom_eventsevents moduleport1
panelslayout buildermap ✓38
printretiredretire ✓0
Content types mapped to Drupal 11
Every content type, field and vocabulary gets a target. Field collections usually become Paragraphs, and unused fields are dropped.
Module audit: replace, port or retire
Each module gets one decision: now in core, a Drupal 11 release, a replacement, a port of custom code, or retirement.
Old URLs mapped to redirects
Aliases and old system paths are matched to the new entities, so each one returns a 301 instead of a 404.
Theme rebuilt in Twig
Drupal 7 PHPTemplate files do not carry over. Templates are rebuilt in Twig, with the design kept or refreshed.
Repeatable migration runs with rollback
Import, roll back and import again on staging, as often as needed, until counts and spot checks match the source site.
Launch checklist
Content freeze, final delta run, redirect checks, caching, cron, search indexes and forms, signed off one item at a time.
The fix
Drupal migration, planned field by field and run until it is right.
Every retainer is built around the verticals it serves. Below is the work — and we'll tell you on the audit call which of these actually move the needle for your situation.
- A content model audit that maps every content type, field, vocabulary, user role and file to its Drupal 11 target before any code is written
- A module audit with one decision per module: use core, use the Drupal 11 release, replace it, port it, or retire it
- Migrations built on the core Migrate API with migrate_plus and migrate_tools, kept as code in your Git repository
- Repeatable runs on staging with drush migrate:import and drush migrate:rollback, checked against source record counts
- Custom Drupal 7 modules rewritten for Drupal 11, using services, plugins and event subscribers where the old hooks no longer exist
- A theme rebuilt in Twig from your current design or a new one, with CKEditor 5 text formats set up for editors
- Every old URL mapped to a 301 with the Redirect module and Migrate Redirect Map, our contributed module on drupal.org
- Drupal 8, 9 and 10 sites upgraded in place: Upgrade Status report, deprecated code fixed, then Composer and database updates one major version at a time
How we deliver
A phased rollout — not a 100-page strategy doc.
You see live work shipped every month, with quarterly executive reviews to recalibrate priorities.
Audit
Month 1
- Content model and field mapping
- Module audit: core, contrib, port or retire
- URL inventory from aliases, redirects and analytics
- Fixed quote and migration plan
Build
Months 2–3
- Composer-managed Drupal 11 codebase
- Migrations in code, with rollback
- Custom modules ported
- Twig theme and CKEditor 5 setup
Launch
Month 4+
- Content freeze and final delta run
- 301 redirects built and status-checked
- Launch checklist sign-off
- 404 watch after go-live
Why us, for this vertical
What we bring that the generic agency down the street doesn't.
A Drupal migration is mostly mapping and testing. These are the four things we do differently.
We wrote the redirect module
Migrate Redirect Map, our contributed module on drupal.org, builds 301 redirects from migrated content's old paths using the migration's own map tables. Old links keep working, and paths it cannot match are listed for review before launch.
Runs you can repeat
Every migration is code. We run it on staging, roll it back, fix the mapping and run it again until the counts match. The final delta run after the content freeze uses the same code, so launch day repeats a process you have seen work.
Current Drupal, current practice
We built acuative.com on Drupal 11, and the new site went live in October 2026. Every build uses a Composer-managed codebase, configuration exported to Git and a Twig theme, so the next major upgrade is routine work.
Timelines from real projects
We published a study of 29 real Drupal migration projects and how long each took from start to launch. Your own schedule comes from the audit of your site, with named milestones and a fixed quote before work begins.
FAQ
Got questions?
The same questions every prospect asks. Don't see yours? Tell us — answers within one business day.
Ask us anything
What does a Drupal 7 to Drupal 11 migration involve?
How much do Drupal migration services cost?
How long does a Drupal migration take?
Should we move to Drupal 10 or Drupal 11?
We are on Drupal 8, 9 or 10. Is that a migration or an upgrade?
Will our search rankings survive the move?
Can you migrate from WordPress or another CMS to Drupal?
Who owns the code, and who supports the site after launch?
Free SEO audit
Ready to plan your move to Drupal 11?
Get a free 30-minute audit. We'll walk through your current rankings, the keywords you're missing, and what we'd do in the first 90 days. No deck, no sales pitch.
Or email [email protected]
