Flat 30% off for Singapore 🇸🇬

Migrations · Redirect map

How to build a redirect map for a website migration

Rankings belong to addresses. This is the list that carries them from the old site to the new one, built step by step, with the rules each platform accepts and Google's own advice on how long to keep them.

At a glance

  • Permanent codes301 and 308
  • Keep redirectsAt least a year
  • Google followsUp to 10 hops
  • Framer's limit2,500 redirects

By Shaheer Malik · Google and platform docs checked on 28 October 2026

Quick answer: A redirect map is a list of every URL on the old site with the address it should go to on the new one. Build it before any design work: collect every old URL from the sitemap, analytics, Search Console and the CMS, mark each one keep, redirect or drop, write permanent redirects straight to the final page, test every row, and keep the redirects for at least a year, as Google advises.

What a redirect map looks like

One row per old URL. A spreadsheet is enough; what matters is that every address the old site has ever served is on it, and every row has a decision.

Old URLNew URLRedirectWhy
/about-us//aboutPermanentSame page, new address
/pricing/pricingNoneAddress kept, nothing to do
/2024/05/28/pricing-update//blog/pricing-updatePermanent, by patternDated post paths, one rule
/team//aboutPermanentMerged into About
/old-webinar-2022/None404Dropped, no equivalent

Step 1: list every old URL

Google's site move guide starts here too: map the old URLs to the new ones. No single source has them all, so I combine these:

Merge the lists, remove duplicates and anything with a tracking query on the end, and sort by traffic. The pages at the top are the ones you cannot afford to get wrong.

Step 2: decide keep, redirect or drop

Every row gets one of three decisions:

Merging is fine. Google says redirecting several old pages to one page is reasonable when that page has taken over their content. What it warns against is pointing many unrelated pages at one destination such as the homepage, which it may treat as a soft 404.

Step 3: write the rules, specific before general

Most moves need far fewer rules than rows. A pattern rule covers a whole folder, such as every blog post moving from one path to another, and single rules handle the pages that do not fit a pattern. Write the single rules first and the wildcards after, because several platforms read the list in order and stop at the first match.

PlatformWhereA pattern ruleLimits
FramerSite Settings → Hosting → Redirects, on Pro and above/blog/* to /articles/:1, with * capturing and :1, :2 reusingFramer's plugin reference names a maximum of 2,500 redirects
WebflowSite settings → Publishing → 301 redirects/oldfolder/(.*) to /new/%1Rules run in the order they were created; a CSV import replaces every existing redirect, so export first
SquarespaceDeveloper tools → URL mappings/blog/[name] -> /posts/[name] 301About 2,500 lines (400 KB); no ?, & or #; cannot redirect the homepage or image and file URLs
Cloudflare PagesA _redirects file in the site's output/blog/* /articles/:splat 3012,000 static and 100 dynamic redirects; a rule without a code is a 302

From each platform's own documentation, read on 28 October 2026. Framer's Basic plan has no redirects at all, which is why every move to Framer runs on Pro.

301 or 308: permanent is what matters

Google's redirects documentation treats 301 and 308 as permanent and 302, 303 and 307 as temporary. A migration needs permanent redirects, which tell Google the new page should replace the old one in search. Which permanent code you get depends on the platform: Webflow's redirect list is labelled 301, Squarespace's URL mappings take a 301 or 302 code, and Framer's own site answers its redirects with 308. Any permanent code is fine.

Server-side redirects are best. Google reads an instant meta refresh as permanent too, and says to use a JavaScript redirect only when neither is possible, because it may never see it if the page fails to render.

Step 4: test every row before and after the switch

A redirect map is also the test plan. Each old URL should answer with a permanent redirect whose destination answers 200, in one hop. On a staging domain this catches mistakes before launch; on the live domain it proves the switch worked. From a terminal, one URL at a time:

curl -sI https://www.example.com/about-us/ | grep -iE "^(HTTP|location)"

For a whole list, a short script or a crawler that reads URLs from a file does the same job. Any row that answers 404, 302, or a redirect to another redirect goes back to step 3.

Step 5: after the switch

These come from Google's site move guide and its status code reference, both read on 28 October 2026.

Seven mistakes that cost rankings

The URL patterns each platform leaves behind

Every platform shapes its addresses differently, which decides how many pattern rules a move needs:

Each move's page lists them in detail: WordPress to Framer, Webflow to Framer, Squarespace to Framer and Wix to Framer.

Or have it done as part of the move

On every migration I build this map first, before any design work, and test it on the live domain after the switch. The move runs on the website redesign sprint: $1,999 fixed, 14 days, for a site of up to about 25 pages, with the old site live until you approve the new one and 30 days of support after launch. Larger sites are quoted separately.

Redirect map questions

What is a redirect map?

A redirect map is a list of every URL on the old site, each paired with where it should go on the new site: the same address, a new address, or nowhere. It is the plan the redirect rules are written from and the checklist they are tested against.

Should I use a 301 or a 308 redirect?

Either. Google treats 301 and 308 as permanent redirects and 302, 303 and 307 as temporary. What matters is that a migration uses a permanent one. Webflow's redirect list is labelled 301, Squarespace's URL mappings take a 301 or 302 code, and Framer's own site answers its redirects with 308.

How long should I keep redirects after a migration?

Google's site move guide says generally at least one year, and suggests keeping them indefinitely so people with old links still arrive. I leave them in place.

Can I redirect every old page to my homepage?

No. Google says redirecting many old URLs to one unrelated page, such as the homepage, can confuse people and may be treated as a soft 404. Redirect each page to its closest equivalent, or let pages with no equivalent return 404.

How many redirects can a site have?

It depends on the platform. Framer's plugin reference names a maximum of 2,500, Squarespace's URL mappings hold about 2,500 lines, and a Cloudflare Pages _redirects file holds 2,000 static and 100 dynamic rules. Wildcards keep the count down, because one rule can cover a whole folder.

Do redirect chains hurt SEO?

Google's crawlers follow up to 10 redirect hops by default, so a short chain is not fatal, but each hop is a slower page load for visitors. Point every old URL straight at its final page, and update older redirects when you add new ones.

Do I need Google's Change of Address tool?

Only when the domain or subdomain changes. Google says it is not needed for moves within the same domain, so a platform switch that keeps your domain does not use it.

Keep exploring

Move your site without losing your traffic

Book a 30-minute call or send a brief. You get a scope and a fixed quote within 24 hours.