Website Migration Checklist
A phase-by-phase website migration checklist — pre-migration benchmarking, URL mapping and 301 redirects, staging QA, launch day, and the post-launch monitoring window.
1 evidence signal on this page
- Related live toolRedirect Chain Mapper
This is the actionable, tick-box companion to the migrations hub — the same job, run as phases you can hand to a dev team: (1) pre-migration benchmark — full crawl of the old site as a baseline, a three-source URL inventory (sitemaps + server logs + analytics, not sitemaps alone), and snapshots of rankings, traffic, and indexed-page count; (2) map every old URL 1:1 to its closest new URL with a server-side 301/308, never bulk-to-homepage, no chains beyond 3–5 hops; (3) keep staging private with authentication or network access control, then crawl it with authorized tooling and diff canonicals, hreflang, schema, robots directives, internal links, and analytics/GTM tags against the baseline; (4) launch — remove staging-only controls, activate redirects, resubmit the current sitemap with new canonical URLs only, optionally submit a separate temporary old-URL sitemap for monitoring, and submit Change of Address for qualifying domain or subdomain moves; (5) post-launch, crawl the full old-URL list to confirm every redirect resolves with no chains or orphaned 404s; (6) monitor GSC coverage, performance, and rankings for 4–8 weeks. Keep redirects for at least 1 year for Google.
TL;DR — A migration is any big change to your site — a new domain, a switch to HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', a new platform, a folder reshuffle, a redesign. This is the step-by-step list to run so you don’t lose your rankings. Before you touch anything, write down where you stand today (crawl the site, note your traffic and rankings). Then map every old page to its new home and send it there with a 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank.. Test it all on a staging site that Google can’t see, launch, resubmit your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., and then watch your traffic closely after launch. A temporary dip can occur while search engines process the move; if it never recovers, something broke.
Evidence for this claim For URL changes, Google recommends mapping old URLs to relevant new destinations and using permanent server-side redirects. Scope: Google site-move guidance; avoid irrelevant bulk redirects. Confidence: high · Verified: Google Search Central: Site moves with URL changes Evidence for this claim Google recommends keeping redirects in place for at least one year after a site move. Scope: Google site-move processing; users and other systems may justify keeping them longer. Confidence: high · Verified: Google Search Central: Site move best practices
What this checklist is (and what it isn’t)
This is the do-this-in-order version of a site migrationA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once.. If you want the background — the seven kinds of migration, why redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. carry rankings, how risky each type is — that lives in the full site migrationsA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. guide. This page is the tick-box companion you can literally hand to a project manager or a developer and run down during the move.
The whole thing breaks into six phases: benchmark before you touch anything, map your URLs, test on staging, launch, verify, then monitor. Here’s the plain-English version of each.
1. Before you change anything: write down where you stand
You can’t tell whether a migration went well if you don’t know where you started. So before launch:
- Crawl your whole site and save the results. This is your “before” picture — every URL, title, and status code.
- Note your traffic, your rankings, and how many pages Google has indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. Export these from Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. and your analytics so you have a baseline.
- List every URL you’ll need to redirect. Don’t just use your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — also pull URLs from your server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. and analytics, because those catch old pages that still get traffic but aren’t in the sitemap.
2. Map old URLs to new ones, then redirect
Make a spreadsheet: old URL in one column, its new home in the next. Every old page gets pointed at the closest matching new page with a 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. (a permanent one). Two rules that trip people up:
- Don’t dump everything on the homepage. If a page doesn’t have an obvious new equivalent, send it to the closest relevant page, not the home page.
- Don’t chain redirects. Old URL → new URL, one hop. Not old → middle → new.
3. Test on a staging site Google can’t see
Build the new site somewhere private first. Protect it with authentication or a network allowlist, authorize your QA crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index., and compare it against your “before” picture — are the titles, canonical tagsA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content., and internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. all correct?
The single most-forgotten step comes next: when you launch, prove every staging-only
control is absent from production. That includes access controls, robots rules,
noindex, and staging-host canonicals wherever they were used.
4. Launch day
- Turn on all the redirects.
- Remove every staging-only control and verify the public response is crawlable.
- Regenerate your current sitemap with new canonical URLs only and submit it in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.. If an old-URL sitemap would help you monitor the move, keep it separate and temporary, then remove it when it is no longer useful.
- If you moved to a whole new domain, submit Google’s Change of Address tool. (You don’t need it for an HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' switch or a folder reshuffle on the same domain.)
5. Right after launch: check the redirects actually work
Crawl your full list of old URLs and confirm each one lands on the right new page — no dead ends, no error pages, no chains. Fix the broken ones, starting with your most important pages first.
6. Then watch for a month or two
Keep an eye on Search Console for the next 4–8 weeks: is the new sitemap getting indexed? Are rankings and traffic recovering? A temporary wobble is expected. Keep your redirects live for a long time — at least a year.
Want the sourced, phase-by-phase version with Google’s and Bing’s exact guidance, the common mistakes, and the monitoring numbers? Switch to the Advanced tab.
TL;DR — Run the migration as six phases, not as a migration-type taxonomy (the types live in the migrations hubA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once.). (1) Benchmark: full crawl of the old site as a baseline, a three-source URL inventory — sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. + server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. + analytics, never sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. alone — and snapshots of rankings, traffic, and indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.-page count. (2) Map + redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.: every old URL to its closest new URL 1:1 with a server-side 301/308, never bulk-to-homepage, chains kept low (≤3, fewer than 5), non-HTML assets included. (3) Staging QA: private access with authorized crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., then removal of every staging-only control at launch; diff canonicals, hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., schema, meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen., and internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. against the baseline; check analytics/GTM tag parity. (4) Launch: activate redirects, regenerate and resubmit the current sitemap with new canonical URLsHow search engines pick one canonical URL among duplicates and consolidate signals onto it. only, optionally submit a separate temporary old-URL sitemap for monitoring, submit Change of Address for whole-domain moves only, use IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. + bulk URL submission for Bing (the Site Move Tool is retired). (5) Verify: crawl the full old-URL list to confirm every redirect resolves — no chains, no orphaned 404s. (6) Monitor: GSC coverage/performance + rankings for 4–8 weeks; Bing recommends daily log monitoring for 3 months. Keep redirects at least 1 year (Google), 1–2 years (Bing).
Evidence for this claim For URL changes, Google recommends mapping old URLs to relevant new destinations and using permanent server-side redirects. Scope: Google site-move guidance; avoid irrelevant bulk redirects. Confidence: high · Verified: Google Search Central: Site moves with URL changes Evidence for this claim Google recommends keeping redirects in place for at least one year after a site move. Scope: Google site-move processing; users and other systems may justify keeping them longer. Confidence: high · Verified: Google Search Central: Site move best practices
How to use this checklist
The migrations hub owns classification, principles, risk, migration-type decisions, and recovery diagnosis. This checklist owns the executable tasks, assigned owners, phase gates, and acceptance criteria. Before work begins, assign an owner to every phase and record the evidence required to pass its gate. I’ve anchored it to phases (before / staging / launch / after) rather than to migration type, because on the day of an actual move you’re working through time, not through a taxonomy. Where a step is type-specific — Change of Address for domain moves, DNS TTL for host-only moves — I’ll flag it.
Phase 1 — Pre-migration benchmarking
You cannot diagnose a migration you didn’t measure first.
Full crawl of the old site. As I put it in my own migration guide: “Crawl your website. You’ll use this as a baseline to check for changes later on.” Save every URL, title, meta tag, canonical, and status code. This baseline is what you’ll diff staging and the live site against.
Three-source URL inventory — not the sitemap alone. This is the step most competitor checklists get wrong. Google’s own site-move guidance says to build the master old-URL list from sitemaps, server logs, and analytics — three sources, because logs and analytics surface URLs the sitemap never had. A sitemap-only inventory misses orphaned-but-still-trafficked pages, and those are exactly the pages whose lost redirects you’ll notice months later. Include non-HTML assets too: images, videos, PDFs, JS and CSS files.
Benchmark rankings, traffic, and indexed-page count. Export from GSC (Performance
- the Pages/Index Coverage reportThe Google Search Console report (renamed from \"Index Coverage\" in 2022) that shows which URLs Google has indexed, which it hasn't, and why. It splits your known URLs into Indexed and Not indexed, grouping the not-indexed ones by reason.) and your analytics. You want three numbers on record before launch: where you rank, how much traffic you get, and how many pages are indexed. Everything post-launch is measured against these.
Export the backlink profile. Pull your most-linked pages — this becomes your priority-redirect list. The pages with the most external link equity are the ones a broken redirect hurts the most, so they get QA’d first. A practical technique from my guide: “Create a set of test pages such as those from the Top Pages report in Site Explorer.” You don’t manually QA every URL on a large site — you sample from the top-traffic and top-linked pages.
Back up, and have a rollback. “Make a backup of your site, just in case you need to go back to it,” and “You should always have a way to get back to the original state, even if you only plan to use it in extreme situations.”
Phase 2 — URL mapping and redirect strategy
Map every old URL to a specific new URL, 1:1. This is the heart of the migration. John Mueller: “I think the most important part is really to track the individual URLs, so that you have a clear map of what previously was and what it should be in the future. And based on that… to make sure that you have all of the redirects set up properly.”
The redirect rules, concretely:
- Server-side permanent redirects (301 or 308). This is Google’s stated preference, and permanent redirects don’t cost you PageRankPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems..
- Map to the closest relevant equivalent — never bulk-to-homepage. Google is explicit: “Don’t redirect many old URLs to one irrelevant single URL destination, such as the home page.” If a page has no equivalent and shouldn’t exist anymore, return a proper 404 or 410 rather than redirecting it somewhere irrelevant.
- Keep chains short. Google: “keep the number of redirects in the chain low, ideally no more than 3 and fewer than 5.” A migration is where chains breed — an old redirect from a previous move plus the new one already makes two hops.
- Self-referencing canonical on each new URL. Google: “Each new URL should have a self-referencing rel=“canonical” link tag.”
- Update hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. annotations for multilingual sites so they point at the new URLs.
- Include non-HTML assets in the mapping — images, videos, JS, CSS.
For sites too large to move at once, decide up front: small and medium sites move all at once; very large sites move in sections. The mechanics of chains, hops, and 301 vs 302 are in the redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. guide.
To compare old and new inventories, surface uncertain matches, and export reviewed rules, use the Redirect Map Builder Free
- Upload the complete old and new URL inventories before launch, not a sample after the move.
- Review low-confidence, unmatched, many-to-one, and irrelevant suggestions manually; choose 404 or 410 when no equivalent exists.
- Export the approved map, test it on staging, and crawl every old URL again after deployment.
Phase 3 — Staging and pre-launch QA
Keep staging private at the access layer. Google’s migration guidance says to
restrict access to a staging or development site. Prefer authentication, an IP/VPN
allowlist, or another access control, then give your authorized QA crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. access.
Do not describe robots.txt plus noindex as redundant indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. protection:
Google must crawl a URL to see its noindex, so a robots disallow prevents that tag
from being read. If a public staging environment temporarily uses either control,
record the exact mechanism and add a release check that proves it is absent on the
production hostname. See Google’s robots meta documentation
and site-move checklist.
Crawl staging and diff it against the baseline. “If you have a dev or staging site, you should crawl this to make sure everything’s okay before pushing.” You’re checking parity on the elements that carry ranking signals. My own on-page parity list is: Canonicals, Hreflang, Schema, Meta robots — plus:
- Canonical tagsA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. — “These should be the same.” Confirm they point at the new URLs, not at staging hostnames.
- Structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. parity — the same schema present on the new pages as the old.
- Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. — “Things like breadcrumbsBreadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results., related posts, footer links, or even the main navigation may have changed.” Update internal links to point directly at the new URLs — don’t rely on the redirect to do it for you (more on why below).
- Meta robots and hreflang carried over correctly.
Analytics and tag parity. Confirm your analytics and GTM container fire correctly on the new templates before launch, not after — a migration is the easiest place in the world to lose your measurement and not notice for a week.
Sample, don’t boil the ocean. For a large site, QA the test pages you pulled in Phase 1 (top pages by traffic and by links) rather than trying to eyeball every URL.
Phase 4 — Launch day
- Activate all redirects.
- Remove and inventory every staging-only control. Verify authentication or
allowlists, any temporary robots or
noindexrule, and staging-host canonicals are all absent from production. This is the first check if the new site is inaccessible or not getting indexed. - Verify canonicals reference the new URLs, not staging.
- Regenerate and submit the current production XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. in Google Search Console and Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. with new canonical URLs only. If an old-URL sitemap would provide useful redirect-discovery or monitoring evidence, submit it as a separate, clearly temporary sitemap; never mix the old and new inventories, and remove the old-URL sitemap when it no longer provides useful evidence. See Google’s site-move guidance.
- Submit Change of Address — for whole-domain moves only. Google’s tool is for moving “from one domain or subdomain to another.” It is explicitly not for HTTP→HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' moves, in-domain URL restructures, or www/non-www changes. It’s an extra signal, not a substitute for the redirects — the 301s do the real work. (Note the two different “180 days” figures Google mentions: you can cancel a Change of Address request for 180 days after filing, and separately the general redirect- maintenance floor is “at least 180 days.”) See the site’s own Change of Address toolA setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings. page for when to use it. You must own qualifying old and new Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. properties with no path scope: a Domain property qualifies, and a root URL-prefix property can qualify, but a path-scoped URL-prefix property cannot. See Google’s eligibility requirements.
- Bing: use IndexNow + bulk URL submission — not the Site Move Tool. The old Bing “Site Move Tool” no longer exists in the current Bing Webmaster Tools console, even though Bing’s own 2020 migration post still references it. Submit your migrated URLs via IndexNow and Bing’s bulk URL submission (up to 10,000 URLs/day) and spot-check with the URL Inspection toolA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version.. Most competitor checklists still list the retired tool — don’t be one of them.
- Server capacity. Google crawls the new site harder than usual right after a move: “Ensure that your new site has sufficient capacity to handle the increased traffic from Google.” For host-only moves, lower your DNS TTL to a low value (e.g. a few hours) at least a week ahead, and check that your firewall / DoS protection “does not block GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.’s ability to reach the DNS or the hosting provider’s servers.”
Phase 5 — Post-launch verification (first 48 hours to 2 weeks)
Crawl the full old-URL list against the live site. Confirm every old URL redirects to the correct new URL — no chains, no dead ends, no orphaned 404s. This is where the Phase 1 inventory pays off: you’re re-crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. that exact list.
Prioritize the fixes by link equity. A tool-based technique from my guide: in a backlinks report (Ahrefs’ “Best by links”), “filter for 404s to see pages with links that are now broken.” Fix the redirects on your most-linked pages first — that’s where a broken redirect costs the most.
Spot-check with URL Inspection. Use GSC’s URL Inspection tool to confirm Google sees the redirect and the chosen canonical on a sample of URLs; bulk-test the rest with your crawler.
Carry over your GSC settings. Post-migration this bundle is easy to forget: “This can include things like transferring your disavow file, setting geoGenerative Engine Optimization — visibility inside AI answer engines.-targeting, URL parameter settings, and uploading sitemaps.” Verify all variants — www, non-www, http, https — as separate properties in Search Console, not just one. On Bing, disavow files should be handled on both the old and new domains.
Phase 6 — The monitoring window (weeks 2–8+)
A migration isn’t done at launch; it’s done when the new URLs have settled in the index and traffic has stabilized. What to watch, and for how long:
- GSC Sitemaps reportThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. — if you submitted a separate old-URL sitemap, expect the crossover. “Initially, the sitemap containing the new URLs would have zero pages indexed, while the sitemap of the old URLs would have many pages indexed.” The new sitemap’s indexed count climbs from zero while the old one’s declines. This is the normal, expected pattern — not a failure signal. Knowing this in advance is what stops a mid-migration false alarm.
- GSC Index Coverage / Pages report for crawl errors, and the Performance report for new-URL impressions and clicks appearing.
- Rankings snapshots — weekly for the first couple of weeks, then bi-weekly.
- Server logs for Googlebot activity on the new host. For host-only moves, “It’s normal to see a temporary drop in Googlebot’s crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. immediately after the launch, followed by a steady increase over the next few days.”
What “normal” looks like. Google: “Expect temporary fluctuation in site ranking during the move” and “Expect to see traffic drop on the old site and rise on the new site.” A “medium-sized website can take a few weeks for most pages to move” in the index; larger sites take longer. A wobble that recovers is the move working; a drop that never recovers means something broke — usually a redirect, a canonical, or a crawl block.
The monitoring numbers, sourced. Google’s guidance is “a few weeks” and longer for big sites. Bing is more specific and more conservative: “Log files are critical… and must be monitored on a daily basis once the actual website migration has been initiated for a period of at least three months.” A practical synthesis: daily GSC/log checks for the first 2 weeks, weekly through weeks 3–8, and a formal check-in at the 3-month mark for large migrations.
Keep the redirects. Google: “Keep the redirects for as long as possible, generally at least 1 year.” Bing goes further: “the redirects on the old domain need to remain live for at least 1 to 2 years, preferably longer.” Use the more conservative number — and remember redirects also serve real users with bookmarks and old links, so there’s rarely a reason to rush their removal. Decommission the old host only after logged traffic to it reaches zero — not on a fixed calendar date.
Why the internal-links step is non-negotiable
One item above deserves its own note because skipping it is so common. Mueller: “The other thing I would watch out for is all of the internal linkingLinks between pages on the same site., so that you really make sure that all of the internal signals that you have as well that they’re forwarded to whatever new URLs.” And the specific failure mode: “what I’ve sometimes seen with these kind of restructurings is that you redirect the URLs, you move them over but you forget to set the rel canonical, you forget to set the links in the navigation, or in the footer somewhere.” The consequence isn’t a ranking crash — it’s slower consolidation: “It’s not so much that it would stop ranking but it’s more that we would just keep the old URLs for much longer than we actually need to.” Redirects alone work; they just work slower than redirects plus updated internal links.
AI summary
A condensed take on the Advanced version:
- Run it as six phases, not by migration type. The types/risk levels live in the site migrationsA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. hub; this is the ordered task list.
- Phase 1 — Benchmark. Full crawl of the old site as a baseline; a three-source URL inventory — sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. + server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. + analytics (never sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. alone, which miss orphaned-but-trafficked pages); snapshots of rankings, traffic, and indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.-page count; export top-linked pages as the priority-redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. list; back up + rollback plan.
- Phase 2 — Map + redirect. Every old URL → closest new URL, 1:1, with a server-side 301/308. Never bulk-redirect to the homepage; return 404/410 for genuinely dead pages. Keep chains low (≤3, fewer than 5). Self-referencing canonical on each new URL; carry over hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.; include non-HTML assets.
- Phase 3 — Staging QA. Restrict staging with authentication or network access control, authorize the QA crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index., and remove staging-only controls at launch. Diff canonicals, hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., schema, meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen., and internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. against the baseline; confirm analytics/GTM parity.
- Phase 4 — Launch. Activate redirects; remove staging blocks; regenerate and resubmit the current sitemap with new canonical URLsHow search engines pick one canonical URL among duplicates and consolidate signals onto it. only; optionally submit a separate temporary old-URL sitemap for monitoring; submit Change of Address for whole-domain moves only (not HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'/in-domain/www changes); for Bing use IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. + bulk URL submission — the Site Move Tool is retired; ensure server capacity (lower DNS TTL a week ahead for host-only moves).
- Phase 5 — Verify. Crawl the full old-URL list — every redirect resolves, no chains, no orphaned 404s. Fix by link equity first (“Best by links, filter 404s”). Spot-check with URL Inspection; carry over GSC settings (disavow, geoGenerative Engine Optimization — visibility inside AI answer engines.-targeting, parameters); verify all variants (www/non-www/http/https) as separate properties.
- Phase 6 — Monitor. If you submitted a separate old-URL sitemap, expect the GSC Sitemaps crossover (new climbs from zero, old declines) — that’s normal. Watch coverage, performance, and rankings for 4–8 weeks; Bing recommends daily log monitoring for 3 months. Fluctuation that recovers is the move working; a drop that sticks means something broke.
- Keep redirects at least 1 year (Google) to 1–2 years (Bing); decommission the old host only once logged traffic reaches zero.
- Don’t rely on redirects alone — update internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. to the new URLs, or Google keeps the old URLs around longer than necessary (Mueller).
Official documentation
Primary-source documentation from the search engines.
- Site move with URL changes — the master checklist: prepare, URL mapping, redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., launch, and monitoring phases.
- Site move without URL changes (hosting/server) — DNS TTL, temporary hostnames, firewall/DoS cautions, and crawl-rate expectations for host-only moves.
- Redirects and Google Search — permanent vs. temporary redirectsA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. and signal strength.
- Change of Address tool — when to use it (and when not to), prerequisites, and the 180-day guidance.
- Consolidate duplicate URLs — canonical selectionHow search engines pick one canonical URL among duplicates and consolidate signals onto it. and the HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'-as-canonical preference.
Bing / Microsoft
- Website Migration with Bing — Bing’s 8-phase framework, redirect-retention and log-monitoring numbers. (Note: this 2020 post still references the retired Site Move Tool — see the Advanced tab.)
- IndexNow — Getting Started — the current way to notify Bing of migrated/redirected URLs at scale.
- Bing URL Inspection tool — spot-checking migrated URLs in Bing.
Quotes from the source
On-the-record statements from Google and Bing. Each Google-docs link is a deep link that jumps to the quoted passage.
Google — URL mapping and redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.
- “Don’t redirect many old URLs to one irrelevant single URL destination, such as the home page.” — Google Search Central docs. Jump to quote
- “keep the number of redirects in the chain low, ideally no more than 3 and fewer than 5.” Jump to quote
- “Keep the redirects for as long as possible, generally at least 1 year.” Jump to quote
Google — what to expect during and after the move
- “Expect temporary fluctuation in site ranking during the move.” Jump to quote
- “a medium-sized website can take a few weeks for most pages to move.” Jump to quote
- “Initially, the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. containing the new URLs would have zero pages indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., while the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. of the old URLs would have many pages indexed.” — Google Search Central docs (the expected Sitemaps-report crossover pattern when a separate old-URL sitemap is submitted). Read the source
Google — host-only moves
- “Make sure it does not block GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.’s ability to reach the DNS or the hosting provider’s servers.” — Google Search Central docs, on firewall / DoS protection. Jump to quote
- “It’s normal to see a temporary drop in GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.’s crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. immediately after the launch, followed by a steady increase over the next few days.” Jump to quote
John Mueller, Google — Office Hours (via Search Engine Journal)
- “I think the most important part is really to track the individual URLs, so that you have a clear map of what previously was and what it should be in the future. And based on that, on the one hand to make sure that you have all of the redirects set up properly.” Read the coverage
- “The other thing I would watch out for is all of the internal linkingAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., so that you really make sure that all of the internal signals that you have as well that they’re forwarded to whatever new URLs.” Read the coverage
- “Because what sometimes happens or what I’ve sometimes seen with these kind of restructurings is that you redirect the URLs, you move them over but you forget to set the rel canonicalA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content., you forget to set the links in the navigation, or in the footer somewhere.” Read the coverage
- “It’s not so much that it would stop ranking but it’s more that we would just keep the old URLs for much longer than we actually need to.” Read the coverage
Bing / Microsoft
- “Keep in mind that the redirects on the old domain need to remain live for at least 1 to 2 years, preferably longer.” — Bing WebmasterMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. Blog, Website MigrationA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. with Bing.
- “Log files are critical… and must be monitored on a daily basis once the actual website migration has been initiated for a period of at least three months.” — Bing Webmaster Blog, Website Migration with Bing.
Note on sourcing: the four Mueller lines are quoted from Search Engine Journal’s coverage of a Google Office Hours session (verified verbatim against that page), not a first-party Google transcript. The two Bing lines are from Bing’s 2020 migration blog post, which is still live but also still references the now-retired Site Move Tool — so treat that post as accurate on redirect/log guidance but stale on the tool itself (use IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. + bulk URL submission instead). Confirm any quote against the live page before treating it as final.
The website migration checklist
Work top to bottom. Don’t skip Phase 1 — everything after it is measured against it.
Phase 1 — Pre-migration benchmarking
- Full crawl of the old site saved as a baseline (URLs, titles, canonicals, status codes).
- Three-source URL inventory: sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. + server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. + analytics (not sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. alone).
- Non-HTML assets included in the inventory (images, videos, PDFs, JS, CSS).
- Benchmarks recorded: rankings, traffic, and indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.-page count (GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. + analytics).
- Backlink profile / top pages exported as the priority-redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. list.
- Backup taken and a rollback path confirmed.
Phase 2 — URL mapping and redirect strategy
- Every old URL mapped 1:1 to its closest new URL in a spreadsheet.
- Redirects are server-side 301/308 (permanent).
- No bulk-to-homepage; genuinely dead pages return 404/410, not a redirect.
- No redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency. beyond ~3 hops (fewer than 5).
- Each new URL has a self-referencing canonical.
- HreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. updated to new URLs (multilingual sites).
Phase 3 — Staging and pre-launch QA
- Staging protected with authentication or network access control; QA access documented.
- Staging crawled and diffed against the baseline.
- Parity confirmed: canonicals, hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., schema, meta robotsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen., internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them..
- Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. point directly at new URLs (not relying on the redirect).
- Analytics / GTM tags fire correctly on the new templates.
Phase 4 — Launch day
- All redirects activated.
- Production verified free of all staging-only controls and staging canonicals.
- Canonicals reference new URLs, not staging.
- Current production XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. regenerated with new canonical URLs only and resubmitted in GSC and Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility..
- If useful, a separate temporary old-URL sitemap submitted for redirect discovery or monitoring, with an owner and removal condition.
- Change of Address submitted — whole-domain moves only (not HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'/in-domain/www).
- Bing: IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. + bulk URL submission (the Site Move Tool is retired).
- Server capacity confirmed; for host-only moves, DNS TTL lowered a week ahead and firewall/DoS not blocking GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer..
Phase 5 — Post-launch verification (first 48 hours–2 weeks)
- Full old-URL list re-crawled — every redirect resolves, no chains, no orphaned 404s.
- Broken redirects fixed by link equity first (“Best by links, filter 404s”).
- Sample spot-checked with URL Inspection.
- GSC settings carried over: disavow file, geoGenerative Engine Optimization — visibility inside AI answer engines.-targeting, URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO., sitemaps.
- All variants verified as separate GSC properties (www, non-www, http, https).
Phase 6 — Monitoring window (weeks 2–8+)
- If using a separate old-URL sitemap, its GSC Sitemaps crossover understood as normal (new climbs from zero, old declines) and its removal condition reviewed.
- GSC Coverage + Performance monitored for crawl errors and new-URL impressions.
- Rankings snapshotted weekly, then bi-weekly.
- Server logs checked for Googlebot on the new host (Bing: daily for 3 months).
- Redirects kept at least 1 year (Google) / 1–2 years (Bing).
- Old host decommissioned only after logged traffic hits zero (not a fixed date).
Migration cheat sheet
The six phases at a glance
| Phase | The one thing that matters most |
|---|---|
| 1. Benchmark | Three-source URL inventory (sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. + logs + analytics) + a saved crawl baseline |
| 2. Map + redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. | 1:1 old→new, server-side 301/308, no bulk-to-homepage, no chains |
| 3. Staging QA | Private access + authorized crawl; diff canonicals/hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others./schema/links |
| 4. Launch | Remove staging-only controls; resubmit new-only current sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.; redirects live |
| 5. Verify | Re-crawl old-URL list; confirm every redirect resolves; no orphaned 404s |
| 6. Monitor | 4–8 weeks GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. + rankings; keep redirects 1–2 years |
Redirect rules
| Rule | Detail |
|---|---|
| Type | Server-side 301 / 308 (permanent) |
| Destination | Closest relevant new URL — never the homepage as a catch-all |
| Dead pages | Return 404 / 410, don’t redirect to something irrelevant |
| Chains | Keep low: ≤ 3, fewer than 5 hops |
| Retention | ≥ 1 year (Google) · 1–2 years (Bing) · until traffic hits zero |
Change of AddressA setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings. — use it or skip it
| Migration type | Change of Address? |
|---|---|
| New domain / subdomain | Yes |
| HTTP → HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' | No |
In-domain URL restructure (/old/ → /new/) | No |
| www ↔ non-www on the same domain | No |
| Host / CDN change, same URLs | No |
Fast facts
- Three sources, not one, for the URL inventory — sitemaps + logs + analytics.
- Prove staging-only controls are absent from every production template at launch.
- Bing Site Move Tool is gone — use IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. + bulk URL submission (10,000/day).
- GSC SitemapsThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. crossover is relevant when a separate temporary old-URL sitemap is submitted; remove that sitemap when it no longer provides useful evidence.
- Decommission the old host only after logged traffic reaches zero, not on a date.
Patrick's relevant free tools
- DNS Checker — Compare A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, SRV, and PTR answers from Cloudflare and Google to spot DNS propagation differences.
- Whois / RDAP Lookup — Look up registrar, registration and expiry dates, nameservers, EPP domain-lock statuses, and privacy-redacted registrant information via RDAP.
Tools for the redirect-map phases
- Redirect Chain Mapper — trace every hop, status, and host/path change when staged or live rules stack unexpectedly. Its cleanup rules help turn old → intermediate → new into a direct old → new redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't..
- Redirect Checker — fast verification for a single URL or small batch during launch. It cannot replace the Phase 5 crawl of the complete old-URL inventory.
- A full-site crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. — creates the Phase 1 baseline, crawls staging, tests every old URL after launch, and compares canonicals, directives, metadata, links, and status.
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. and SitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — spot-check Google’s reported redirect/canonical state and, when an optional old-URL sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is used, monitor the old-to-new sitemap crossover after launch.
Post-launch migration proof
Complete redirect-map test
- Test to run: Crawl the full old-URL inventory against production, then inspect any unexpected paths with the Redirect Chain Mapper.
- Expected result: Each moved URL reaches its approved equivalent through one server-side 301 or 308; intentionally retired URLs return their planned 404 or 410.
- Failure interpretation: A chain, loop, irrelevant target, or orphaned 404 means a rule or mapping did not ship as approved—not that redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. inherently lose value.
- Monitoring window: Run immediately after launch and after every redirect-rule fix; repeat during the first two weeks while crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. are processing the map.
- Rollback trigger: A systemic rule sends a protected or high-link-equity section to wrong destinations or makes it unreachable and cannot be corrected safely in place.
New-URL canonical and indexability test
- Test to run: Crawl new URLs for 200 status, meta/X-Robots directives, and canonicals; spot-check representative pages in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version..
- Expected result: New pages are crawlable and indexable, declare the intended new canonical, and eventually show that same Google-selected canonicalA Google Search Console Page Indexing status: you declared a canonical for this URL, but Google overrode your choice, picked a different page as the canonical, and indexed that one instead. after recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial..
- Failure interpretation: A staging
noindex, blocked host, old/staging canonical, or conflicting internal signal prevents clean consolidation onto the new URL. - Monitoring window: On-page signals are immediate; Google’s indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and canonical crossover can take weeks for a medium site and longer for a large one.
- Rollback trigger: A site-wide crawl/indexability or canonical template defect affects the protected set and cannot be hot-fixed promptly.
Internal-link and sitemap test
- Test to run: Crawl rendered internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. and validate submitted sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. URLs against the approved new canonical set.
- Expected result: Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. resolve directly to new URLs, and new sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. list only successful canonical destinations—not old redirected URLs. Any old-URL sitemap is separate, temporary, and tied to a removal condition.
- Failure interpretation: Old internal links, mixed old/new sitemap inventories, or an old-URL sitemap retained after it stops providing useful evidence keep old URLs in circulation or obscure consolidation even when redirects work.
- Monitoring window: Verify immediately in production and again when Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. processes the submitted sitemap.
- Rollback trigger: Navigation or sitemap generation points a broad section to old, staging, or broken URLs and cannot be corrected without reverting the release.
Test yourself: Website Migration Checklist
Five quick questions on running a migration by the numbers. Pick an answer for each, then check.
Resources worth your time
My related writing
- A Website Migration Takes More Than A Checklist To Be Successful (Ahrefs blog, updated Jan 2025) — the full migration guide behind this checklist: baselines, staging, parity, rollback, and the common mistakes.
- Redirects for SEO (Ahrefs blog) — 301 vs 302, chains, hops, and how long to keep redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't..
- Canonicalization (Ahrefs blog) — confirming Google’s chosen canonical post-migration via URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version..
- Site MigrationsA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. — the hub: the 7 migration types, risk levels, and the universal process this checklist executes.
- Change of Address toolA setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings. — when to use it (whole-domain moves) and when to skip it.
Official
- Google — Site move with URL changes and without URL changes.
- Google — Change of Address tool.
- Bing — Website Migration with Bing and IndexNow.
From around the industry
- Google’s Mueller On Keys To A Successful Site Migration (Search Engine Journal) — the source for the four Mueller quotes in this article.
- Website migration checklist: 11 steps for success (Search Engine Land) — a widely-referenced checklist-format walkthrough.
- The Complete Website Migration Checklist (Semrush) — a competing checklist reference; cross-check its tool recommendations against the Bing note above.
- r/TechSEO — the community for debugging redirect maps, crawl diffs, and post-launch coverage drops.
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.