Website Migration

    URL Mapping for Migrations: A Step-by-Step Guide

    How to build a URL mapping for a migration: crawl, match, and redirect every URL so no equity is lost.

    Matt SuffolettoWritten byMatt Suffoletto|Published July 19, 2026|Updated July 19, 2026|8 min read
    Share this guide

    A URL map is a spreadsheet that pairs every old URL with its destination on the new site. Build it before launch, cover 100% of indexed URLs, and you keep the rankings and links you already earned.

    Most traffic drops after a migration trace back to one root cause: URLs that changed and were never redirected. A complete map is the single document that prevents that outcome. Our website migration service work starts with this file, and it stays open until the last redirect is verified in production.

    Why a URL map decides the outcome

    When a URL changes and no redirect points the old address to the new one, three things happen at once. Search engines find a 404, drop the page from the index, and the backlinks pointing at that page stop passing value. A page that took two years to rank can fall off in two weeks.

    The map is your insurance. It records where every URL was, where it goes, and whether the redirect is live and returning a single 301 hop. On a 2,000-page site, missing 40 URLs sounds small. If those 40 pages carried 30% of organic traffic, the site loses a third of its search visitors on launch day.

    Step 1: Crawl every source of URLs

    One crawl is never enough. Pull URLs from at least five sources so nothing hides:

    • A full crawl of the live site with Screaming Frog or Sitebulb
    • The XML sitemap, which often lists pages the crawl misses
    • Google Search Console Pages report for every URL Google has indexed
    • Server log files for the last 90 days to catch URLs that get real traffic but no internal links
    • Ahrefs or Semrush for pages that hold backlinks

    Combine all five into one column, then remove duplicates. On a mid-size site this list is usually 20% to 40% larger than a single crawl returns. The extra URLs are exactly the orphaned, high-value pages that a crawl-only approach would strand.

    One detail that trips up the dedupe: the same page often appears in several forms across sources. The crawl might list the HTTPS version, the sitemap the HTTP version, and a backlink report a version with a trailing slash or an uppercase letter. Normalize the whole column to one convention before you remove duplicates, or you will either drop real URLs or carry phantom rows that map to nothing. Decide up front whether your canonical form uses a trailing slash, then apply it to every row.

    Step 2: Add the data that ranks priority

    Next to each old URL, add columns for organic clicks (last 12 months), referring domains, and current ranking positions. Sort by traffic and links descending.

    This ranking tells you where to spend review time. The top 100 URLs by traffic and links get manual, one-to-one destination matching. The long tail can follow pattern rules. You are not treating a page with 400 backlinks the same as a tag archive nobody visits.

    A practical way to read the sorted list is to draw two lines. The pages above the first line, usually the top few hundred by traffic and links, get individual attention and manual QA after launch. The pages between the two lines get pattern rules but still get spot-checked. The pages below the second line, the true long tail with no traffic and no links, get pattern rules and a lighter check. This tiering keeps a 5,000-row map manageable without letting a money page slip through on an automated rule.

    Step 3: Match old to new, one row at a time

    For each old URL, assign the exact new URL it should point to. The rule is one-to-one and topically identical. A product page maps to the same product on the new site, not to the category above it.

    Avoid these four mistakes:

    • Redirecting everything to the homepage. Search engines treat a bulk homepage redirect as a soft 404 and drop the pages anyway.
    • Mapping to a near-match that covers a different topic. Relevance mismatch loses most of the equity you were trying to keep.
    • Leaving cells blank. Every old URL needs a destination or a documented decision to let it 404 or return 410.
    • Ignoring case and trailing slashes. /Page/ and /page are different URLs to a crawler.

    When a page has no equivalent on the new site, map it to the closest relevant parent, not the homepage. If a page has no value and no links, a deliberate 410 is cleaner than a redirect.

    Step 4: Convert the map into redirect rules

    The finished map feeds two outputs: exact-match redirects for high-value URLs and pattern-based rules for predictable structural changes.

    If the whole site moves from /blog/post-name to /articles/post-name, one regex rule handles thousands of URLs. Write exact rules for the top pages and money pages, then use patterns for the bulk. Test every pattern against a sample of 20 real URLs before deployment so an over-greedy rule does not catch pages it should not.

    Follow 301 redirect best practices so every redirect is a permanent 301, not a 302, and points straight to the final URL.

    Step 5: Verify after launch

    The map is not finished at launch; it is finished when every row is verified in production. Re-crawl the old URL list against the live new site and check three things for each: status code is 301, it resolves in one hop, and the destination matches the map.

    Check What passes What fails
    Status code 301 permanent 302, 404, or 200 on old URL
    Redirect hops 1 hop to final URL 2 or more hops
    Destination match Same page as mapped Homepage or wrong topic
    Live in production Resolves on new host Only worked in staging

    Any URL that fails goes back on the fix list. A redirect that works in staging but not production has done nothing. If your verification turns up multi-hop paths, our website migration service team walks through collapsing them to a single hop.

    The columns a working map needs

    A map that only holds old URL and new URL is not enough to run a migration from. The version that actually gets used through launch and the weeks after carries a fixed set of columns:

    • Old URL, in canonical form
    • New URL, the mapped destination
    • Match type: exact or pattern
    • Priority tier: high, medium, or long tail
    • Organic clicks over the last 12 months
    • Referring domains
    • Redirect status expected: 301, 410, or intentional 404
    • Live status after launch: pass or fail
    • Notes: the reason for any non-obvious decision, such as a retired product sent to a category

    The notes column does more work than it looks. Six months later, when someone asks why an old URL points where it does, a one-line note is the difference between a defensible decision and a mystery nobody wants to touch. Keep the file in a shared location and under version control so edits are traceable.

    Common structural changes and how to map them

    Most migrations are one of a few recognizable shapes, and each has a standard mapping approach:

    • Domain change only, same paths. One pattern rule swapping the domain handles nearly everything, with exact rules only for pages whose path also changed.
    • Path restructure, such as /blog to /articles. Pattern rules on the changed prefix, exact rules for the top pages, and manual checks for any post whose slug also changed.
    • Platform move that rewrites URL formats. Expect fewer clean patterns and more exact mapping, because the new system may build URLs on a different logic entirely.
    • Consolidation, merging several old sites or sections into one. This is the highest-risk shape because many sources compete for one destination. Map each source to its true equivalent, never bulk-merge to save time.
    • HTTPS and www normalization bundled in. Add these as their own rules so every new URL resolves in one hop, not two.

    Naming the shape of your migration up front tells you how much of the map will be patterns and how much will be hand work, which sets a realistic schedule.

    How long the mapping takes

    For a 500-page site, expect two to three days to crawl, dedupe, and map. A 5,000-page site with complex structure runs one to two weeks. E-commerce sites with discontinued products need extra time to decide destinations for URLs that no longer have an equivalent product.

    Time spent here is cheaper than recovery. A thorough map costs days. Recovering from a botched migration costs months of lost traffic and revenue.

    You may see this topic described with related searches like aem url mapping, keyword url mapping, redirect map, redirect mapping, and url mapping in seo. Those phrases are useful when they clarify what the reader needs next, but they should still point back to one clear plan.

    Related searches such as url mapping tool, url redirect mapping, what is the purpose of a url mapping file, what is url mapping, and what is url mapping in seo are useful when they clarify what the reader needs next. They should support the same plan rather than pulling the page in several directions at once.

    Frequently asked questions

    Do I need to redirect every single old URL?

    Redirect every URL that has traffic, backlinks, or index presence. URLs with none of the three, such as faceted-navigation parameters or expired session pages, can return 410 or 404 by design. Document that choice in the map so it reads as intentional, not as an oversight.

    Can I redirect old URLs to the homepage to save time?

    No. Search engines treat a mass homepage redirect as a soft 404 and drop the source pages from the index, which forfeits their rankings and links. Every redirect must point to the closest relevant page, one to one.

    What tools do I need to build a URL map?

    A crawler such as Screaming Frog or Sitebulb, access to Google Search Console, a backlink source such as Ahrefs, and a spreadsheet. Server log access helps you catch trafficked URLs that have no internal links pointing to them.

    How do I know the map is complete?

    Cross-check the finished map against all five source lists. Every URL from every source must appear as a row with a destination. If a URL from the Search Console export or the backlink report is missing from the map, the map is not done.

    Who should own the URL map?

    One person owns the file, even when several people contribute rows. A single owner prevents two common failures: two versions of the map diverging, and edits made without anyone confirming the destination is correct. The owner runs the final pre-launch check and the post-launch verification, and holds the authority to say the map is done.

    Should the map include images and PDFs, or only pages?

    Include any asset that has index presence, backlinks, or traffic. A PDF that ranks or earns links is a page for redirect purposes and needs a destination. Images matter less individually, but if image search sends real traffic or a specific asset is widely linked, map it. Assets with none of the three can be left to 404 by design.

    How can I find broken links on my site?

    Find broken links with a crawler such as Screaming Frog, Sitebulb, Ahrefs, or Search Console export. Fix the links that matter first: pages in navigation, pages with traffic, pages with backlinks, and links inside conversion paths.

    How do you check for broken links?

    Find broken links with a crawler such as Screaming Frog, Sitebulb, Ahrefs, or Search Console export. Fix the links that matter first: pages in navigation, pages with traffic, pages with backlinks, and links inside conversion paths.

    How do you set up a URL redirect in GoDaddy?

    Check redirects by testing the old URL, confirming it returns the intended status code, and making sure it lands on the closest matching new page in one hop. Then crawl the full redirect map instead of checking only a few examples by hand.

    How to check broken links?

    Find broken links with a crawler such as Screaming Frog, Sitebulb, Ahrefs, or Search Console export. Fix the links that matter first: pages in navigation, pages with traffic, pages with backlinks, and links inside conversion paths.

    What is the URL structure for local SEO?

    A strong website structure groups related pages clearly, keeps important pages close to the main navigation, and uses internal links to show which pages matter most. For local SEO, the structure should also separate each location and core service cleanly.

    Get help with your URL mapping

    A migration lives or dies on the completeness of this one file. If you want a second set of eyes on the map before launch, or a full mapping built from your crawl and log data, our website migration service team handles the crawl, the match, and the post-launch verification.

    Share this guide

    Related guides