All posts
Platform migrations

Webflow to Next.js + Sanity: Architecture for Marketing Teams

Webflow to Sanity and Next.js: the content model, visual editing and preview setup that keep marketers independent after they leave the Webflow Designer.

By Mehdi Hassan7 min read

The short answer

A Webflow to Sanity and Next.js stack replaces Webflow with two parts: Next.js renders the pages and Sanity stores the content. It works for a marketing site when you model pages as reusable sections, turn on visual editing and draft preview, and give marketers a page builder, so they keep publishing without a developer.

Key takeaways

  • Next.js renders, Sanity stores content, and a host such as Vercel serves it. Three pieces replace one.
  • Model pages as an ordered list of section blocks, not as one big rich-text field.
  • Visual editing with Sanity's Presentation tool is what keeps marketers off the developer queue.
  • Draft preview and on-demand revalidation make publishing feel as instant as Webflow.
  • Webflow rich text needs converting to Portable Text, and every image needs re-hosting.

Part of Webflow to Next.js Migration: The Complete Guide

What stack replaces Webflow: Next.js with Sanity?

Next.js with Sanity is one of the most common replacements for Webflow on a marketing site. Next.js renders the pages and handles routing, Sanity holds the content in its hosted Content Lake and gives editors a customizable Studio, and a host such as Vercel or Cloudflare serves the result. Together they do what Webflow's Designer, CMS and hosting did as one product.

The risk is that marketers lose the independence Webflow gave them. This guide is about avoiding that: the content model, the editing setup and the preview flow. For the full migration plan, start with our Webflow to Next.js migration guide, and if you're still deciding, read Webflow vs Next.js for marketing sites first.

How does a Webflow to Sanity NextJS architecture fit together?

The architecture has four layers, and each one replaces something Webflow did for you. Knowing which layer owns which job makes the build simpler and the handover cleaner.

Layer

Tool

Replaces in Webflow

Content storage

Sanity Content Lake

CMS collections

Editing interface

Sanity Studio

The Editor and CMS panel

Rendering and routing

Next.js App Router

The Designer and page settings

Visual editing

Sanity Presentation tool

Editing on the canvas

Hosting and CDN

Vercel or Cloudflare

Webflow hosting

Forms

Form handler plus CRM

Webflow forms

Sanity Studio is a React app you configure in code, so the editing interface is designed around your content rather than a generic one. You can deploy it on Sanity's hosting or embed it at a route such as /studio inside the Next.js app, which keeps one repo and one login for the team.

How should you model content in Sanity for a marketing site?

Model each page as an ordered array of section blocks, and model repeated things, such as testimonials, team members and logos, as their own document types. That gives marketers a page builder made of on-brand pieces, while developers keep control of how each piece looks.

  • Page documents. Title, slug, SEO fields and a sections array (hero, feature grid, logo row, testimonial, pricing, FAQ, CTA).
  • Reusable documents. Testimonials, customers, team members, integrations, case studies. Sections reference them instead of copying text.
  • Posts. Title, slug, author reference, category references, excerpt, cover image and a Portable Text body.
  • Singletons. Site settings, navigation and footer, edited in one place.
  • Redirects. A simple document type with source, destination and permanent flag, read by Next.js at build or request time.

Webflow's CMS pushes you toward one collection per content type with flat fields. Sanity lets you go further with references and nested objects, but restraint matters: every block you add is a block someone has to design, build and maintain. Our content modeling guide for SaaS sites covers the trade-offs in more detail.

How do visual editing and preview work?

Visual editing lets a marketer open the live page, click any piece of text or image, and edit it in Sanity Studio side by side. Sanity's Presentation tool does this by encoding source information into the content the page renders, so the overlay knows which field each element came from.

Preview runs on Next.js Draft Mode. When an editor opens a page in the Presentation tool, Next.js switches to draft mode, fetches unpublished content from Sanity and shows the page exactly as it will look. When they publish, a webhook or Sanity's live content API tells Next.js to refresh just the affected pages. Set up well, the delay between pressing publish and seeing the change is seconds, which matches what marketers were used to in Webflow.

  1. Install the Next.js toolkit

    Add the next-sanity package and configure the Sanity client with your project ID, dataset and a read token for drafts.

  2. Enable Draft Mode

    Create the route that turns Next.js Draft Mode on and off, and protect it with a secret.

  3. Add the Presentation tool

    Register it in the Studio config with your site's URL and the routes each document type maps to.

  4. Turn on visual editing overlays

    Render the visual editing component in your layout when draft mode is active, so clicks open the right field.

  5. Wire up revalidation

    Tag your queries and revalidate those tags on publish, so only changed pages rebuild.

How do you move Webflow CMS content into Sanity?

You export each Webflow collection as CSV or through the Webflow API, transform it into Sanity documents with a script and import it. The two jobs that take the most time are rich text and images.

Webflow rich text arrives as HTML, and Sanity stores rich text as Portable Text, a structured JSON format. Sanity provides tooling to convert HTML to Portable Text, but embeds, custom code blocks and odd formatting need hand rules. Every image URL in a Webflow export points to Webflow's CDN, so the script should download each image, upload it to Sanity's asset pipeline and rewrite the reference. Leave that step out and your images disappear the day you close the Webflow site.

Hypothetical example: mapping a Webflow blog collection

For example, suppose a Webflow blog collection has these fields: Name, Slug, Post Body (rich text), Main Image, Author (reference), Category (multi-reference) and Summary.

In Sanity, Name maps to title, Slug to slug.current, Post Body to a Portable Text body after HTML conversion, Main Image to an image asset uploaded from the downloaded file, Author to a reference to an author document created first, Category to an array of references, and Summary to excerpt. Import authors and categories before posts, so the references resolve on the first pass.

Moving between headless platforms later uses the same approach, which we cover in headless CMS migration.

How do you keep marketers independent after leaving Webflow?

Marketers stay independent when they can build a new page, change any copy and preview it without opening a ticket. In practice that means three things: a block library that covers nearly every page they'll want, visual editing switched on for every page type, and clear limits written into the Studio so nobody can break the layout.

  • Name blocks for what they do (Customer logos, Pricing table), not how they're built.
  • Add validation rules: character limits on headlines, required alt text, image size hints.
  • Give every block a preview thumbnail in the Studio so editors pick by sight.
  • Write a one-page guide for the team and record a short walkthrough at handover.

What marketers lose is the free-form canvas: they can't invent a brand new layout without a developer. For most teams that's a fair trade for a cleaner site and no CMS caps. Our CMS setup guide for marketing websites shows how we structure editing freedom.

Is Sanity the right CMS, or should you consider Payload?

Sanity is the right choice when you want a hosted content backend, real-time collaboration and a polished visual editing flow without running a database. Payload is the better choice when you want the CMS inside your own Next.js app and database, with no external content service.

Frequently asked questions

Is Sanity free for a small marketing site?
Sanity has a free tier that many small sites start on, with paid plans that add seats, roles and usage. Limits and prices change, so check Sanity's current pricing page before you commit. For a startup marketing site, the bigger cost is usually the Next.js build and the time to set up the content model, not the Sanity plan itself.
Can I keep my Webflow URLs after moving to Sanity and Next.js?
Yes. Next.js routing is entirely under your control, so you can match Webflow's URL structure, including collection paths such as /blog/post-name. Matching URLs is the safest way to protect rankings. For any URL you do change, add a permanent redirect in next.config or in a redirects document in Sanity that Next.js reads.
Do editors need to learn code to use Sanity Studio?
No. Editors work in forms, page builders and the visual editing view, and never touch code. Developers configure the Studio in code, which is why it can be shaped to your content. Most marketing teams are comfortable after a short walkthrough, especially when blocks have clear names and preview thumbnails.
What happens to Webflow interactions and animations?
They don't transfer. Webflow interactions are tied to its runtime, so they're rebuilt in code, usually with CSS transitions, the Motion library or GSAP. That's a chance to keep only the animations that help the story and drop the ones that slow the page. Plan design and build time for it rather than assuming a port.
How long does a Webflow to Sanity migration take?
It depends on page count, how many collections you have, how messy the rich text is and how many custom blocks the design needs. A small site with one blog collection is far quicker than a large site with references across many collections. We scope timelines on the intro call after seeing the site and its CMS.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Website, $8,000.

A multi-page marketing site, designed by us, developed in Next.js and animated. $8,000, one-time, up to 6 pages. Book a free 30-minute call to see if it fits.

Schedule Call