Drupal to Webflow
Migrate from Drupal to Webflow
Drupal is powerful, but many marketing sites no longer need that much machinery. I preserve the useful structure and retire the parts that make every change expensive.
A migration like this usually takes 4–5 weeks
What the migration covers
What moves, and what we figure out first.
What moves
- Content types mapped to Webflow CMS collections
- Taxonomies and relationships as references or fields
- Files and media, exported and optimized
- URL aliases, redirects, metadata and crawl checks
What we figure out first
- Views are logic, not just pages. Each Drupal View becomes a Webflow collection list, collection page, custom build or simpler editorial pattern.
- Large Views need a new rendering strategy. A View can represent a filtered set larger than one collection list will render in a single pass. Pagination, filtering, search or a pattern that is not a list at all replaces what Drupal was generating, and which one gets decided up front.
- Multilingual content needs Localize planning. Drupal’s multilingual model and Webflow Localize need a field, locale and URL mapping before content moves.
- Roles and gated areas need replacements. Drupal permissions do not migrate into Webflow as-is.
Drupal migrations start with the content model, not the homepage. Content types, taxonomy, Views and modules can encode years of decisions, so I work out which of them the marketing site still needs before rebuilding anything in Webflow.
Why people move
What changes when you move from Drupal to Webflow.
| What is being compared | Drupal | Webflow |
|---|---|---|
| Content modeling | Drupal As deep as you like, and often deeper than needed | Webflow Collections and references, with real limits Drupal wins this outright. If your model genuinely needs it, that is a reason to stay. |
| Permissions and workflow | Drupal Granular roles, editorial workflow, moderation states | Webflow Editor access, scoped per collection Also Drupal's. A site with a five-stage approval chain is not a Webflow site. |
| Who maintains it | Drupal You: core, modules, PHP, security advisories | Webflow Webflow |
| Design changes | Drupal A developer and a theme layer | Webflow Anyone on the marketing team |
| Publishing a landing page | Drupal A ticket | Webflow An afternoon |
What actually changes
Webflow takes the marketing jobs. The rest needs somewhere else to live.
Now
One Drupal site
- Content types and fields
- Taxonomy
- Views
- Roles and permissions
- Editorial workflow
- Contributed modules
After
Webflow
- Collections, flattened where a reference went too deep
- Reference fields, or collections of their own
- Collection lists, filtered and sorted
Somewhere else, or nowhere
- Roles and permissions, if they are real
- Editorial workflow, which has no equivalent
- Whatever the modules were doing
Once you have decided
What actually migrates.
| What you have | What happens | Why |
|---|---|---|
| Pages | Rebuild Made again in Webflow. The old version is a reference rather than something that can be imported. | Twig templates and the theme layer do not transfer. |
| Content types and nodes | Move Comes across as it is. The content survives the move and the work is transporting it, not remaking it. | Exportable with effort, usually through Views or a migration module, and they move after the Webflow model they are moving into has been decided. |
| Taxonomy | Depends Not answerable in general. Which one it is turns on your plan, your export or a decision nobody has made yet. | A simple vocabulary becomes a field or a collection. A deep or heavily reused one gets remodelled around the relationships the new templates actually render, which is a deliberate simplification rather than a flattening. |
| Media | Move Comes across as it is. The content survives the move and the work is transporting it, not remaking it. | Files are rehosted and the references inside body fields rewritten to match. |
| Users, workflow and permissions | Rebuild Made again in Webflow. The old version is a reference rather than something that can be imported. | These do not become ordinary Webflow CMS features. Anything load-bearing is scoped as its own piece of work, or it is the reason to stay. |
| Modules and custom behavior | Depends Not answerable in general. Which one it is turns on your plan, your export or a decision nobody has made yet. | Each one becomes an integration, an external service, a custom implementation or a deliberate removal. That review is its own line in the quote. |
Before you budget it
Where this migration gets complicated.
- 01
Drupal models relationships more deeply than a marketing site renders
Drupal can model deeply connected entities that do not map cleanly into a simpler marketing CMS. Some relationships become references, others get flattened or intentionally duplicated around what the Webflow templates actually need to render.
- 02
Taxonomy terms are usually doing more than tagging
On a mature Drupal site terms drive menus, access and generated pages as well as categorisation. Mapping them to a Webflow reference field carries the label and drops every behavior attached to it.
- 03
Editorial workflow has no equivalent
Draft, review, approve and scheduled publishing with roles attached is a thing Drupal does well and Webflow does not do at all. If the workflow is load-bearing, that is an argument against the migration rather than a task in it.
- 04
Multilingual is an architecture decision, not a field
Drupal's translation model and Webflow Localize disagree about what a translation is. Locale, field and URL mapping all get decided before content moves, and the answer changes what the build costs.
The part quotes leave out
How I move it without losing the search footprint.
-
The search footprint is inventoried before anything moves
A crawl shows what the current Drupal site links to now. Analytics and Search Console show which addresses people and search engines are still reaching, including ones nothing on the site points at any more, so the list is the union of all three. The traffic, the top pages and the queries earning impressions get written down at the same time: without a baseline, a change in how you count and a change in what you get are the same graph.
-
What can stay where it is, stays
Addresses first, then the titles and descriptions attached to them, then the canonicals. Metadata is the easiest thing to lose in a rebuild, because the new site will happily generate something plausible for every page and nothing will report a problem.
-
Everything that changes gets one rule, not a chain
A redirect pointing at a redirect still arrives, so nothing looks broken. Each address gets an intentional destination rather than an inherited one: individual rules where the destinations differ, a pattern where a whole route family changes predictably. The new sitemap goes in at cutover carrying the canonical addresses and nothing else.
-
Every old address is requested after launch and the response recorded
The whole list, not a sample. Looking for anything returning 404 that should not, anything returning 200 that should have moved, and anything taking more than one hop. Then indexing and traffic by landing page for the week after cutover, which is the window included, and longer by arrangement where the site is large enough to warrant it.
None of this guarantees a ranking, and search results can move during a migration for reasons nobody controls. The goal is to change platforms without unnecessarily changing what search engines already understand about the site, and to notice quickly when something did change. Afterwards I watch indexing, what the old addresses return and traffic by landing page, so normal recrawling can be told apart from an implementation problem.
How it runs
Six stages, and what each one looks like.
- Content types and fields Collections, with the fields the templates render
- Taxonomy A reference field, or a collection of its own
- Views Collection lists, filtered and sorted
- Media Rehosted, with body references rewritten
- Roles, workflow and modules Somewhere else, or deliberately nowhere
Four of the five land in Webflow. The fifth is the one worth settling before anybody draws a template.
A pipeline, not a copy
A mature Drupal install can hold a lot of structured content, and moving it means an import that is resumable, validated against the source and deliberate about assets and relationships. That is why volume is part of the quote rather than a detail inside it.
-
/node/247/services/service-name -
/taxonomy/term/18/topics/product -
/sites/default/files/report.pdf/resources/report -
/en/node/91/about -
/services/consulting/services/consulting
Every changed address gets an intentional destination: a direct rule where the mapping is particular, a pattern where a whole route shape moves predictably. These paths are an example of the shape.
- Every form checked at the record, not at the button
- Every template at 1280, 1000 and 390
- Structured data still present on the pages that had it
- Every old URL requested, and what came back recorded
- The analytics baseline written down before cutover
The step most often cut when a quote is being squeezed, and the one that decides whether the failures are found before launch or by somebody using the site afterwards.
Coming from somewhere else?
-
HTML to Webflow
Typically 2–3 weeks
Learn more → -
WordPress to Webflow
Typically 3–4 weeks
Learn more → -
Squarespace to Webflow
Typically 2–3 weeks
Learn more → -
Wix to Webflow
Typically 2–3 weeks
Learn more → -
Next.js to Webflow
Typically 3–4 weeks
Learn more → -
HubSpot CMS to Webflow
Typically 3–4 weeks
Learn more →
Reach out and see if we are a good fit.
Currently booking two to four weeks out.