# What should a website URL mapping template include?

> A URL mapping template is a spreadsheet with one row per old URL and columns for the new URL, the redirect type (almost always 301), the HTTP status, and notes. Build it from a complete crawl so no URL is missed, fill the new-URL column as you design the new site, then export it as your redirect rules. WPBuildAI crawls the old site and produces this mapping automatically, so the spreadsheet is complete before launch.

Source: https://wpbuildai.com/website-url-mapping-template-excel-automated/
By lawrence-arya · 2026-06-09

---
A website URL mapping template is simpler than it sounds: a spreadsheet with one row per old URL, and columns for the new URL, the redirect type, the HTTP status, the page's priority, and notes. That map is the single most important artifact in a migration, because it is what stops old URLs from 404ing after launch. The trick is not the format, which takes minutes to set up, it is making sure every URL is in it, which is where migrations succeed or fail. WPBuildAI crawls the old site and produces this mapping automatically, so the spreadsheet is complete before anything moves.

Give the sheet a column for host variants while you are at it, because since June 2026 Google has asked for Change of Address requests covering [all subdomains and both the www and non-www variants](https://ppc.land/googles-site-move-guide-now-covers-www-and-non-www-domain-variants/) of the old domain, and variants are exactly the rows that get remembered last.

## The exact columns to use

| Column | What it holds |
|---|---|
| Old URL | The full address on the current site |
| New URL | Where it should resolve after launch |
| Type | 301 for permanent moves, 410 for retired pages |
| Status | Current HTTP status (200, 301, 404) |
| Priority | Traffic or revenue, so you check the important ones first |
| Notes | Merges, splits, or special cases |

Google's [site move guidance](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes) treats this old-to-new mapping as the core of a safe move, and the spreadsheet is just that mapping in a reviewable form. Keep one row per URL and resist the urge to summarise groups of pages into a single row, because the redirect rules you export at the end operate per URL, and a row you collapsed is a redirect you will forget.

## Why completeness is everything

A template only works if it contains every URL, and a manual list never does. Someone always remembers the main pages and the blog, and always forgets the old campaign landing pages, the paginated archives, the tag pages, and the PDF that quietly earns links. Those forgotten URLs are not harmless: they are exactly the ones that 404 after launch, and because no one listed them, no one notices until rankings slip. So completeness is not a nice-to-have, it is the entire value of the template. A map that covers 95% of your URLs still breaks the 5% that were probably your oldest, most-linked pages, which is why the build process below is built around catching everything rather than the obvious pages.

## How to build the list so nothing is missed

No single source has all your URLs, so you combine several. Start with a crawl that follows internal links, which finds everything reachable from your navigation and content. Add the XML sitemap, which often includes pages the crawl did not reach. Then reconcile against your analytics and Search Console exports, which reveal orphaned URLs, pages with no internal links pointing at them that still get traffic or impressions. A backlink export catches externally-linked pages you might otherwise drop. Merge all of these, de-duplicate, and you have a list far more complete than any one tool produces. The crawl side of this is covered in [mapping a site's structure first](/best-tool-to-scrape-website-structure-hierarchy/); the reconciliation is what turns a crawl into a genuinely complete inventory.

## Filling in the new-URL column well

With the old URLs listed, the new-URL column is where judgement comes in. Map each old URL to the closest relevant new page, the one a visitor arriving from that old address would actually want. Where the slug and structure carry over, the match is mechanical. Where the new site reorganises content, you choose the best successor, and where a page merges into another or splits into several, you note the decision. The standard to hold is relevance: the destination should satisfy the same intent the old page did. A redirect to a vaguely related page is better than a 404 but worse than a precise match, and the precise matches are what fully preserve the rankings, so the high-priority rows deserve the most care here.

## A worked example: a 2,000-URL site mapped in tiers

Picture a site with about 2,000 URLs, too many to hand-map evenly, so you tier them by the priority column. The top tier, perhaps 100 URLs driving most of the traffic, you map by hand, one precise destination each, and verify individually. The middle tier, a few hundred standard pages, you map by pattern, old blog slug to new blog slug, checking a sample. The long tail, the paginated archives and ancient campaign pages, you map by rule to the relevant section or, where genuinely dead, mark for a 410. The same spreadsheet holds all three tiers; the priority column just tells you how much care each row earns. This is how a large map gets built without either drowning in the long tail or rushing the pages that matter.

## The priority column earns its keep

The priority column is what makes a large map manageable, and it rests on a real pattern. Ahrefs found in its [search traffic study](https://ahrefs.com/blog/search-traffic-study/) that a small minority of pages carries most organic traffic, which means a small minority of your rows are the ones you cannot afford to get wrong. Populate priority from your analytics, sessions, revenue, or impressions, and sort by it so your attention goes where the traffic is. A wrong redirect on a top-traffic page is a measurable loss; a wrong redirect on a page that never had visitors barely matters. The column turns an undifferentiated wall of URLs into a ranked worklist, so you verify the important rows thoroughly and rule-map the rest.

## What to do with retired pages

Not every old URL deserves a redirect. Pages you are genuinely retiring, a discontinued product with no successor, a duplicate that should never have existed, an obsolete announcement, should return a real 404 or 410, recorded as such in the type and notes columns. A 410 in particular tells search engines the page is intentionally gone, so they drop it cleanly rather than revisiting it. The mistake is redirecting a dead page to something unrelated just to avoid a 404, which creates a soft 404 instead and helps no one. The map should therefore include honest goodbyes alongside redirects: most rows get a 301, the genuinely dead ones get a clean not-found, and that decision is part of building the map, not an afterthought.

## Why not the homepage

The laziest way to fill the new-URL column is to point everything uncertain at the homepage, and it is a trap. Search engines treat an irrelevant blanket redirect to the homepage as a soft 404, because a user who wanted a specific page does not have their request satisfied by landing on the front page. So the homepage redirect does not preserve the ranking it was meant to save; it signals that the old page effectively no longer exists. Map to the closest relevant page instead, a category, a successor article, a parent collection, and reserve the homepage for the rare URL where it genuinely is the best destination. This is the same failure mode behind [soft 404s after a redesign](/why-am-i-getting-soft-404-errors-after-website-redesign/), and the map is where you prevent it.

## Turning the spreadsheet into live redirects

The spreadsheet is not just planning, it is the source of the live rules. Once the old and new columns are complete and checked, they export directly into your server configuration or your platform's redirect settings, one 301 per row. Google's [redirects guidance](https://developers.google.com/search/docs/crawling-indexing/301-redirects) confirms the 301 is what passes ranking signals to the new URL, so the fidelity of this export matters: each old URL should resolve to its mapped destination in a single hop, not a chain. Keeping the map as a spreadsheet first is what lets you review the whole thing before anything goes live, catch the homepage catch-alls and the missing rows, and only then apply it, the discipline behind [301 redirects preserving SEO](/blog/do-301-redirects-preserve-seo-when-changing-platforms/).

## Verifying the map after launch

A map is proven only once it is live and tested. After launch, crawl the old URL list and confirm each one returns a single 301 to its mapped destination, with no chains, loops, 404s, or homepage catch-alls. Start with the high-priority rows, then sample the rule-mapped tiers. Watch Search Console's coverage report over the following weeks for old URLs slipping into not-found or soft-404 states, which flags rows the map missed or got wrong. Backlinko's analysis of [11.8 million search results](https://backlinko.com/search-engine-ranking) is a reminder to preserve internal links into the new pages too, so the redirected equity has somewhere to flow. Verification is what turns a plausible-looking spreadsheet into a provably complete migration, and it belongs on the [migration SEO checklist](/blog/wordpress-migration-seo-checklist/).

## Common mistakes in a URL map

The recurring errors are all forms of incompleteness or laziness. Building the list from memory or a single source misses the orphaned and paginated URLs that 404 after launch. Collapsing groups of pages into summary rows hides redirects you then forget to create. Filling uncertain rows with the homepage manufactures soft 404s. Skipping the priority column means you spread effort evenly and under-verify your best pages. And treating the spreadsheet as planning rather than the actual export source leads to a live redirect set that drifts from the map you reviewed. Each is avoided by the same principle: the template's worth is its completeness and fidelity, so build it from everything and export it faithfully.

## Key points to remember

A URL mapping template is a spreadsheet, old URL, new URL, type, status, priority, notes, but its value is completeness, which only a crawl plus sitemap, analytics, Search Console, and backlink reconciliation delivers. Map each old URL to the closest relevant new page, give retired pages an honest 404 or 410, and never default uncertain rows to the homepage. Use the priority column to focus effort where the traffic is, export the checked map as single-hop 301s, and verify every redirect after launch starting with the high-priority rows. WPBuildAI generates the complete map from the old site and applies it as part of the migration, so the template is done, checked, and live before anything breaks; send your site URL for a fixed quote.

Not affiliated with WordPress or Lovable.