How to Create a Redirect Map for a Site Migration (6 Steps)
To create a redirect map, collect every old URL from several data sources, score each one by traffic, links and conversions, choose the closest new page for it by hand, then test the full map on staging before launch.
A redirect map pairs each old URL with the one new URL it should permanently redirect to, plus the reason for that choice.
Build the old URL list from crawls, sitemaps, Search Console, analytics, backlink data and logs. The new sitemap alone misses the pages you need most.
Match by meaning, not by slug. The right destination answers the same need, even if its address looks nothing like the old one.
Google recommends server-side permanent redirects, such as 301 or 308, pointing straight at the final URL and kept for at least a year.
Most migration disasters I'm asked to fix share one cause.
The redirect map was built in launch week, from the new sitemap, by someone who never saw the old site's data.
That's backwards. A good map starts with the old site.
Below is how to create a redirect map step by step, using the process behind my SEO migration projects. Let's get into it.
What a Redirect Map Looks Like
A redirect map is a spreadsheet with one row per old URL and exactly one destination per row.
That's the core.
The columns around it are what make the map usable by a developer and checkable by you. Here's the layout I use:
Column
What it holds
Why you need it
Old URL
The full old address, protocol included
The source of each rule
Clicks
Organic clicks or sessions over 12 months
Sets the priority
Referring domains
Sites linking to that URL
Shows the links at stake
Conversions
Enquiries or sales that started on the page
Shows the revenue at stake
Action
Keep, merge, retire or new
Records the decision
New URL
The final destination
The target of the rule
Status
301, 308 or 410
Tells the developer what to build
Notes
Why this destination was chosen
Settles arguments later
Tested
Pass or fail on staging
Proves the rule works
Before you start, get access to:
Search Console for the old site, ideally every verified version of it
At least 12 months of analytics data, so seasonal pages show up
A crawler such as Screaming Frog or Sitebulb
A backlink tool, or the free Links report in Search Console
The staging site, plus server logs if your host keeps them
Keep the map in one shared sheet.
Copies sent by email drift apart within days.
Step 1: Pull Every Old URL From Several Sources
Your goal here is one list of every old URL that has ever mattered.
No single source holds them all. So you combine several:
A crawl of the live site. Finds everything linked internally today.
XML sitemaps. Finds pages the crawl misses because nothing links to them any more.
Search Console. Export every page with impressions over the longest date range available.
Analytics landing pages. Catches pages that get visits from email, social or ads.
Backlink data. Ahrefs or Semrush will list old URLs that no longer exist but still have links.
Server logs. Show what bots and people actually request, including URLs everyone forgot.
Google's own guidance on site moves suggests a similar mix: sitemaps, top URLs from logs or analytics, and pages from the Links report.
Paste everything into one column.
Then normalise it: same protocol, same host, consistent trailing slashes. Remove exact duplicates.
Don't skip the long tail either. PDFs, linked images, old campaign pages and parameter URLs all collect links over the years.
Pro tip: If the site has been rebuilt before, export its existing redirect rules too. Those old source URLs must now point at the new destinations, or you'll create chains.
Step 2: Score Each URL by What It Earns
Not every row deserves the same attention.
This step tells you where to spend your time.
Next to each URL, add three numbers: clicks, referring domains and conversions.
Then sort. In most audits I run, a small slice of URLs carries most of the traffic and links.
Those rows get mapped by hand and checked twice.
Everything else still gets a decision. It just doesn't need a debate.
Here's the simple tiering I work with:
Tier
Rule of thumb
How it gets mapped
1
Real traffic, links or conversions
Chosen by hand, reviewed by a second person
2
Some impressions or a few links
Chosen by hand, spot-checked
3
Nothing in any source for a year
Pattern rule or a deliberate 410
One warning: no traffic doesn't mean no value.
A page with zero visits but a link from a trade body is still worth a redirect. My guide on judging backlink quality shows which old links are worth protecting.
And if you don't trust the old site's tracking, check it before you sort by it.
A GA4 audit checklist will show you whether broken tags are hiding pages that convert.
Step 3: Crawl the New Site for Destinations
You can't map to pages you haven't listed.
Crawl the staging site and export every indexable URL with its title and main heading. That becomes your destination list.
While you're there, check two things.
First, staging must be blocked from search engines. Password protection is the safest option, because a robots.txt rule alone won't stop a linked URL from being indexed.
Second, the URL structure must be final.
If folder names are still changing, your matches will need redoing.
No staging yet? Use the agreed sitemap or content plan as your destination list, and mark the map as provisional.
This is also a good moment to run your usual technical SEO checklist against the new templates.
Step 4: Match Each Old URL to Its Closest Equivalent
This is the step that decides whether your rankings survive.
For every tier 1 and tier 2 row, ask one question: which new page would satisfy the person who landed on the old one?
Usually the answer is obvious. Sometimes it isn't:
Same page, new address. Map it directly.
One old page split into two. Pick the new page that matches the old page's main search queries.
Several old pages merged into one. Send all of them to the merged page. Google's site move guidance treats this kind of consolidation as acceptable.
A product or service you no longer offer. Pick the closest replacement, or the parent category if nothing similar exists.
When a call is hard, open the old URL's queries in Search Console.
The new page built for those same searches is the right home.
Merging old pages that chased one query also clears up keyword cannibalisation, so note those merges deliberately.
Write a one-line reason in the Notes column for every match that isn't obvious. When someone questions it three months later, you'll have the answer.
Spreadsheet lookups can do a first pass on matching slugs.
Treat their output as suggestions, though. A matching slug with different content is a wrong match.
Step 5: Decide Merges, Retirements and Rules
Some old URLs won't have a sensible new home.
That's fine, as long as you decide on purpose. Here are your options:
Situation
What to use
Why
A real equivalent exists
301 or 308 redirect
Moves the old URL's signals to the new one
Content removed, nothing similar
410 or 404
Says the page is gone instead of faking a match
A clean pattern, such as /blog/2019/post/ to /blog/post/
Pattern rule
Saves time where pages truly correspond
A move you will reverse
302 or 307
Only for temporary changes
What you shouldn't do is send every unmatched URL to the homepage.
Google says that pointing many old URLs at one irrelevant page, such as the home page, may be treated as a soft 404. You lose the redirect and confuse visitors.
Use permanent redirects.
Google's redirect documentation explains that a 301 or 308 tells its indexing systems the target should be canonical. A 302 or 307 doesn't.
Then flatten chains.
If /a already redirects to /b, and /b now moves to /c, update /a to go straight to /c. Google advises redirecting to the final destination directly.
For pages you're thinking of cutting, my content pruning guide covers how to choose between merging, improving and removing.
Step 6: Test the Map on Staging, Then Again at Launch
An untested map is a wish list.
Load your old URLs into the crawler in list mode, with the hostname swapped to staging. Then check every row for:
a single hop to the destination
a 301 or 308 status, not a 302 or a JavaScript redirect
a destination that returns 200, is indexable and has a self-referencing canonical
the destination you chose, not one a pattern rule produced by accident
Fix the failures, retest and repeat until every tier 1 row passes.
On launch day, run the same list against production.
Rules that worked on staging break more often than you'd expect: a different server config, a CDN rule or a plugin that overrides the redirect file.
After launch, point your navigation and body links straight at the new URLs. My internal linking strategy guide covers that clean-up.
Google recommends keeping redirects for at least a year. I keep them indefinitely.
These turn up again and again when I review maps written by someone else:
Building from the new sitemap. It only knows about the pages that survived the redesign.
Matching by slug alone. Two pages can share a slug and serve completely different searches.
Ignoring URL variants. Links out on the web often use old casing, trailing slashes or parameters.
Forgetting old domains. Domains from earlier rebrands must stay registered and keep redirecting.
Leaving hreflang behind. Multilingual sites need every annotation updated to the new URLs at once, which is where international SEO and migrations overlap.
Long chains on big sites. Every extra hop adds work for crawlers, which matters more when crawl budget is tight.
None of these are hard to avoid.
They happen because the map gets left until the end, when nobody has time to check it.
A rebuild onto an entirely new set of URLs is survivable when the map is done properly. This hazmat storage relaunch changed every address on the site and still regained its rankings.
Server rules, rendering and crawl problems outside the map belong to technical SEO.
Start Mapping Before the Design Is Signed Off
The best time to build a redirect map is while the new sitemap is still being argued about.
Steps 1 and 2 don't need the new site at all. And they often change which pages it should keep.
So here's your first action: take your old site's 50 most valuable URLs and write down where each will land.
Any URL you can't answer for is where your map starts.
If you'd rather have the inventory, mapping and launch testing run alongside your developers, that's the core of my migration support.
Frequently asked questions
How long does it take to create a redirect map?+–
A brochure site with a few dozen pages can be mapped in an afternoon. A shop or publisher with thousands of URLs takes days, and most of that time goes on the long tail: old campaign pages, PDFs and parameter URLs. Pattern rules speed up page types that genuinely match, but every high-value URL still needs a person to pick its destination.
Should I redirect deleted pages to the homepage?+–
No. Google says that sending many old URLs to one irrelevant destination, such as the home page, can be treated as a soft 404, so the redirect does nothing for you. Send each old page to its closest equivalent. If nothing on the new site comes close, let the old URL return a 404 or 410 instead.
Can I use 302 redirects in a site migration?+–
Only for moves you plan to reverse. Google treats 301 and 308 redirects as a signal that the target URL should be canonical, while 302 and 307 redirects are not used that way, so the old URL can linger in search results. For a permanent migration, a redirect map should specify permanent redirects throughout.
Do I need a redirect map if my URLs are not changing?+–
Not a full one. A redesign that keeps every URL needs no redirect rules, though you should still compare templates, copy and internal links against the old pages. The moment anything in the address changes, including the domain, protocol, folder names or trailing slashes, you need a map for every affected URL.
Independent SEO consultant · 6+ years in SEO · 60+ client websites worked on
I'm an independent SEO consultant with 6+ years in SEO. I run audits, migrations and content programmes for businesses in Europe, the UK and the USA, and I build the automation behind my own research.