All posts
Platform migrations

How to Create a 301 Redirect Map for a Website Migration (Template)

A 301 redirect map template for website migrations: the columns to use, how to score URL priority from Search Console clicks and backlinks, and how to QA it.

By Mehdi Hassan7 min read

The short answer

A 301 redirect map template is a spreadsheet that lists every old URL, its new destination, the redirect type and a priority score. Build it by merging a site crawl, Search Console pages and backlink data, mapping each URL to its closest match, then scoring priority by clicks and linking domains so the most valuable redirects are tested first.

Key takeaways

  • Merge three URL sources: a crawl, Search Console's pages export and your backlink tool's top pages.
  • Map by intent: each old URL goes to the page that answers the same question, not the nearest folder.
  • Score priority from clicks, linking domains and conversions, then QA the top tier by hand.
  • Use pattern rules for URL families, and keep one-to-one rows for anything with traffic or links.
  • The finished sheet is your launch-day test plan and your record for fixing issues later.

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.

  1. Crawl the current site

    Run a full crawl and export every URL returning 200, plus existing redirects. Include paginated, tag and category URLs.

  2. Export Search Console pages

    Pull the pages report for the last 12 months with clicks and impressions. It catches pages the crawl missed.

  3. Export backlink targets

    From your backlink tool, export top pages by linking domains. Old URLs with links often no longer appear anywhere else.

  4. Merge and normalize

    Combine the lists into the raw tab, strip domains and tracking parameters, standardize trailing slashes and remove duplicates.

  5. Map each URL

    Fill in the new URL for every row by matching intent. Use the content audit decisions: keep, merge, redirect or remove.

  6. Score and sort

    Pull clicks, linking domains and conversions into the map with lookups, calculate the priority score and sort high to low.

  7. 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.

  1. Before launch, check that no two rows send the same old URL to different places, and no new URL is itself redirected.
  2. After publishing, run the full old-URL list through a crawler in list mode and record status, hops and final URL.
  3. Filter for anything that isn't a single hop to a 200, and fix it in the sheet, then the platform.
  4. Open every tier 1 destination and confirm the content matches the old page's intent.
  5. 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.

Frequently asked questions

How many redirects is too many?
There is no fixed SEO limit on the number of redirects. Platforms may have practical limits on how many rules they handle well, so use pattern rules for large URL families and one-to-one rows for important pages. What hurts is chains and loops, not volume. Check your platform's current documentation if you have thousands of rows.
How long should I keep 301 redirects in place?
Keep them for at least a year, and indefinitely for any URL with backlinks or steady referral traffic. Search engines need time to process the move, and old links on other sites keep sending visitors for years. Removing redirects early is one of the most common causes of late traffic losses.
Should I redirect URLs that get no traffic?
Redirect them if they have backlinks, appear in old emails or ads, or have a clear equivalent page. If a URL has no traffic, no links and no relevant destination, letting it return a 404 or 410 is fine. A clean 404 is better than a misleading redirect to an unrelated page.
What is the difference between a 301 and a 308 redirect?
Both are permanent redirects. A 308 also requires the browser to keep the same request method, such as POST, while a 301 may change it. Search engines treat them the same for SEO. Next.js uses 308 for permanent redirects by default, which is fine for a migration.
Can I use a redirect plugin instead of a map?
A plugin or platform tool applies redirects, but it doesn't decide them. You still need the map to collect every old URL, choose destinations, prioritize and test. The usual workflow is to build the map in a spreadsheet, then import it into the plugin, platform settings or config file.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Website, $8,000.

A multi-page marketing site, designed by us, developed in Next.js and animated. $8,000, one-time, up to 6 pages. Book a free 30-minute call to see if it fits.

Schedule Call