On this page11 sections
To move a Framer custom domain to Vercel, you first need the site as code that Vercel can build, because Vercel can't host a Framer project directly. Convert the published site to a Next.js project, deploy it to Vercel and test it on the *.vercel.app address, then add your domain in Vercel, change the DNS records at your registrar, and disconnect the domain from Framer once the new site answers. Done in that order, visitors never see a broken page.
This guide covers the domain side in detail. For the build settings of every host, see deploying a converted Framer site to Vercel, Netlify, Cloudflare or Fly.io. Deframer is an independent tool and is not affiliated with, endorsed or sponsored by Framer or Vercel.
What has to happen, in order
A domain move has three moving parts: the code, the host and DNS. Mixing up their order is what causes downtime.
Step | Where | What you check before moving on |
|---|---|---|
| Deframer | The project runs locally |
| Vercel | The |
| Your code | |
| Your DNS provider | A day has passed since you lowered it |
| Vercel | Vercel shows the records it expects |
| Your DNS provider | The domain resolves to Vercel and HTTPS works |
| Framer | Only after the new site is live |
Keep your Framer plan active until step 7 is done and a few days have passed. That way, rolling back is a DNS change, not a rebuild.
Step 1: Get the site as Next.js code
Paste your published site's address into the convert form on Deframer. Next.js is the default framework, and it's the one Vercel builds with no configuration at all. Converting is free. To download, show the site is yours with a one-line meta tag in Framer's Site Settings, then Custom Code, publish, and download the .zip. A verified download costs 1 credit, or nothing with the lifetime deal; see pricing. Downloads are for your own sites, or sites whose owner has given permission.
One decision matters for a domain move: where the assets live. With Assets on Framer's CDN (the default), images, fonts and videos keep loading from framerusercontent.com after the move. With Assets in the project, they are downloaded into public/ and served by Vercel. If you plan to cancel Framer entirely, the second option is the cleaner exit. Assets on the CDN or in the project explains the trade-off.
Unzip and check it runs:
npm install
npm run build
npm startStep 2: Deploy to Vercel and test the preview address
Push the project to a Git repository, import it in Vercel, and deploy. The framework is detected as Next.js. If the site has forms, add FORMS_WEBHOOK_URL (or the per-form variables listed in .env.example) under the project's environment variables before the first production deploy, so submissions reach you from day one.
Then test the *.vercel.app address as if it were the live site:
- Open every route in the project README's routes table, including CMS detail pages and a URL that should 404.
- Check desktop, tablet and phone widths.
- Submit each form once and confirm the webhook receives it.
- Test two or three of the redirects you set in Framer. They are carried into
next.config.tswith the same status codes.
If something is off, fix it now. The domain hasn't moved yet, so nobody but you sees it.
Step 3: Point the code at the real domain
The converted project names the domain the site was published on in three places. If your domain stays the same, nothing needs to change. If you're also changing domains, or the site was converted from a *.framer.website address, update them:
metadataBaseinsrc/app/layout.tsx. Canonical URLs and social images resolve against it.public/robots.txt, which usually names the sitemap's full URL.public/sitemap.xml, which lists absolute URLs.
Commit, push and let Vercel redeploy.
Step 4: Lower the DNS TTL a day ahead
TTL (time to live) tells resolvers how long to cache a DNS answer. If your records have a TTL of several hours, some visitors will keep reaching Framer for that long after you switch. A day before the move, lower the TTL on the records you'll change to a few minutes (300 seconds is common). After the move has settled, you can raise it again.
Moving a domain off Framer without downtime goes deeper on TTLs, record types and rollback.
Step 5: Add the domain in Vercel
In the Vercel project, open the domains settings and add both forms of your domain, for example example.com and www.example.com. Choose which one is primary; Vercel redirects the other to it. Pick the same primary form your Framer site used, so your canonical URLs don't change.
Vercel then shows the DNS records it expects. Typically that's an A record for the apex domain and a CNAME for www, but use the exact values Vercel shows you, as they can change and can differ per account. If you'd rather move the whole DNS zone to Vercel's nameservers, Vercel offers that too, but you don't need to: changing two records at your current DNS provider is enough and keeps your email records untouched.
Step 6: Switch the DNS records
At your DNS provider:
- Note down the current records for the apex and
www(the ones pointing at Framer). This is your rollback. - Replace them with the records Vercel showed.
- Leave
MX,TXT(SPF, DKIM, verification records) and anything else untouched. Your email doesn't care where the website is hosted.
Vercel checks the records and issues a TLS certificate once they resolve. Check the result from the command line:
dig +short example.com
dig +short www.example.com
curl -sI https://example.com | head -n 5The curl response should come from Vercel (look for Vercel's headers) with status 200 or a redirect to your primary form.
Step 7: Disconnect the domain from Framer
Once the domain serves the new site over HTTPS, remove the custom domain from your Framer project, following Framer's own docs. Don't cancel the Framer plan yet. Give it a few days, watch for errors, and only then work through what to do before you cancel your Framer plan.
After the move: SEO checks
- Open Google Search Console for the domain and resubmit the sitemap.
- Run the URL inspection on your home page and one CMS page.
- Compare page titles and descriptions on a few URLs with the old site.
URLs don't change when you convert, because every page keeps its published path. The details are in keeping SEO when moving off Framer.
What if something goes wrong?
Put the old records back. Because you lowered the TTL, most visitors are back on Framer within minutes, and since you kept Framer connected until the end, the Framer site is still there to serve them. Common causes worth checking first:
- "Invalid configuration" in Vercel. The records don't match yet, or an old
AAAArecord still points somewhere else. Remove strayAAAArecords for the same name. - Certificate pending. Vercel can only issue the certificate once DNS resolves to it. Wait for the TTL to pass.
- Redirect loop. Usually a proxy in front (such as a CDN set to "flexible" TLS) talking HTTP to Vercel. Use full TLS end to end, or turn the proxy off.
FAQ
Can I connect my Framer domain to Vercel without converting the site?
Not to host the Framer site itself. Vercel builds and serves code, and Framer doesn't export code. You can put Vercel in front of Framer as a proxy, but then Framer still hosts the site. To actually move it, convert it to code first.
Will moving the domain hurt my rankings?
Not if URLs, titles, descriptions and content stay the same, which they do in a converted project. Short-term fluctuation can happen with any host change. Resubmit the sitemap and watch Search Console for crawl errors.
Does my email stop working when I move the domain?
No, as long as you only change the website records (apex and www) and leave MX and TXT records alone.
Should I use Vercel's nameservers?
Only if you want Vercel to manage all your DNS. Changing two records at your current provider is simpler and easier to roll back.
Do I need the lifetime deal to do this?
No. A single verified download costs 1 credit. The lifetime deal only makes sense if you move several sites; credits vs the lifetime deal compares them.
