How to migrate your website to Next.js, Vercel and Claude Code in 2026

TL;DR

  • Claude Code can rebuild a Webflow, WordPress, Framer, Wix or Squarespace site as a Next.js app on Vercel, and you own every line of the result
  • The rebuild is the quick part. Rankings survive a migration because of the URL inventory, the redirect map and the checks you run after launch
  • Google lists 301 and 308 as permanent redirects, so the 308 that Next.js sends by default carries the same weight
  • A clean Next.js build can pass every Lighthouse SEO check, and that score is a checklist of basics with no bearing on where you rank
  • AI crawlers from OpenAI, Anthropic and Perplexity read the HTML your server sends and skip JavaScript, so server-rendered pages are the safe default for AEO
  • Google says AI Overviews and AI Mode need no special markup, and FAQ rich results disappeared from Google Search in May 2026
  • A site Claude Code builds ships without an admin panel, so decide where blog posts will live before launch day

Why small teams are leaving site builders

Site builders were the right call when the alternative was hiring a developer for every landing page. In 2026 the alternative is Claude Code, and small teams are taking their sites off Webflow, WordPress, Framer and Wix and rebuilding them as code they own.

Jess Cook, VP of marketing at Vector, posted on LinkedIn that her team saw a 436% increase in organic impressions after moving their site off Webflow and hard coding it with Claude. She added her own caveats: they still run a CMS, she credits being small and early stage, and she is not declaring web developers dead. Impressions are also a different number to clicks or revenue. Read it as one team's result, worth studying for what they changed.

She described the changes plainly. Claude found old messaging, inconsistent design styles and drifting module versions across the old site, including three slightly different table of contents components, and the team cleaned them up with a few prompts. New landing pages that used to take weeks of design and developer handoffs now take a day or two. And she believes Google reads the new site more easily, with fewer wrapper divs and scripts in the way.

All of that comes back to ownership. On a site builder, the platform decides the markup, the scripts that load, how redirects work and what you are allowed to change. Once the site is a Next.js codebase, Claude Code can read and change every part of it, and so can you.

What you are moving to

Claude Code is Anthropic's agentic coding tool. It reads a codebase, edits files and runs commands from your terminal, IDE, desktop app or browser. In a migration it does the rebuild, from components and routes to redirects and metadata.

Next.js is the React framework the new site is written in. It renders pages on the server or at build time, so the HTML that reaches a browser or a crawler already contains your words.

Vercel hosts it. Vercel maintains Next.js, connects to your GitHub repository and deploys each push.

The fourth piece is the one that gets forgotten: somewhere for content to live once the site has no admin panel. More on that below.

Step one: inventory every URL before you touch anything

Every page that has earned a link or a ranking has an address, and the new site needs an answer for each one. Google's guide to site moves with URL changes puts this near the top, with a mapping from every old URL to its new home, and it reminds you to bring images and PDFs across too, since those can carry search traffic of their own.

Build the list from your current sitemap, the Pages report in Google Search Console, your analytics landing pages and a crawl of the live site. Anything with traffic, backlinks or impressions goes on it, including the old blog posts you forgot existed.

Then export the content. Each platform hands it over differently:

  • Webflow's code export leaves out CMS content, so blog posts come out as a CSV per collection
  • WordPress exports posts and pages as an XML file from Tools, and serves them through its REST API
  • Framer does not support HTML export, and CMS collections come out through a CSV plugin
  • Wix says a Wix site cannot be hosted anywhere else, so the rebuild starts from the live pages

Plan to rebuild the design and carry the content across. None of these platforms hands you a codebase you would want to maintain.

Guides by platform

Each platform hands over its content and redirects differently. Pick the guide for the one you are leaving:

If you are still choosing the tools for the new site, our guide to an AI-native website stack on a budget compares Claude Code, Codex, v0 and Lovable, with Supabase, Vercel and Contengi, and what each costs a month. If you are still deciding whether to move at all, start with the benefits of an AI-native stack, and what it will not do for you.

Step two: change one thing at a time

Google's site move guide has a line worth pinning above your desk: change one thing at a time. A new domain, a new CMS and a new layout launched on the same day make it impossible to tell which one caused a drop.

For a builder-to-Next.js move, that means keeping the domain and keeping the URLs wherever you can. If the domain and paths stay the same, Google treats it as a change of hosting, which is the gentlest kind of move. Keeping URLs also means less redirects to maintain. Save the redesign and the URL clean-up for a second phase, once the new site has settled.

Step three: let Claude Code rebuild the site

Start a fresh Next.js project, open Claude Code inside it and hand over the source material: the URL list, the exported content, screenshots of each page template and your brand guidelines. Build the components first, then the pages.

Create a shared component library from these page screenshots before building any pages. List every repeated block you find and flag any that look like near-duplicates of each other.
Rebuild /pricing from the screenshot and the copy in /migration/pricing.md. Keep the URL exactly as it is. Use server components, one h1 and the shared layout.

Component-first is how you get the clean-up Jess described. Builder sites collect near-duplicate sections over the years, the same call to action in four slightly different versions. A rebuild gives you one version of each, and Claude Code will find the duplicates if you ask it to look.

Step four: redirects for every URL that does change

Next.js handles redirects in next.config.js. With permanent: true, it sends a 308 status code instead of the classic 301, which worries people mid-migration. It should not. Google lists 301 and 308 as permanent server-side redirects, and its site move guide states that permanent redirects do not cause a loss in PageRank.

Two practical limits. Vercel allows up to 2,048 redirect routes in configuration, with bulk redirects available above that. And send every old URL straight to its final destination in one hop, with no chains. Pages you are retiring for good should return a 404 or 410, which is Google's own advice for deleted content.

Redirects help AI crawlers as much as Google. In Vercel and MERJ's study of how AI crawlers behave, ChatGPT's crawler spent 34.82% of its fetches on 404 pages and Claude's spent 34.16%, compared with 8.22% for Googlebot. Their advice for site owners is to keep redirects in place and sitemaps current. A migration that breaks old URLs feeds that problem.

Step five: set up SEO in code, once

On a builder, SEO settings live in a panel on each page. In Next.js they live in code, so you set the pattern once and every page follows it.

  • A unique title and meta description for every route through the Metadata API, with generateMetadata for blog posts
  • metadataBase in the root layout and a canonical on every page, pointing at your production domain
  • app/sitemap.ts with real last-modified dates, and app/robots.ts pointing to it
  • Article JSON-LD on posts that matches the visible headline, author and date
  • One h1 per page, with real headings below it

Our guide to SEO for Vercel and Next.js sites goes through each of these line by line, including the preview deployment trap that leaves a staging domain open to indexing. Before you block any crawler, read our guide to robots.txt for AI, because blocking the wrong bot keeps you out of the answers you want to appear in.

Setting up the blog for search

Blog posts need a little more than the basics. Give each post a slug that never changes after publishing, a named author, a published date and an updated date, and render the full text on the server. Link related posts to each other in the body copy, since internal links are how both Google and an AI crawler understand which pages belong together.

If your old blog lived at /blog/post-name, keep exactly that structure. A post that keeps its address needs no redirect and carries its history with it.

The benefits, and what each one is worth

Perfect SEO scores

A clean Next.js build can pass every check in Lighthouse's SEO audit. Before you post the 100 on LinkedIn, know what it measures: a short list of pass or fail basics such as a page title, a meta description, crawlable links and a valid robots.txt. A perfect score tells you nothing is broken. It says nothing about where you will rank.

Speed

Google's Core Web Vitals guidance asks for an INP under 200 milliseconds, alongside good LCP and CLS scores. On your own codebase you decide which scripts, fonts and animations load, and you can strip out whatever a builder added by default. Measure before and after in Search Console, because a heavy Next.js site is just as slow as a heavy Webflow one.

Organic traffic

Nobody can promise more traffic from a migration, and you should be wary of anyone who does. The move gives you control: faster pages, consistent metadata, cleaner markup and landing pages in a day instead of a sprint. Traffic follows what you do with that control, and mostly that means what you publish.

AEO and AI visibility

This is where server rendering earns its keep. Vercel and MERJ found that OpenAI's crawlers, ClaudeBot and PerplexityBot do not execute JavaScript, while Gemini rides on Googlebot and does. Anything you want an AI assistant to know about you, from product copy and prices to articles and navigation, has to sit in the HTML the server sends. Next.js server components and static pages do that by default.

Google keeps its side simple. Its documentation on AI features and your website says there are no additional requirements to appear in AI Overviews or AI Mode beyond normal SEO. And if anyone is still selling you FAQ schema for rich results, Google stopped showing FAQ rich results in May 2026. Write FAQs because readers scan for them, and keep the markup if you like, since unused structured data does no harm.

Then check whether it works. Our answer engine optimisation guide covers what gets a brand cited, and LLM tracking shows whether ChatGPT, Claude, Gemini, Perplexity and Grok name you after the move.

Where your content lives after the move

A site Claude Code builds has no admin panel. That feels great on launch day and awkward three weeks later, when you want to publish a post and the only route is a commit and a redeploy.

You have three ways to solve it. Markdown files in the repo suit a founder who enjoys Git. A headless CMS such as Sanity or Contentful suits a team with a developer to model the schema and wire up the front end. An AI-native CMS suits a site that AI built and AI agents keep up to date.

That third option is what we built Contengi to be. Your Next.js site gets one signed endpoint, and Claude Code writes it from a single prompt. From then on, posts arrive with their title, slug, SEO title, meta description, body, FAQ and featured image, and they are stored in your own database, keyed on the URL. Edits republish to the same address, so a refresh never creates a duplicate page. The agents drafting those posts work from your knowledge base and hard rules, and published posts get revisited against your Search Console data.

Page copy stays in code, where Claude Code edits it. Everything you publish and refresh lives in Contengi, and the Claude you rebuilt the site with can open and edit any post through the Contengi connector.

Launch week checklist

  1. Crawl the staging site and compare every URL against your inventory
  2. Test every redirect and confirm it lands in one hop on a permanent status code
  3. Check the raw HTML of your key pages for the h1 and main copy, with JavaScript switched off
  4. Verify the new site in Search Console, switch DNS, then submit the new sitemap
  5. Make sure the new hosting can handle heavier crawling, since Google crawls a moved site harder than usual for a while
  6. Watch the Pages and Core Web Vitals reports every day for the first fortnight

Then give it time. Google's guide says a medium-sized site can take a few weeks or more before the new URLs replace the old ones in results, and larger sites take longer. Ranking wobbles in that window are normal. A drop that keeps going after a month points to a redirect or indexing problem, and Search Console will usually show you which.

Frequently asked questions

Will migrating to Next.js improve my SEO?

It removes technical limits and gives you full control over markup, metadata and speed. Rankings still depend on content and links, so expect the migration to raise your ceiling, with the content you publish deciding how close you get to it.

Do I lose rankings when I migrate my website?

Expect some fluctuation while Google recrawls. Google's guide says medium-sized sites can take a few weeks or more to settle. Keeping URLs identical and redirecting every changed URL in one hop keeps the loss small and temporary.

Are Next.js 308 redirects bad for SEO?

No. Google lists 301 and 308 both as permanent server-side redirects and says permanent redirects do not lose PageRank.

Do I need a developer to migrate with Claude Code?

You need someone comfortable reading a diff, running a project locally and checking a redirect with a crawler. Claude Code writes the code, and a person should still review what goes live.

Does a Next.js site help with AI search?

Server-rendered HTML is readable by AI crawlers that skip JavaScript, which includes OpenAI's crawlers, ClaudeBot and PerplexityBot according to Vercel and MERJ. Google says its AI features need no special markup beyond normal SEO.

How do I add a blog to a site Claude Code built?

Use markdown in the repo, a headless CMS, or an AI-native CMS such as Contengi, which connects through one signed endpoint that Claude Code builds from a single prompt.

Content like this, in your own voice

The workflows behind this blog run inside Contengi. A strategist sets up your knowledge base, and the agents write to your rules.