Skip to content
blago

BlogSEO

A Webflow migration checklist that keeps your rankings

Rankings belong to URLs, so a migration keeps them only if every old address still answers with a permanent redirect.

Break it yourself

A live demo. It measures its own result in your browser.

oldsite.comCrawling…
  1. GET /about-us
  2. GET /services.html
  3. GET /blog/2021/launch-day
  4. GET /blog/2022/new-team
  5. GET /case-studies/harbor
  6. GET /contact.php
Site settings › Publishing › 301 redirectsNo redirects yet

Example URLs, not a client’s site.

To move a site to Webflow without losing rankings, list every URL the old site has, map each one to a page on the new site, and add a 301 redirect for every address that changes before launch. Then submit the new sitemap and read Search Console’s error report until nothing old returns a 404.

The short answer

Search engines rank URLs, not websites. Every page that brings you traffic has years of links, clicks and history attached to its address. When that address stops answering, the history has nowhere to go. A 301 redirect is a permanent forwarding notice: it tells search engines the page moved and where, so the new URL can inherit what the old one earned.

The whole checklist, in order:

  1. Crawl the old site and pull every URL Search Console knows about.
  2. Map every old URL to a new one before you build anything.
  3. Enter the 301 redirects in Webflow, using wildcard rules where a pattern exists.
  4. Carry over the titles, descriptions and headings that already rank, and fix canonicals and internal links.
  5. Test every redirect before launch, and freeze content only for the last days.
  6. Submit the new sitemap and read the error report after launch.

Each step below says what to do and what usually goes wrong.

Step 1: list every URL you have

The URL list is the foundation, and the most common mistake is building it from the navigation. Old sites carry pages nobody links to anymore that still get search traffic: a blog post from years ago, a landing page from a past campaign, a PDF a partner still links to.

Pull from several sources and merge them:

  • A crawl of the live site with a site crawler, which finds everything linked from somewhere.
  • The old XML sitemap, which often lists pages the navigation dropped.
  • Google Search Console: the Pages report for indexed URLs, and the Performance report for pages that get impressions and clicks.
  • The Links report in Search Console, for pages other sites link to.

Deduplicate the list and keep one column for the path alone, without the domain. Mark the pages that bring traffic or links: those are the ones a mistake would cost you.

Step 2: map every old URL to a new one

Do this before design or build starts, not the week of launch. The map is a two-column table: old path, new path. Every row on the old side needs an answer.

  • Same page, same path. No redirect needed. Keeping paths where you can is the cheapest migration there is.
  • Same page, new path. One redirect, old to new.
  • Page merged into another. Redirect to the page that now covers the same topic.
  • Page removed for good. Redirect to the closest relevant page. If nothing is relevant, a 404 is honest, but make it a deliberate choice, row by row.

What not to do: send every unmatched URL to the home page. A redirect to an unrelated page is treated much like a missing page, so the old URL’s value is lost anyway, and visitors who clicked a specific result land somewhere that does not answer their question.

Mapping early also shapes the build. If a whole section of the old site lives under one folder, giving the new section a matching structure in Webflow CMS can turn hundreds of rows into a single rule.

Step 3: set the 301s in Webflow

Webflow keeps redirects in Site settings, under Publishing, in the 301 redirects section. Each rule has an Old path and a Redirect to path. For single pages, that is all there is:

Old path:     /about-us
Redirect to:  /about

For whole folders, use a capture group. (.*) matches the rest of the path, and %1 puts it back in the new address:

Old path:     /oldfolder/(.*)
Redirect to:  /new/%1

Several groups work too, numbered in order:

Old path:     /blogs/(.*)/(.*)
Redirect to:  /articles/%1/%2

Prefer wildcard rules wherever your map shows a pattern. Fewer rules are easier to check, and a pattern catches old URLs your list missed.

The redirect that does nothing

If a static page still exists at the old path in Webflow, the page is served and the redirect is ignored. Delete that page, set it to draft or give it a new slug, then publish again. This is the first thing to check when a redirect you can see in settings does not fire.

Avoid redirect chains. If your old site already redirected /a to /b, and /b now moves to /c, point /a straight at /c. Every extra hop is another request for the visitor and another place for a crawler to stop.

Step 4: keep what already ranks

A redirect moves the address. The page at the new address still has to deserve the ranking. A migration is a tempting moment to rewrite everything, and rewriting a page that ranks is a gamble you can take later, one page at a time, once you know the move itself went cleanly.

  • Titles and meta descriptions. Copy them over for every page that brings traffic, and set them per page in Webflow’s page settings, or from CMS fields for collection pages.
  • Headings and body content. Keep the H1 and the main sections of ranking pages. Content a page ranked for should still be on that page.
  • Canonical tags. Each page’s canonical should point to its own new URL on the final domain, not to the staging domain and not to the old address. Structured data moves with the page too; for CMS pages, schema markup on a collection template is written once.
  • Internal links. Update links inside the content to the new URLs. A redirect is a safety net for the outside world. Your own site should link to the right address directly.

Not every migration is a platform move. Our Chattermill project was a rebuild inside Webflow: 49 pages, the 13 CMS collections kept unchanged, and the way pages assemble from them rebuilt. A rebuild that changes structure needs the same map and the same checks as a move from another platform.

Step 5: test, freeze, launch

Test the redirects before launch, not after traffic drops. A short script that requests every old path and follows the redirects tells you more than clicking through a sample:

while read -r url; do
  curl -s -o /dev/null -L \
    -w "%{http_code} %{num_redirects} %{url_effective}\n" "$url"
done < old-urls.txt

Put full URLs in the file, on the final domain and with https, so the domain itself adds no hop. A moved page should read 200 1 followed by the new URL from your map, and a page that kept its path 200 0. A 404 means a missing row. A 2 or more in the middle column is a chain. A final URL that does not match the map means a wildcard rule caught something it should not have.

Freeze content only for the last days before launch. Until then the old site can keep changing, as long as each change is copied into the new build. A long freeze stalls the client’s marketing for no reason; a freeze that is too short lets a new post slip through that exists only on the old site. Agree on the date and keep it to days.

On launch day, point the domain, publish, run the redirect script again against the live domain, and submit the new sitemap in Search Console.

Step 6: read the error report

Launch is the start of the check, not the end. Search Console reports what Google finds as it recrawls your old URLs, and that takes time.

  • Open the Pages report and look at the reasons pages are not indexed. “Not found (404)” on an old URL is a missing redirect: add a rule and publish.
  • Watch for redirect errors, which usually mean a chain or a loop between two rules.
  • Check that the new sitemap is read without errors and that its URLs start to appear as indexed.
  • Compare clicks per page in the Performance report against the weeks before launch. A page that drops on its own, while the rest holds, usually lost content or its title in the move.

Keep the redirects in place. They cost nothing to keep, and old links on other sites keep sending people to the old addresses for years.

This is the method we follow on every Webflow migration and rebuild. If you are planning a move and want a second pair of eyes on the map, get in touch.

Questions people ask

  • Not if every old URL answers with a single 301 redirect to its closest new page, and the titles, descriptions and headings that rank come with it. Rankings are lost when old addresses return 404 or all redirect to the home page.

  • Open Site settings, then Publishing, then 301 redirects. Enter the old path and the path to redirect to, and use capture groups such as /oldfolder/(.*) to /new/%1 to cover a whole folder with one rule. Publish the site for the redirects to take effect.

  • Usually because a static page still exists at the old path, and the page wins over the redirect. Delete it, set it to draft or change its slug, then publish again.

We fix this for clients

If your site has this problem and you would rather not touch the CSS yourself, send us the link. We reply within a few hours, or write to blago.creative.agency@gmail.com.

More notes

All notes