Webflow Exporter logo

Host an Exported Webflow Site on Vercel — Free, with Caveats

Vercel is one of the easier homes for an exported Webflow site. The export is already shaped the way Vercel wants it (a folder of static files), and you can be live in about three minutes from the moment you have the ZIP.

The reason it's worth a full post anyway: there are exactly three things that catch people, and all three show up after DNS has been flipped. I've watched enough teams hit them that this writeup is mostly about avoiding the post-launch panic.

If you don't have the export yet, start here — you'll need the ZIP before any of this matters.

The happy path (90 seconds)

You don't need a Git repo for a one-off deploy. The Vercel CLI accepts any folder of static files.

# from inside the unzipped export folder
npx vercel --prod

First run links the directory; subsequent runs deploy. The first time it asks four questions (project name, scope, framework — pick “Other”, build settings — leave blank), then uploads. You get a live URL in under a minute.

Deploying an exported Webflow site to Vercel via the CLI

That's the entire happy path. The rest of this post is what to do when it's not just “deploy and walk away.”

Gotcha 1: Hobby tier is non-commercial

Vercel's Hobby plan is free, but it's explicitly non-commercial. The plan limits page in their terms is unambiguous: personal projects, learning, side projects. A client site, a SaaS marketing page, or anything that makes money belongs on Pro.

For a Webflow export, this matters more than it sounds. A lot of teams export because they're leaving Webflow's paid Site plan to save money — but the destination plan also has a price tag if the site is commercial.

The math, roughly:

PlanMonthlyWhat you get
Webflow CMS~$23Webflow hosting + CMS + badge removal
Vercel Hobby$0Non-commercial only
Vercel Pro$20Per seat; commercial OK; more bandwidth/build
Netlify free$0Commercial OK; bandwidth-capped
Cloudflare PG$0Commercial OK; unlimited bandwidth

If you're commercial and you want $0/month, look at Cloudflare Pages — same kind of static deploy, no terms wrinkle.

Gotcha 2: Trailing slash mismatch

Webflow serves pages at paths like /about (no trailing slash) by default, though it varies. Vercel's default is also no trailing slash. So far, fine — but the export contains files at about/index.html, which Vercel will also serve under /about/ (trailing slash). Both URLs return the same page.

Why this matters: Google indexed your site under one of the two forms. If you don't pick one and 301 the other, you end up with duplicate indexing, the canonical signal weakens, and rankings drift down for a few weeks until Google figures out what to canonicalize.

Set the convention explicitly in vercel.json at the root of your export folder:

{
  "trailingSlash": false,
  "cleanUrls": true
}

This makes /about/ 308 to /about, and /about.html 308 to /about. One canonical URL per page, no ambiguity. Check what Webflow was serving before you flip DNS — if it was the trailing-slash version, set "trailingSlash": true instead.

Gotcha 3: Forms

Webflow's form handler is part of Webflow hosting. The moment you're on Vercel, those <form action=""> elements POST to nothing. The form looks identical — the visual feedback even works briefly — but submissions vanish.

You have two clean options:

  1. Vercel Function. Add api/contact.ts to the project, point the form's action at /api/contact, parse the body, forward to email/Slack/your CRM. This is the “real” answer if the project is going to grow.

    // api/contact.ts
    export default async function handler(req: Request) {
      const data = await req.formData();
      // forward to Resend, Slack, Notion — whatever
      return new Response(null, { status: 303, headers: { Location: "/thank-you" } });
    }
    
  2. Formspree / Netlify Forms via a static endpoint. Replace the form's action with a Formspree endpoint. Zero code, ~$10/month if you outgrow the free tier.

Decide before you flip DNS, not after. The post-DNS scramble to wire up a form is one of the most common “the migration broke our site” reports.

After it's deployed

Three things to do once the site is up on the Vercel URL, before flipping the production domain:

  1. Click every page. Static export plus interactions plus animations — most of it works, but a handful of CMS-driven pages occasionally have stale absolute URLs. Look for any 404s in the deployment's real-time logs.
  2. Open the network tab on the home page. Search for webflow.com and uploads-ssl.webflow.com. There should be zero hits — every asset should be served from the Vercel domain. If you see any, that's usually a custom-code embed in Webflow that hardcoded a Webflow URL; fix it before going live.
  3. Run the home page through PageSpeed Insights. The export usually scores a bit better than the Webflow original (no runtime CSS injection, no Webflow.js bundle running on every page) — if it scores worse, something's wrong with asset loading.

When to skip Vercel and pick something else

I run Webflow Export and watch users pick hosts every week. The honest breakdown:

  • One-time client site, you'll never touch it again → Netlify Drop. Zero config.
  • Commercial site, free hosting required → Cloudflare Pages. Unlimited bandwidth, no terms wrinkle.
  • Site will probably grow into a Next.js app → Vercel Pro. This is what Vercel is best at.
  • Pure docs / personal portfolio → GitHub Pages. Free forever.

Vercel for a static Webflow export is fine, but it's rarely the best answer unless you're betting on the “this becomes a real app someday” trajectory. The host comparison post goes deeper.

Quick recap

  1. npx vercel --prod from inside the export folder.
  2. Add vercel.json with trailingSlash set to match what Webflow served.
  3. Wire forms to a Function or Formspree before flipping DNS.
  4. Check Hobby vs Pro based on whether the site is commercial.

The whole migration takes about 30 minutes if you batch the gotchas. The site itself is on Vercel in 90 seconds — the other 28 minutes is the part nobody puts in the YouTube tutorials.

If you haven't exported the site yet, Webflow Export does the crawl, CMS, and asset rewriting in one pass. Or if you're still deciding between hosts, the host comparison guide lays out the full set.