The redirect map is the single most important document in a website migration. When it is complete and tested, rankings usually survive the move. When it is written from memory the night before launch, they usually don't. This template gives you the columns, the scoring and the QA steps we use, so you can build the sheet in a spreadsheet tool today. It is one part of our full website migration SEO checklist.
What is a 301 redirect map template?
A 301 redirect map template is a structured spreadsheet for planning permanent redirects in a migration. Each row is one old URL, with its destination, redirect type, priority score, status and notes.
It does three jobs. Before launch, it makes you decide what happens to every URL. On launch day, it is the list you test against. After launch, it is the record you check when a page loses traffic. A good map also feeds your platform's redirect settings directly, as a CSV import or a config file.
Column | What goes in it | Example |
|---|---|---|
Old URL | Path on the current site | /blog/2023/05/pricing-tips |
New URL | Final destination path | /blog/pricing-tips |
Type | 301, 308, pattern or 410 | 301 |
Clicks (12 months) | From Search Console | From your export |
Linking domains | From your backlink tool | From your export |
Converts | Yes if it drives leads or signups | Yes |
Priority score | Calculated, see scoring below | 6 |
Status | Mapped, live, tested, failed | Tested |
Notes | Merge, rename or reason for removal | Merged with old guide |
Copy these columns into a new sheet. One tab for the map, one for raw crawl data, one for Search Console data and one for backlinks keeps lookups simple.
How do you build a 301 redirect map for a site migration?
You build a 301 redirect map by collecting every old URL from three sources, removing duplicates, mapping each URL to its best new equivalent and scoring priority. Start in the first week of the project, not the last.
Crawl the current site
Run a full crawl and export every URL returning 200, plus existing redirects. Include paginated, tag and category URLs.
Export Search Console pages
Pull the pages report for the last 12 months with clicks and impressions. It catches pages the crawl missed.
Export backlink targets
From your backlink tool, export top pages by linking domains. Old URLs with links often no longer appear anywhere else.
Merge and normalize
Combine the lists into the raw tab, strip domains and tracking parameters, standardize trailing slashes and remove duplicates.
Map each URL
Fill in the new URL for every row by matching intent. Use the content audit decisions: keep, merge, redirect or remove.
Score and sort
Pull clicks, linking domains and conversions into the map with lookups, calculate the priority score and sort high to low.
Export for your platform
Export the old and new columns in your platform's format, such as a CSV for Webflow or a redirects array for Next.js.
The content audit step is where most maps get better. Our guide to content audits before a migration shows how to decide what to keep, merge or delete.
How should you score redirect priority?
Score redirect priority by adding three simple scores: one for search clicks, one for linking domains and one for conversions. High scores get hand-checked mappings and are tested first on launch day.
Signal | 0 points | 1 point | 2 points | 3 points |
|---|---|---|---|---|
Clicks in 12 months | None | 1 to 10 | 11 to 100 | Over 100 |
Linking domains | None | 1 to 2 | 3 to 10 | Over 10 |
Drives conversions | No | Yes |
Add the three for a score from 0 to 8. Treat 5 and above as tier 1: map by hand, check the destination content matches, and test on launch day. Treat 2 to 4 as tier 2: map carefully and test a sample. Treat 0 and 1 as tier 3: cover with pattern rules or let them go if there's no equivalent. Adjust the bands to your site's size; a small site might call anything with a single click tier 1.
Hypothetical example: scoring three URLs
For example, suppose an old guide at /blog/2022/04/onboarding-checklist got 240 clicks last year, has 14 linking domains and drives demo requests. It scores 3 + 3 + 2 = 8, tier 1, so it gets a hand-checked one-to-one redirect to the new guide.
An old tag page at /tag/product-updates got 6 clicks and has no links: 1 + 0 + 0 = 1, tier 3. A pattern rule sending old tag pages to the blog index covers it. A retired webinar page with 2 linking domains and no clicks scores 0 + 1 + 0 = 1, but since it has links, it redirects to the closest related resource rather than returning a 404.
How do you map URLs to the right destination?
Map each old URL to the new page that best answers the same intent. If an equivalent exists, redirect to it. If the content merged into a broader page, redirect there. If nothing relevant exists and the page has no value, let it return a 404 or 410.
- Same page, new slug. Redirect one to one. This is most rows.
- Merged content. Redirect all the merged URLs to the combined page, and keep the best sections from each.
- Removed product or feature. Redirect to the closest current product or the category page that replaced it.
- Date-based or category paths. Use a pattern rule if the slug survives, and one-to-one rows for tier 1 exceptions.
- Parameter URLs. Usually don't need redirects; canonicals handle them. See pagination, faceted URLs and parameters.
How do you load the map into Webflow, Framer or Next.js?
You load the map through each platform's redirect settings or config. Webflow and Framer take redirects in site settings, with pattern support. Next.js takes them in next.config or middleware, which can read directly from your exported sheet.
Keep the sheet as the source of truth and generate the platform format from it, rather than editing redirects by hand in two places. For platform specifics, see 301 redirects in Webflow, redirects in Framer and redirects in Next.js. Moving between builders has its own URL patterns; our Webflow to Framer migration guide covers that pair in detail.
How do you QA the redirect map at launch?
QA the redirect map by testing every tier 1 URL by hand and running all old URLs through a bulk status checker after launch. Each should return one 301 or 308 hop to a live 200 page that matches the planned destination.
- Before launch, check that no two rows send the same old URL to different places, and no new URL is itself redirected.
- After publishing, run the full old-URL list through a crawler in list mode and record status, hops and final URL.
- Filter for anything that isn't a single hop to a 200, and fix it in the sheet, then the platform.
- Open every tier 1 destination and confirm the content matches the old page's intent.
- Re-run the check a week later, and again when the old site is fully switched off.
If redirects fail after launch, our guide to traffic drops after a migration helps you work out what's wrong. To fit the map into the wider project timeline, see our website migration project plan template.
