Webflow migration, done by our team: pick where your site goes, we move it

Our engineers rebuild Webflow sites on Next.js or Astro, pixel for pixel, and redirect every URL so your rankings come with you. Enter your site for a page count, price and timeline in about a minute. Below the form: every platform Webflow sites moved to in the 90 days to Nov 14, 2026, led by Next.js with 2,604.

Free migration estimate

Priced as a Next.js rebuild. Moving to Astro? Ask for it in the quote request and we'll price it by hand. No email needed for the estimate.

DReviewed by David Thomson, CTOData updated Nov 14, 2026Built by our own engineers

Your migration options, ranked by where Webflow sites actually moved

From our monthly crawl of 29.9M live business domains: the platform each site runs after it dropped Webflow, last 90 days.

  1. 01A favicon of Next.jsNext.js2,604We migrate this →
  2. 02A favicon of AstroAstro1,337We migrate this →
  3. 03A favicon of WordPressWordPress1,059WordPress vs Webflow →
  4. 04A favicon of ShopifyShopify461Shopify profile →
  5. 05A favicon of FramerFramer274Webflow vs Framer →
  6. 06A favicon of SquarespaceSquarespace149Squarespace profile →
  7. 07A favicon of Nuxt.jsNuxt.js149Nuxt.js profile →
  8. 08A favicon of WixWix107Wix vs Webflow →

A site counts under a platform when it dropped Webflow on every host we track and runs that platform now, read Nov 14, 2026. Each platform is counted on its own, so one site can appear twice (a headless WordPress behind Next.js counts for both) and the rows don't add up to a total. Counts are domains, not accounts. We measured 30 platforms and list those with 100 or more sites in 90 days. Not ranked: React and Vue, which sit inside these frameworks, and headless CMSs such as Sanity, which hold the content while a framework renders the pages.

Webflow holds 4.4 out of 5 from 996 reviews on G2, so most of its users are happy with it. These are its five most-mentioned complaints, with G2's counts, and what each one means when you're deciding whether to move.

  1. 01

    Steep learning curve

    102 mentions

    The Designer works in CSS terms: classes, flexbox, the box model. When editors can't publish without a designer, teams move to an editor they already know (WordPress) or a form-based headless CMS behind Next.js or Astro. Designers who find it too technical go to Framer.

  2. Bigger sites hit ceilings on collections and store features. Content-heavy sites move their content to a headless CMS behind a framework; stores move to Shopify, the #4 destination in our crawl.

  3. On large projects the Designer gets slow and some features are out of reach. Next.js, Astro and Nuxt move that ceiling into your own code: server rendering, static pages, and any integration you can write.

  4. This one is about moving onto Webflow, and leaving is no easier: the export leaves the CMS and form handling behind, and the interactions only run on Webflow's own scripts (see the developer guide below). That transition is the part we do for you.

  5. Webflow bills a plan per site plus Workspace seats for the team. Next.js, Astro and WordPress cost nothing to license; you pay for hosting and the build instead.

Topic labels and mention counts are G2's, from 996 Webflow reviews read Oct 28, 2026; each count links to the reviews behind it. No review text is reproduced, and the notes are ours.

The May 2026 price change is reaching renewals

Webflow folded its CMS and Business site plans into one Premium plan at $25 a month billed yearly ($39 monthly), raised Basic to $15 ($25 monthly), and cut former Business sites from 100GB to 50GB of bandwidth. Existing sites move to the new prices at their first renewal on or after June 29, 2026, and sites in Freelancer and Agency Workspaces on or after November 16, 2026 (Webflow). US searches for “webflow pricing” reached 5,400 in October 2026, against 1,900 to 2,900 a month through the rest of the year (Google Ads data).

The code doesn't come with you

Webflow's code export needs a paid Workspace plan and leaves the CMS behind: collection pages export as empty templates, and products, checkout, form handling, site search and password protection stay on Webflow (Webflow). Leaving means a rebuild, not a download.

TechnologyChecker.io's own engineers rebuild your Webflow site on Next.js or Astro. You get the same site, faster, in code your team owns, with every ranking carried across.

Pixel-perfect at every screen size

We capture every Webflow template at phone, tablet, laptop and desktop widths and compare each rebuilt page against it before you see it. Colours, type and spacing come from your Webflow styles as design tokens, so the new site matches the old one instead of approximating it.

Code an engineer signs off, not AI slop

Typed components, one per Webflow template and symbol, styled from shared tokens: no copied Webflow class soup, no dead CSS, no generated pages nobody can read. AI agents draft the repetitive parts, an engineer reviews every pull request, and nothing merges that fails the type check, the linter or the visual comparison.

SEO settings that keep your traffic

Same paths wherever the new platform allows, one 301 for every URL that changes (Webflow's old redirects folded in, so none chain), and every title, meta description, canonical, Open Graph tag, structured-data block and alt text carried over page by page. Sitemap, robots.txt and hreflang are rebuilt, and every old URL is crawled against the new site before DNS moves.

Faster pages, measured before launch

Static or server-rendered HTML, correctly sized images, self-hosted fonts, and JavaScript only where a component needs it. Each template is measured against Core Web Vitals on mobile and launches only when it matches or beats the Webflow page.

What each Webflow feature becomes

Designer pages and symbols
Typed Next.js (React) or Astro components, one per template and symbol
CMS collections
Moved by script through the Webflow API into Markdown in your repository or the headless CMS you choose, with rich text, images and references
Interactions and animations
Rebuilt with CSS transitions, GSAP or Motion, honouring reduced-motion settings
Forms
Reconnected to your form tool or CRM, with spam protection
301 redirects
Redirect rules in code or at the edge, with no 1,000-rule ceiling
Localization
Locale routes with hreflang tags
Hosting and publishing
Vercel or your own host, with a preview link for every change
Ecommerce and Memberships
Scoped on the call; the estimate doesn't price them
  1. 1Estimate and fixed quoteRun the estimate at the top of this page. We check it against your site, list what it couldn't see (interactions, locales, ecommerce), and send a fixed quote within one business day. You pay 50% to start.
  2. 2Inventory every URLWe collect every URL from your sitemap, Google Search Console and Webflow's redirect export, record each page's title, description, canonical and structured data, and write the redirect map before any code.
  3. 3Capture the designEvery template is captured at four screen widths, and your colours, type scale and spacing are pulled from the Webflow styles into design tokens.
  4. 4Rebuild the templatesEngineers rebuild each template and symbol as components on a preview URL, with every pull request reviewed. Interactions are rebuilt and forms reconnected. You review each page as it lands.
  5. 5Move the contentCollections come across by script through the Webflow API, rich text, images and references included. Images are downloaded off Webflow's hosting, and content freezes on a date we agree.
  6. 6Check every pixel and every URLEach page is compared with its Webflow original at every width, each template is measured for Core Web Vitals, and every old URL is crawled against the new site: status codes, redirects, titles and canonicals.
  7. 7Launch, then watchWe switch DNS with you and keep Webflow live until the new site is verified, so rolling back is one DNS change. For 30 days we watch Search Console for 404s and dropped pages; if search traffic falls, we fix the cause free. The second 50% is due once you've signed off.

The same move, for developers doing it in-house: Webflow to Next.js or Astro, in the order that protects your rankings. Code export needs a paid Webflow Workspace plan.

  1. Inventory every URL before you write code

    The URL list is the test plan for the whole move. Merge three sources: the sitemap Webflow generates at /sitemap.xml, the Pages report in Google Search Console (it lists URLs Google knows that the sitemap may not), and Webflow's 301 export from step 2. For each URL, record the status code, title, meta description, canonical, Open Graph image and any JSON-LD from custom code. Collection items live at /{collection-slug}/{item-slug}, so one template can stand behind hundreds of rows.

  2. Export the Webflow code, and know what it leaves out

    On a paid Workspace plan, Export code downloads a ZIP: one HTML file per static page, plus css, js and images folders. Interactions, sliders, tabs and navbars keep working in it, because the bundled JavaScript drives them. Use it as the reference for markup and styles, not as the new codebase. Then export what the ZIP leaves out (Webflow's export guide):

    • CMS content. Collection lists come out empty and collection pages as blank templates. Export each collection to CSV from the CMS panel as a backup; each file covers the locale you're viewing (CSV guide). Step 3 pulls the content properly.
    • Ecommerce products and User Accounts. Both export as CSV.
    • 301 redirects. Site settings → Publishing → 301 redirects → Export. Webflow emails the download link (redirect export guide).
    • Never in any export: form handling, site search, password protection, localized content and code components. Steps 3, 6 and 7 rebuild them.
  3. Pull the CMS through the Webflow Data API

    The CSV is fine for a few small collections. For anything with references, locales or hundreds of items, use the Data API v2: every field comes back typed, and every locale on request. Create a site token with CMS read access (Site settings → Apps & integrations → API access), list the collections with GET /v2/sites/{site_id}/collections, read each one's fields with GET /v2/collections/{collection_id}, then page through the published items, 100 per request:

    const API = "https://api.webflow.com/v2"
    const headers = { Authorization: `Bearer ${process.env.WEBFLOW_TOKEN}` }
    const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms))
    
    type Item = {
      id: string
      fieldData: { name: string; slug: string; [field: string]: unknown }
    }
    type Page = { items: Item[]; pagination: { total: number } }
    
    // Every published item in a collection, 100 per request,
    // waiting out the rate limit whenever the API answers 429
    export async function listLiveItems(collectionId: string) {
      const items: Item[] = []
      while (true) {
        const query = `limit=100&offset=${items.length}`
        const res = await fetch(
          `${API}/collections/${collectionId}/items/live?${query}`,
          { headers },
        )
        if (res.status === 429) {
          await sleep(Number(res.headers.get("Retry-After") ?? 60) * 1000)
          continue
        }
        if (!res.ok) throw new Error(`Webflow ${res.status}: ${await res.text()}`)
        const page: Page = await res.json()
        items.push(...page.items)
        if (!page.items.length || items.length >= page.pagination.total) return items
      }
    }
    • Rich text arrives as an HTML string. Convert it to Markdown or MDX, or keep it as HTML, and rewrite the image URLs inside it (step 4).
    • Image fields are objects with a url and alt; multi-image fields are arrays of them. Keep the alt text.
    • Reference and multi-reference fields hold item IDs. Load every collection first, then resolve the IDs to the slugs your new routes use.
    • Option fields hold an option ID; the labels are in the collection's field definitions.
    • On a localized site, pass cmsLocaleId (listed in the Sites response) to read each locale's version.

    The API allows 60 or 120 requests a minute depending on the site plan and answers a 429 with a Retry-After header, which the loop above waits out (rate limits). /items/live returns published items only; use /items to include drafts.

  4. Re-host every image and file

    Every image and file URL in the export, the CSV and the API points at Webflow's asset CDN, and those links stop working once the Webflow project is deleted. Download every asset, including the images inside rich text, put them in your repository or your own storage, and rewrite the URLs as you import. Keep the original files and let next/image or Astro's <Image /> generate the responsive sizes, instead of copying the resized versions Webflow made.

  5. Rebuild the templates as components

    Map each static page to a route and each collection template to one dynamic route: app/blog/[slug]/page.tsx with generateStaticParams in Next.js, src/pages/blog/[slug].astro with getStaticPaths in Astro. Webflow components (symbols) become components with props. Bring Webflow's variables (colours, sizes, fonts) across as CSS custom properties or Tailwind theme values and write each component's styles from them, rather than importing the exported stylesheet, which holds the whole site's classes in one file.

    Mind the direction of the cascade. Webflow designs desktop first: the base breakpoint is desktop, and tablet (991px and below), mobile landscape (767px and below) and mobile portrait (479px and below) override it, while the 1280, 1440 and 1920px breakpoints cascade upward (Webflow's breakpoints). Tailwind is mobile first, so flip each override deliberately rather than copying values across.

  6. Rebuild interactions and forms

    Webflow interactions run on Webflow's own JavaScript and the data attributes in its markup, which is why they work in the export but not inside React or Astro components. Rebuild the simple ones with CSS transitions or scroll-driven animations, and timelines and scroll effects with GSAP or Motion. GSAP has been free for commercial use, every plugin included, since version 3.13 in April 2025 (GSAP's announcement). Put every animation behind a prefers-reduced-motion check.

    Forms need a new handler, because Webflow's form processing doesn't leave Webflow: a Server Action or route handler in Next.js, an Astro Action or API endpoint in Astro, sending to your CRM or inbox, with a honeypot field or Cloudflare Turnstile against spam.

  7. Carry the SEO settings over page by page

    Each Webflow page has its own title, meta description, Open Graph fields and custom head code, and collection templates bind those to CMS fields. Reproduce them exactly from the step 1 inventory: generateMetadata in Next.js, the layout's <head> in Astro, bound to the same fields. Then rebuild the site-wide pieces: the sitemap (app/sitemap.ts, or the @astrojs/sitemap integration), robots.txt, canonical tags, any JSON-LD from custom code, and hreflang tags if the site uses Webflow Localization.

    Keep the URL form identical. Webflow serves paths without a trailing slash and 301s /pricing/ to /pricing. Next.js does the same by default; Astro leaves trailing slashes on prerendered pages to the host, so check your host's setting before launch.

  8. Write the 301 redirects in code

    Combine Webflow's redirect export with every path that changes, then collapse the chains: if /a already redirected to /b and /b now moves to /c, send /a straight to /c. Webflow wildcards put (.*) in the old path and %1 in the new one (Webflow's syntax); rewrite them as path parameters, so /old/(.*) → /new/%1 becomes /old/:path* → /new/:path* in Next.js.

    // next.config.ts
    import type { NextConfig } from "next"
    // [{ "source": "/old-path", "destination": "/new-path" }, ...]
    import redirects from "./redirects.json"
    
    const nextConfig: NextConfig = {
      async redirects() {
        // permanent: true sends a 308, which Google treats as permanent, like a 301
        return redirects.map(redirect => ({ ...redirect, permanent: true }))
      },
    }
    
    export default nextConfig
    // astro.config.mjs
    import { defineConfig } from "astro/config"
    import vercel from "@astrojs/vercel"
    
    export default defineConfig({
      // Without an adapter, a static build writes redirects as
      // meta-refresh pages with no status code
      adapter: vercel(),
      redirects: {
        "/old-path": "/new-path",
        "/old/[...path]": "/new/[...path]",
      },
    })

    Vercel accepts up to 1,024 redirects in the Next.js config; past that, look paths up in middleware (proxy.ts from Next.js 16) or use your host's bulk redirects (Next.js guide). In Astro, redirects only return a real 301 through an adapter or your host's redirect file (Astro docs).

  9. Test every URL and template before DNS moves

    Deploy to a staging URL and replay the step 1 inventory against it. Every old URL should return 200 at the same path, or a single 301 or 308 to a page that returns 200, with the same title and canonical. Screenshot each template next to its Webflow original at 479, 767, 991 and 1440px wide (Playwright does this in a few lines), and run each template through PageSpeed Insights on mobile. Keep staging out of Google with a noindex header, and check the header is gone on production.

  10. Switch DNS, then watch Search Console

    Point the domain at the new host and keep the Webflow site and plan until the new site is verified, so rolling back is one DNS change. The domain stays the same, so Search Console's Change of Address tool doesn't apply: submit the new sitemap, then check the Pages report and each moved page's queries every week for the first month. Only then remove the domain from Webflow and cancel the plan.

That is the whole job. Our team runs it for a fixed price, and for 30 days after launch we watch Search Console and fix the cause free if search traffic falls.

Get a fixed quote

We rebuild Webflow sites onto Next.js and Astro. For the other platforms, here is what carries over and what doesn't, so you can plan the move yourself or brief whoever does it.

  • A favicon of Webflow
    A favicon of Next.js

    Webflow to Next.js

    2,604 in 90 days

    The most common move, and the one we price from your sitemap

    The design is rebuilt as React components, CMS collections move by script into a headless CMS with preview, and every Webflow URL keeps its path or gets a 301. Interactions are rebuilt with GSAP or Motion, since Webflow's run on its own scripts and don't carry into React components.

    Webflow to Next.js migration →
  • A favicon of Webflow
    A favicon of Astro

    Webflow to Astro

    1,337 in 90 days

    A lighter build for content-heavy marketing sites

    Pages ship as static HTML with no JavaScript unless a component needs it, and collections become content files or a headless CMS. We quote Astro rebuilds by hand: run the estimate at the top of this page, then ask for Astro in your quote request.

    Ask for an Astro quote →
  • A favicon of Webflow
    A favicon of WordPress

    Webflow to WordPress

    1,059 in 90 days

    A CMS editors already know, and a plugin for everything

    CMS items move cleanly: export each collection to CSV and bring it in with a CSV import plugin. Download the images first, because the CSV links them to Webflow's hosting. Layouts and interactions don't move; they are rebuilt as a theme or in a page builder. Recreate Webflow's 301 list with a redirect plugin or at the server. We don't take on WordPress builds.

    WordPress vs Webflow →
  • A favicon of Webflow
    A favicon of Shopify

    Webflow to Shopify

    461 in 90 days

    Usually the store moving, not the whole site

    Sites move to Shopify when their ecommerce outgrows Webflow's. Products export from Webflow as CSV and Shopify imports products from CSV, after the columns are mapped. Marketing pages either move into a Shopify theme or stay on a separate site.

    Shopify profile →
  • A favicon of Webflow
    A favicon of Framer

    Webflow to Framer

    274 in 90 days

    The designers' move: a canvas with motion built in

    Framer has its own CMS with CSV import, so collections can come across. Layouts and animations are rebuilt in Framer's editor.

    Webflow vs Framer →
  • A favicon of Webflow
    A favicon of Squarespace

    Webflow to Squarespace

    149 in 90 days

    Fewer controls in exchange for one all-in-one plan

    Pages are rebuilt in Squarespace's templates; expect to give up custom layouts and interactions.

    Squarespace profile →
  • A favicon of Webflow
    A favicon of Nuxt.js

    Webflow to Nuxt.js

    149 in 90 days

    The Vue side of the same move

    Nuxt is to Vue what Next.js is to React, so the rebuild has the same shape: components, a headless CMS for the collections, and a 301 for every changed URL. Teams that already write Vue pick it.

    Nuxt.js profile →
  • A favicon of Webflow
    A favicon of Wix

    Webflow to Wix

    107 in 90 days

    The same trade as Squarespace, with a freer editor

    Pages are rebuilt in the Wix editor, and Wix's CMS takes CSV imports for collection items.

    Wix vs Webflow →
DTReviewed byDavid Thomson · CTO, TechnologyChecker.io · 15+ years

Choose the platform by who edits the site after launch, not by what is popular. If developers own it, pick Next.js or Astro: the code lives in your repository and every change ships through review. If marketers publish every day without a developer, they need a CMS they can run alone, such as WordPress or a headless CMS with a good editor. If designers own the site and motion matters most, Framer is the closest thing to Webflow's canvas.

Whichever you pick, the risk is the same: search traffic. Every Webflow URL has to resolve on the new site, at the same path or through a single 301, and titles, descriptions and canonicals have to come across page by page. That is where a move loses traffic, not in the design.

Before you pick: David's 4 checks

  1. Who publishes, and how often?Daily edits by marketers with no developer on hand point to a CMS-first platform. Weekly or monthly edits with an engineer on the team point to a framework.
  2. Does the site do more than publish content?Logins, gated pages and personalisation need server code: Next.js or Nuxt. Mostly static content with a few interactive parts suits Astro. A real store belongs on Shopify.
  3. How much CMS content has to move?Count the items in every collection now. A few dozen can be re-entered by hand; hundreds or thousands need a scripted import, and every reference field needs mapping first.
  4. What will it cost to run, not only to build?A Webflow plan pays for hosting, CMS and editor in one bill. Elsewhere those are separate: hosting, a CMS licence if you pick a paid one, and developer time for changes. Price the first year, not just launch day.
More about David

If we do the move

Our engineers rebuild Webflow sites on Next.js and Astro. Every migration comes with the same terms.

  • 24/7 supportReach the team any time during the project and for 30 days after launch.
  • SEO-safe, keep your trafficSame URLs, a 301 for every one that changes, metadata moved page by page. If search traffic drops after launch, we fix the cause free.
  • Tested in detailEvery page checked against the old site on desktop and mobile: links, forms, redirects, tracking and speed.
  • Pay 50% now, 50% at the endHalf to start, the other half when the finished site is live and you've signed it off.
Estimate my migration
Where should I migrate my Webflow site?

Judged by where Webflow sites actually go, Next.js: 2,604 of the sites we saw drop Webflow in the 90 days to Nov 14, 2026 run it now, followed by Astro (1,337) and WordPress (1,059). The right one depends on who edits the site: developers lean to Next.js or Astro, marketers who want a familiar CMS to WordPress, and designers to Framer. Our team migrates Webflow sites to Next.js and Astro.

Is Webflow worth it?

For designers who publish without developers, often yes: G2 reviewers rate it 4.4 out of 5 across 996 reviews. It stops paying off when editors depend on a designer for every change, when the CMS or store hits its limits, or when the plan costs more than hosting a site you own. Those are the complaints G2 reviewers raise most.

Can I export my Webflow site?

Partly. On a paid Workspace plan, Webflow exports your HTML, CSS, JavaScript and assets, but not CMS content, Ecommerce, form handling or site search. CMS collections export separately as CSV from the CMS panel, and the 301 redirect list exports from Site settings.

Does Webflow's code export include the CMS?

No. Collection lists export in their empty state and collection template pages export without their content. Export each collection to CSV from the CMS panel instead, and download the images it links to before you close the project.

How do I keep my SEO when I leave Webflow?

Keep URLs where the new platform allows it, add a 301 for every one that changes (folding in Webflow's existing redirects so they don't chain), carry over titles, meta descriptions and structured data, and crawl every old URL against the new site before DNS moves.

How much does it cost to move off Webflow?

Our Webflow to Next.js packages run from $1,500–$2,500 for a site under 100 pages (about 1 week) to $4,000–$6,000 for large libraries (4–5 weeks), counted from your sitemap. Astro rebuilds are quoted by hand.

Is Webflow raising its prices?

Webflow changed its site plans in May 2026. Basic is $15 a month billed yearly ($25 monthly), and a new Premium plan replaces CMS and Business at $25 a month yearly ($39 monthly). Existing sites move to the new prices at their first renewal on or after June 29, 2026; sites in Freelancer and Agency Workspaces, and sites on legacy pricing, on or after November 16, 2026.

Who does the work?

TechnologyChecker.io's own engineers, not an automatic converter: people plan, build and check every page, with AI coding agents taking the repetitive work. We run the detection crawl behind the switching numbers on this page and deliver the migrations ourselves.

Will the new site look exactly like my Webflow site?

Yes. Every template is captured at four screen widths, colours, type and spacing come from your Webflow styles, and each rebuilt page is compared with its Webflow original before you review it. Save redesigns for after launch, so any change in traffic traces back to one cause.