How to Migrate a Webflow Site to Next.js Without Losing SEO
A migration only hurts rankings when URLs, content, or technical signals change. Preserve those three and your traffic holds. Here is the exact process I use.
TLDR: rankings survive a Webflow to Next.js migration when three things stay intact. Keep every URL (or 301 it), rebuild the same content and metadata, and preserve the technical signals (titles, schema, sitemap, Core Web Vitals). Change one of those without a plan and you lose traffic. Keep all three and you usually gain, because Next.js loads faster.
The three things that actually protect your SEO
- URLs and redirects. Map every existing URL to its new one. Anything that has to change gets a permanent 301 redirect so link equity and rankings transfer. Never let a ranking page 404.
- Content and metadata parity. Every page ships with the same visible content, the same title and meta description, the same headings, and the same structured data it had on Webflow. Google should see continuity, not a new site.
- Technical signals. Regenerate the sitemap, keep canonical tags self-referencing, carry over robots rules, and match or beat the old Core Web Vitals.
The process, step by step
- Crawl and inventory first. Before touching code, export every URL, its title, meta, and current rankings. This map is your source of truth and your redirect list.
- Rebuild in the Next.js App Router. Recreate each page as a static or server-rendered route so it ships fast, crawlable HTML. Move Webflow CMS collections to your data source of choice (a headless CMS, Markdown, or a database).
- Port the metadata and schema. Use the Next.js Metadata API for titles, descriptions, canonicals, and Open Graph. Re-add JSON-LD (Organization, Breadcrumb, Article, FAQ) so rich results survive.
- Set up 301 redirects. Add every changed path to your redirects config or middleware. Test that old URLs resolve to the right new ones with a 301, not a 302 or a 404.
- Regenerate the sitemap and re-verify. Ship a fresh sitemap, confirm robots access, then submit the sitemap in Google Search Console and request indexing on key pages.
- Launch, then watch. After go-live, monitor Search Console coverage and Core Web Vitals for two to four weeks. A small, brief dip during re-crawl is normal; a sustained drop means a redirect or a metadata gap to fix.
Common ways people lose rankings
- 302 instead of 301. Temporary redirects do not pass authority. Use 301 for permanent moves.
- Dropping structured data. If FAQ or Article schema disappears, rich results disappear with it.
- Slower pages. Next.js is fast by default, but unoptimized images or heavy client JavaScript can undo the win. Keep LCP and INP green.
- Orphan pages. If internal links change, some pages lose their crawl path. Preserve internal linking.
FAQ
Will my rankings drop during the migration? Expect a brief, minor fluctuation while Google re-crawls. With correct 301s and content parity, rankings recover within a few weeks and often improve on the back of better performance.
Should I keep the same URL structure? Yes, wherever possible. The fewer URLs that change, the less risk. Redirect only what genuinely must move.