Gemin

Webflow to Sanity

Migrate from Webflow to Sanity

Sanity holds content. It does not render anything. So the useful version of this question is not how the collections move, which is the straightforward part, but what is putting pages on the internet once they have.

A migration like this usually takes 3–5 weeks

Why people move

What changes when you move from Webflow to Sanity.

What is being compared Webflow Sanity
What renders the site Webflow Webflow, and that is the product Sanity Nothing. Sanity answers queries This is the whole decision. Sanity is a content back end with an editing interface on top, and a site still needs something in front of it, which is either the Webflow site you already have or a front end somebody builds.
Content model Webflow Collections, with the field types on offer Sanity Types you define in code, versioned with everything else
What a field can hold Webflow A flat list of typed fields Sanity Arrays of objects, each one a different shape The reason most people arrive here. A page built from a sequence of sections, where each section is a different thing, has no comfortable home in a flat collection, which is why teams end up with step_1, step_2, step_3 and a row of booleans.
Changing the model Webflow A panel, and it takes effect immediately Sanity A schema file, a deploy, and the migration of what is already there Webflow genuinely wins this. Adding a field in a panel is faster than adding one in code, and the day that stops being an advantage is the day two people need to change the model without breaking each other.
Where the images live Webflow Webflow's assets, served from its CDN Sanity Sanity's asset pipeline, with transforms asked for at read time
Where publishing happens Webflow In the same place as the site Sanity A separate application, which the team has to be told about Moving the CMS out of Webflow means the people who publish now go somewhere else to do it. That is a change to somebody's day, and it is worth saying out loud before it is discovered.

Nothing here says Webflow's CMS is bad. It says it has shapes, and the move is worth it when the content has outgrown them.

Once you have decided

What actually migrates.

What you have What happens Why
Collections Move Comes across as it is. The content survives the move and the work is transporting it, not remaking it. Structured fields are the part that transfers cleanly. Text, numbers, dates, booleans, slugs and options come across through the Data API and land as documents.
Rich text Rebuild Made again in Sanity. The old version is a reference rather than something that can be imported. Webflow stores it as HTML. Sanity stores Portable Text, which is an array of blocks rather than a string of markup, and the conversion is where the work is.
Images and files Move Comes across as it is. The content survives the move and the work is transporting it, not remaking it. Uploaded into Sanity before any document is written, so the ids exist when the documents referencing them arrive. Webflow has served assets from three different domains over the years and an old site will have all three in it, so the scan has to look for each.
References Reconfigure The same thing, set up again. Nothing is recreated, but it has to be pointed at the new site by hand. Webflow returns them as item ids, which mean nothing in Sanity. The documented pattern is two passes: everything is created first and the ids recorded, then a second pass rewrites each reference against the id it now has.
Pages Rebuild Made again in Sanity. The old version is a reference rather than something that can be imported. Sanity has no pages. Whatever is rendering the site owns them, and if that is still Webflow then this is a sync rather than a migration.
URLs Reconfigure The same thing, set up again. Nothing is recreated, but it has to be pointed at the new site by hand. Slugs move with the documents. Whether the addresses stay identical depends entirely on what is rendering them afterward, which is the decision above rather than a consequence of the move.

Before you budget it

Where this migration gets complicated.

  1. 01

    Code blocks do not come out of the API at all

    Webflow's Data API does not support code blocks in a rich text field, and reading one back gives an empty string. Nothing errors. On a documentation or engineering blog that is the most valuable content on the site arriving blank, and the only way to find out is to compare what came back against the published page.

  2. 02

    Rich text images are wrapped in something the converter does not know

    Webflow puts an image inside a figure carrying its own data attribute. The standard HTML-to-Portable-Text conversion has no rule for it, so it either drops the image or dumps the whole figure in as an unparsed blob, and both look like a successful run. Every distinct wrapper in the existing content needs a rule written for it, which means reading the content rather than asking anybody.

How it runs

How the migration works.

  1. 01

    Plan

    Every collection, every field, and every distinct thing embedded in a rich text field, written down. Then the decision that governs the rest: whether Webflow keeps rendering the site.

  2. 02

    Build

    Document types written and deployed to the Studio, a block type for each job the rich text was doing, and the editing interface arranged for the people who will use it.

  3. 03

    Migrate

    Assets uploaded first so the ids exist, then documents created and their new ids recorded, then a second pass resolving every reference. Checked against the source rather than spot-checked.

  4. 04

    Launch

    Every document rendering, every asset resolving, every address answering what it answered before. Typically 3–5 weeks, then a week of watching the old addresses.

What you are buying

What is included.

  • Design rebuild

    Rebuilt as components, not approximated.

  • Responsive development

    Desktop, tablet and mobile, built and checked.

  • CMS architecture

    Collections and fields mapped before build.

  • Content migration

    Migrated and checked against the source.

  • Asset migration

    Collected, compressed and rehosted.

  • Forms and integrations

    Tested through to the final record.

  • URL parity

    Every public address the same on both sides.

  • Metadata and canonicals

    Preserved wherever possible.

  • Search footprint preservation

    URLs inventoried before and checked after.

  • Pre-launch QA

    Forms, templates and old URLs verified.

  • Post-launch support

    One week of indexing and traffic checks included.

Search visibility can move during a migration. The goal is to preserve what search engines already understand, and to catch what changed quickly after launch.

Reach out and see if we are a good fit.

Start a project

Currently booking two to four weeks out.