By launch day the inventory, the redirect map, the rendering parity and the go/no-go have already been settled - the four phases before this one. What the launch window itself decides is narrower: the order the changes are applied in, which of them are reversible, and who is allowed to say stop. This page covers the cutover and the hours after it - what to do, what can genuinely be observed that soon, and the point at which rolling back stops being clean.
Two labels mark evidence boundaries. Documented means the guidance that follows is directly supported by Google's own published documentation or a named vendor's, quoted. Recommendation means a threshold, sequence, ownership model or trigger that we prescribe and the documentation does not. Statements from Google staff in interviews or podcasts are attributed in the prose rather than tagged. Untagged text is ordinary explanation, or a conclusion following from something already labelled. Every pass rule on this page is ours unless the rule itself quotes a source - they are not tagged individually, because on a page this dense with them the tags would outnumber the sentences.
The honest scope of this page
Google documents a launch step list for each of its two migration classes, and documents how to cancel a domain move. It publishes no rollback criteria, no launch-day thresholds, and no decision framework. Everything on this page about when to revert, who decides, and by when is ours, and is labelled as such. Treat the labelled parts as CoreAEX's operating position, not as platform requirements - the distinction matters when someone carries this into an engineering meeting.
1. The Sequence Depends on Which Migration This Is
Documented Google's guidance splits on whether user-visible URLs change, and it maintains two separate guides accordingly. The launch steps in each are different - not merely a longer and shorter version of the same list.
Recommendation For launch purposes, split it once further, because the Change of Address tool applies to only part of the URL-changing class. Three classes, and every step below is conditional on which one you are running:
| Class | What it covers | Google's guide | Change of Address |
|---|---|---|---|
| A - URLs unchanged | Hosting move, CDN change, infrastructure move, framework rebuild that genuinely preserves every public URL | Site moves without URL changes | No - Google's guidance places this case under a different guide: your site URL remains the same but you are changing hosting providers or CDNs. Use Site moves without URL changes instead. |
| B - URLs change, domain does not | Path changes, HTTP→HTTPS, restructures inside one domain | Site moves with URL changes | No - Google's do-not-use guidance excludes an http-to-https move (follow the guidelines for site move with URL changes, but don't use this tool), moving pages within one domain ( just add redirects, and update your sitemaps as appropriate), and switching www/non-www ( use canonical tagging and/or redirects without using the change of address tool). |
| C - Domain or subdomain changes | example.com → example.net, subdomain to subdomain, domain consolidation | Site moves with URL changes | Yes - Use the Change of Address tool when you move your website from one domain or subdomain to another: for instance, from example.com to example.org or example2.com. |
Documented The fourth column quotes Google's Change of address help page - its guidance on when not to use the tool, and its statement of when the tool is needed. The A/B/C split itself is ours; Google's own documentation splits in two.
Two Change of Address statements that look contradictory and are both true
Documented Google's help page says not to use the tool when Moving between www and non-www in the same domain
- and, in the same page, that when moving between domains you should make sure to use this tool for all subdomain variants of the old domain, including www and non-www.
Both are correct because they describe different moves. Changing www.example.com to example.com is not a site move for this purpose. Moving example.com to example.net is - and the instruction is broader than it first reads. Documented Google's full sentence covers variants you may not think of as part of the site: make sure to use this tool for all subdomain variants of the old domain, including www and non-www (for example, from en.example.com, www.example.com, and example.com to new-example.net), even if you're not actively using these variants currently
- followed by Ensure that you have all of these variants verified in Search Console.
On a class-C launch the filings are plural, and the set is defined by what the move covers rather than by what is already set up in Search Console.
2. What Must Already Be True Before the Window Opens
These are not launch-day tasks. They are launch-day preconditions, and each has a lead time that makes it impossible to fix on the day.
1. DNS TTL lowered, with a week's notice
Documented Google's hosting-move guide is specific about the timing: Consider lowering the TTL to a conservative low value (for example, a few hours) at least a week in advance of the move to refresh DNS caches faster.
The lead time is the whole point. Lowering the TTL an hour before cutover does nothing for resolvers that already cached the old record at the old value - they will keep serving it for as long as that value said. Which is also why this precondition reappears in the rollback section: the reduced TTL is what makes a DNS-level reversal fast.
Recommendation Treat the reduced TTL as a planning target, not a guaranteed ceiling. It governs how long a compliant cache ordinarily retains an answer; it does not bind everything between your record and a user. Documented The IETF standardised the clearest exception: RFC 8767, Serving Stale Data to Improve DNS Resiliency (Standards Track, March 2020), defines a method (serve-stale) for recursive resolvers to use stale DNS data to avoid outages when authoritative nameservers cannot be reached to refresh expired data
- If the data is unable to be authoritatively refreshed when the TTL expires, the record MAY be used as though it is unexpired
, with a suggested maximum stale period between 1 and 3 days.
That behaviour is scoped to refresh failure, not to normal operation: if authoritative DNS becomes unreachable or returns a qualifying failure during cutover, some resolvers may continue serving stale answers beyond the original TTL. A migration whose authoritative servers stay reachable throughout does not meet that condition. Application-level caches, load balancers and long-lived connections can also outlast the interval, for reasons that have nothing to do with DNS. Plan to the reduced TTL; do not promise it as a recovery time.
Pass rule: the reduced TTL has been live for longer than the previous TTL value, so that records cached at the old value have had time to expire; the old value, the new value and the authoritative record state are recorded in the runbook; and the new value has been confirmed from more than one resolver rather than only from the control panel. "We lowered it" is not the check.
2. Googlebot can reach the new infrastructure, and this has been tested
Documented Google names the failure directly: Check your firewall configuration or denial of service (DoS) protection. Make sure it does not block Googlebot's ability to reach the DNS or the hosting provider's servers.
Where the move brings a new WAF, new rate limits or new bot rules with it, the defaults in front of you were written to stop unwanted automated traffic rather than to admit crawlers, and they apply to Googlebot unless something exempts it. Phase 4 covers the configuration itself; what belongs here is that the test result is recorded before the window opens, not discovered during it.
Pass rule: a dated record exists showing a verified Googlebot fetch reaching the new infrastructure through the production edge configuration, not through a bypass, an allowlisted office IP or a direct-to-origin request.
3. Search Console verification survives the move
Documented Google flags the two ways this breaks. On file-based verification: make sure you don't forget to include your current verification file in your new copy of the site.
On CMS-managed verification, if the method is a meta tag or Google Analytics, ensure the new CMS copy includes these as well.
Check this specifically where verification was configured in the old CMS rather than committed to the repository - a rebuild copies the repository, and a setting that lives only in the system being replaced leaves with it.
Pass rule: for every property you will need during and after the move, the verification method is present in the new build and its continuity has been tested, not assumed. On a class-C move this includes the destination property and every old-domain variant the migration requires you to file from - which, per the box above, includes variants that are not currently in use and may not yet exist as properties at all. Losing verification does not only cost you reporting; it costs you the tools you would use to diagnose the launch.
4. The staging-only control inventory, with a tested removal path for each
Carried from phase 4, and the reason it is an inventory rather than a checklist item is in phase 3: Documented Google warns that When Google encounters the noindex tag, it may skip rendering and JavaScript execution
, so a control that a deployment is expected to remove client-side may never be removed at all. Indexing state has to be decided server-side, which means the removal is a deployment or configuration change with an owner, not a tag someone deletes.
Two additions specific to launch day. First, if phase 3's crawlable exception was used - a staging URL temporarily made crawlable so Google's own tools could render it - that exception is a staging-only control too, and it needs its switch-back in the same inventory with the same owner. Second, the inventory must include controls that live outside the codebase: robots rules at the edge, WAF rules, environment flags, and X-Robots-Tag headers set by the server rather than the application.
Pass rule: every staging-only control is named in the inventory with an owner, a removal mechanism and a verification method, and the removal has been executed successfully at least once in a non-production environment. Not "no staging controls remain" - that condition is satisfiable by exposing staging, which is the opposite of what you want. Removal is verified on production, after cutover, in the sequence below.
5. The rollback decision structure, agreed and named
Recommendation Before the window opens, three things exist in writing: the trigger list (below), the person who can call a revert without convening anyone, and the time by which each decision must be made. A rollback plan that requires assembling a group is not a rollback plan; it is a meeting invitation with a deadline attached.
Pass rule: the trigger list, the named decision-maker, their named deputy, and a decision deadline for each trigger are recorded and circulated before the window opens. A trigger with no deadline is not a trigger.
3. The Cutover Sequence
Documented Google publishes an ordered launch list for each class. Recommendation The interleaving below - where verification sits, where the cache purge goes, and what waits for confirmation before the next step - is ours. The two documented steps that Google places explicitly are marked.
Class A - URLs unchanged
Documented Google's hosting-move guide gives two steps, in this order:
- Remove any temporary blocks to crawling.
While building the new copy of a site, some site owners use a robots.txt file to disallow all crawling by Googlebot and other crawlers, or use noindex meta tags or HTTP headers to block indexing of content. Be sure to remove any such blocks from the new copy of the site when you're ready to start the move.
- Update the DNS settings.
You start the move by updating the DNS records to point to the new hosting provider.
Note the order Google gives: the blocks come off the new copy before DNS is switched, not after. That sequence is what makes the switch itself uneventful, and it is the opposite of the instinct to keep the new environment locked down until traffic is on it.
Class B and C - URLs change
Documented Google's URL-change guide gives this list under Start the site move
:
- Implement or turn on the redirects.
Depending on your redirect strategy, this might mean you push an update to your server configuration files or you update your CMS, likely with custom code.
- Check the
rel="canonical"annotations androbotsmeta rules.Once the redirects are active, ensure that the rel="canonical" link annotations on the new site are using the new URLs.
- Test the redirects.
You can use the URL Inspection Tool for testing individual URLs, or command line tools or scripts to test large numbers of URLs.
- Class C only - submit a Change of Address in Search Console.
If you're changing domain names or subdomains, submit a Change of Address in Search Console for the old site.
- Keep the redirects
for as long as possible, generally at least 1 year. This timeframe allows Google to transfer all signals to the new URLs, including recrawling and reassigning links on other sites that point to your old URLs.
- Submit the new sitemap in Search Console.
This will help Google learn about the new URLs. At this point you can remove your old sitemap, since Google will use the new sitemap going forward.
Documented Google also sets the expectation for what follows, in the same section: Note that the visibility of your content in Search may fluctuate temporarily during the move. This is normal and a site's rankings will settle down over time.
That sentence is the reason the rollback triggers below exclude ranking movement.
Google's own guide is inconsistent about the old sitemap - and the resolution matters on the day
Documented The launch step says At this point you can remove your old sitemap, since Google will use the new sitemap going forward.
The monitoring section of the same page says Submit the two sitemaps you saved earlier from the mapping
, describes watching indexed counts move from one to the other, and adds that Search Console may show warnings for the sitemap that contains the old URLs about the URLs redirecting; this is normal and you can ignore these warnings.
Meanwhile the mapping section lists only one sitemap file to save: A sitemap file containing the new URLs in the mapping.
Recommendation Read the old-URL sitemap as a monitoring instrument rather than a submission requirement. Keeping one submitted gives you a countable view of the old set draining as the new set fills, which is otherwise hard to observe cleanly; removing it is explicitly permitted and costs you that view. We keep it, accept the redirect warnings Google says to ignore, and remove it once the old set reaches zero. Whichever you choose, record the choice - a later reader should not have to infer it from the Sitemaps report.
Recommendation Where the Rest of the Work Goes
Google's lists do not place the cache purge, the internal verification pass, or the analytics and consent checks. Ours:
| Point in the window | Step | Why here |
|---|---|---|
| Before the switch | Staging-only controls removed from the new environment and verified there | Google's class-A order, applied to both classes. Removing them after traffic arrives means serving blocked pages to a live crawler. |
| Before the switch | Redirect rules deployed but confirmed inactive for live traffic, if your architecture allows the distinction | Separates "the rules are wrong" from "the rules are not there", which are different failures with different fixes. |
| At the switch | DNS or routing change | Documented for class A. For B and C it is whatever makes the redirects live. |
| Immediately after | Cache purge at the CDN - selectively where possible | See the warning below. A full purge is the highest-load moment you can choose, and you are choosing it at the moment the origin is newest. |
| Immediately after | The T+0 verification gate | Every item in it is either a first-party observation or a live test you can run on demand. See the gate table. |
| After the gate passes | Sitemap submission; Change of Address on class C | Both tell Google to come and look. Neither should be sent before you have confirmed there is something correct to look at. |
| After the gate passes | Analytics, tag and consent verification | Not an SEO step, but a launch-window step: measurement failure blinds every later phase. Test conditions and expected behaviour come from phase 4. |
The ordering principle behind the last two rows: invitations go out after verification, not before. Submitting a sitemap and filing a Change of Address are both requests for attention. Sending them before the T+0 gate passes means asking Google to crawl a state you have not yet confirmed is the one you intended.
4. Five Things That Behave Differently in the Launch Hour
1. robots.txt is cached, so removing a block is not instant
Documented Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn't possible (for example, due to timeouts or 5xx errors).
Google also may increase or decrease the cache lifetime based on max-age Cache-Control HTTP headers.
Two consequences for the window. A Disallow removed at cutover may not be acted on for hours, so a crawl that still respects it is not by itself evidence that the removal failed - check the file itself rather than inferring from crawler behaviour. And the reverse: a wrong robots.txt published at cutover does not stop being served the moment you fix it.
Pass rule: the production robots.txt is fetched and read directly after the switch, and its content matches the approved production file, including its Sitemap: lines and any Cache-Control header set on it. Confirm the intended rules are present, not only that the staging rules are gone - a file that lost both is also wrong.
2. Server errors during the window cost more than the errors themselves
Documented 5xx and 429 server errors prompt Google's crawlers to temporarily slow down with crawling
, and on 500 specifically, Google decreases the crawl rate for the site. The decrease in crawl rate is proportionate to the number of individual URLs that are returning a server error.
Recovery is documented as gradual: Once the server starts responding with a 2xx status code, Google gradually increases the crawl rate for the site.
And on already-indexed URLs: For Google Search, already indexed URLs are preserved in the index, but eventually dropped.
Documented The robots.txt case is more severe again, because the file gates everything else: on server errors fetching robots.txt, For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file. If Google can't fetch a new version, for the next 30 days Google will use the last good version, while still trying to fetch a new version.
These mechanisms can make a brief launch failure outlast the visible outage, and they behave differently from one another. A broad 5xx across page URLs reduces the crawl rate in proportion to how many URLs are failing, and the rate returns gradually rather than immediately. A 5xx on robots.txt specifically stops crawling for the first twelve hours, after which Google may run on the last good version of the file - which means crawling can resume under the rules that were in place before your change, not under the new ones and not under a continued halt. How long any of this lasts depends on which endpoint failed, how broadly, and how quickly successful responses resume; Google states the mechanisms, not a duration. It is still the argument for sizing the cache purge below against tested origin capacity.
Pass rule: origin error rate and robots.txt availability are monitored as first-class launch signals with their own alert, not read later from a report. A sustained origin failure is on the rollback list; a handful of errors during propagation is not.
3. A full cache purge is a deliberate load event
Documented Cloudflare's own documentation on Purge Everything: Purging everything instantly clears all resources from your CDN cache in all Cloudflare data centers
, and Each new request for a purged resource returns to your origin server to validate the resource.
It warns: When a site with heavy traffic contains a lot of assets, requests to your origin server can increase substantially and result in slow site performance.
And it states a preference: Cloudflare strongly recommends using single-file (by URL) purging instead of a complete cache purge.
The tension is real rather than resolvable in the abstract. A migration is one of the few situations where the cached corpus genuinely is stale across the board, which is what a full purge is for. It is also a situation where the origin is new, its caches are cold and its capacity is unproven. Read Cloudflare's preference as a reason to purge selectively where you can identify what changed, and to treat a full purge as a decision with a load consequence you have planned for.
Pass rule: the purge scope is decided and written down before the window, and if it is a full purge, origin capacity headroom has been tested at the expected post-purge request rate. Equivalent guidance from your own CDN vendor replaces Cloudflare's if you use a different one; do not carry one vendor's behaviour onto another's product.
4. Request indexing is not a launch-day bulk tool
Documented Google states the limit and the ceiling plainly: There is a daily limit to how many index requests you can submit
, and Submitting a request does not guarantee that the page will appear in the Google Index.
Its own instruction for volume points elsewhere: If you want many pages indexed, try submitting a sitemap to Google.
The launch-day version of this mistake is a team spending the window submitting individual URLs, which consumes the hours in which the observable failures are actually observable, and which Google's documentation does not support as a recovery mechanism.
Pass rule: the launch plan's discovery mechanism is the sitemap, with request-indexing reserved for spot checks on a handful of representative URLs. If someone proposes bulk submission as a remedy, that is a signal to re-read the failure, not to submit faster.
5. Change of Address is a filing, and on class C it is more than one
Documented What it does: it tells Google to emphasize crawling and indexing your new site over crawling your old site
and forwards various signals from the old site to the new site
. Its window: These actions continue for 180 days after you start migration in Search Console
, and After the 180 day period, Google does not recognize any relationship between the old and new sites, and treats the old site as an unrelated site, if still present and crawlable.
Its scope: You must be an owner of both the old and new properties in Search Console
, it operates at the domain level, and The tool moves all protocols of your source property.
Documented Two boundaries that are easy to blur. It does not remove the old site: Google does not erase the old site from the index, and URLs from the old site can continue to be shown in Search results if they are available and don't have an equivalent page on the new site.
And its 180 days is not the redirect guidance - the same page says Maintain the redirects for at least 180 days--longer if you still see any traffic to them from Google Search
, while the site-move guide says to keep them for as long as possible, generally at least 1 year.
Two different numbers for two different things; phase 2 holds the redirect-retention decision.
Pass rule: on a class-C move, the inventory lists every old-domain and subdomain variant covered by the move, including variants that are not in use, and every one of them is verified in Search Console and has a Change of Address request submitted and confirmed. The boundary is the migration plan, not the current property list: "it was never set up as a property" is a gap to close, not a reason to exclude a variant. Any variant excluded is recorded with the reason it falls outside this move. On class A and B, no filing exists, and the runbook records that this is deliberate rather than forgotten.
5. What Can Actually Be Verified, and When
Recommendation A launch-day gate can ask for evidence that does not exist yet, and when it does the gate is unanswerable rather than strict. The dividing line is not how much time has passed - it is who controls whether the signal exists. Your own fetches, your origin telemetry and Google's live URL test are active: you run them, and they answer. Autonomous crawling, Search Console report refreshes, sitemap processing and indexing are asynchronous: they happen on Google's schedule, and their absence at any particular hour is not a result.
Server logs sit on the line and are worth separating carefully, because owning the instrument is not the same as controlling the signal. The log is yours and you can read it whenever you like; whether Googlebot has arrived to be logged is Google's decision, on no published schedule. So an origin error rate read from the log is an active check, and an absence of crawler hits in the same log is not a finding.
So each gate has three columns rather than two. A signal in the middle column is recorded as pass, fail, or not yet populated - and "not yet populated" is a state, not a failure. Deciding otherwise is how a correct launch gets failed by a report that had not refreshed.
| Gate | Check now - active, first-party, answerable | Use if available - Google-controlled, asynchronous | Not yet observable |
|---|---|---|---|
| T+0 - minutes | Availability and status codes on a representative URL set drawn from phase 2's dispositions. First-hop status, chain and final destination for each. Canonical values on the new pages. Production robots.txt content. The staging-only control inventory confirmed removed on production. Critical rendered content present. Transactions and sign-up completing. Analytics behaving as configured under both consent states. Live URL Inspection on representative production URLs - an on-demand test, subject to property access and the per-property daily limit. | Nothing yet. Every Google-controlled report starts empty at cutover. | Google's autonomous recrawl, canonical selection and indexing decision. Page Indexing movement. Ranking. Search performance. |
| T+1 to T+24 hours | Origin error rate, robots.txt availability and application health, from your own telemetry. Further live inspections within quota. | Verified crawler requests in server logs - the log is yours, but whether Googlebot arrives, and when, is not. Crawl Stats host status, if the report has refreshed. Sitemap read status, if Google has fetched it. | Indexed counts, ranking, traffic comparisons. Movement in these signals within this range is not reliable evidence of migration success or recovery by itself, though extreme changes may corroborate a directly observed technical failure. |
| T+24 hours onward | Continued first-party monitoring on the same signals. | Crawler arrival and frequency. Indexing and coverage movement, and sitemap indexed counts, as and when they move. No movement by any particular hour is not by itself a finding. | Recovery. Anything that looks like a verdict. This range belongs to phase 6, and its thresholds are set there. |
Documented Google's own suggestion for the immediate window is the server log, not a report: on a hosting move, Keep an eye on the server logs on both new and old servers. As DNS setting propagates and the site traffic moves, you'll notice a drop in traffic logged on the old servers and a corresponding increase in traffic on the new servers.
The Crawl Stats report is worth reading when it has data - it carries a host status covering robots.txt fetching
, DNS resolution
and Server connectivity
, and states the consequence of a failed robots.txt request directly: If the request doesn't return either a valid file (either populated or empty) or a 404 (file does not exist) response, then Google will slow or stop crawling your site until it can get an acceptable robots.txt response.
But it is a retrospective report covering the past 90 days
, which is a different instrument from a launch-hour alert.
Why the middle column has no deadline attached to it
Documented Google describes these processes as taking variable time and does not attach an hour to any of them. On the move itself: As a general rule: for medium-sized websites, it can take a few weeks or more for Google to gradually start showing the new URLs instead of the old ones (and for larger sites, even longer)
, and how long it takes depends on the number of URLs and the speed of the servers. On sitemaps, the fetch is prompt but what follows is not: The sitemap should be fetched immediately. However, it can take some time to crawl the URLs listed in a sitemap
, and, plainly, There is no guarantee that a page URL discovered in a sitemap has been or will be crawled or indexed by Google.
If a sitemap is unavailable or broken, Google will retry for a few days, and then stop if the sitemap continues to be unavailable or has critical errors.
Recommendation Read those together and the operating rule follows: sitemap read status is a reasonable thing to look for in the first day, because the fetch is documented as immediate. Sitemap indexed counts are not, because what they measure is documented as taking time and as not guaranteed at all. Two numbers on one screen, on two entirely different clocks.
The live URL test belongs at T+0 - with two limits
Documented Google's live test is a real-time operation, not a report: This is a live test: the tool fetches and examines the URL in real time.
On a production URL inside a property you own, it can be run within minutes of cutover, and it is the same artefact phase 3 and phase 4 could not obtain against protected staging. Launch is the moment that constraint lifts. There is a per-property daily limit of live inspections
, which is a separate quota from the index-request limit, so spend it on representative templates rather than on volume.
Documented Two limits to hold on to. It is not an indexing result: Even if you get a valid or warning verdict in the live test, your page must still fulfill other conditions in order to be indexed.
And it is not a redirect test - The test first follows any redirects implemented by the page, then tests the page. However, the test does not indicate that it has followed a redirect, nor will it display the final URL that was tested.
A URL that redirects will therefore return a clean live result for its destination, silently. That is the reason the chain check in the left-hand column stays with your own server-side script: it is the only one of the two that can tell you a URL redirected at all.
The T+0 gate is a presence check, not an absence check
Recommendation Write every item in the gate as "the expected thing is there", not "the wrong thing is gone". A page that lost its canonical entirely satisfies "no contradictory canonical". A robots.txt that lost every rule satisfies "no staging Disallow". A template that lost its gated content satisfies "content is not exposed". Each of those passes an absence check and fails the migration. The expectation comes from the approved inventory and the phase 4 gate, not from what the production site happens to contain at the moment you look.
6. Rollback Triggers, and What Is Not One
Recommendation Everything in this section is ours. Google publishes no rollback criteria. The organising principle is the one the pillar sets out: separate decision paths by evidence latency. Signals you can observe directly and immediately belong on a revert trigger. Signals that arrive aggregated and lagged belong on an investigation trigger, because by the time they are conclusive the revert would be a second migration rather than an undo.
Immediate rollback candidates - observable within the window
- Sustained availability failure. The new environment cannot serve the representative URL set at an acceptable error rate, and the cause is not identified and fixed inside the decision deadline.
- Material routing failure. A substantial share of the approved dispositions resolve to something other than their recorded expected outcome - wrong destination, wrong first-hop status, or chains beyond the agreed maximum - and it is not a fixable rule.
- Critical content absent under the agreed rendering criteria. Judged against phase 3's artefact 3 standard, on the templates the go/no-go named as critical.
- Essential transaction or measurement failure. Sign-up, checkout, trial provisioning or the analytics stream is broken and not repairable inside the deadline.
- An indexing control shipped inverted. Production is serving a site-wide
noindex, a blanketDisallow, or an authentication wall on public pages, and the removal path does not work. This one has a documented reason to be treated urgently rather than monitored: a robots.txt served as a5xxstops crawling for 12 hours before falling back to the last good version, and anoindexin the initial HTML may prevent the very rendering that a client-side fix depends on.
Escalation candidates - investigate, do not revert
- Indexed-URL counts moving in an unexpected direction.
- Crawl-rate changes, in either direction.
- Ranking movement.
- Organic traffic below the pre-migration baseline.
- Sitemap indexed counts not yet shifting.
Documented These are excluded from the revert list for a reason Google states rather than one we prefer. Its site-move guide: Note that the visibility of your content in Search may fluctuate temporarily during the move. This is normal and a site's rankings will settle down over time.
Its traffic-drop guidance: If you change the URLs of existing pages on your site, you may experience ranking fluctuations while Google recrawls and reindexes your site.
And it describes the processing period in weeks - As a general rule: for medium-sized websites, it can take a few weeks or more for Google to gradually start showing the new URLs instead of the old ones (and for larger sites, even longer)
- which is longer than any launch-day decision window.
Movement in these signals is expected during a correct migration. It is still worth investigating, because an expected pattern and a defect can look identical at first; phase 7 is where that separation happens. What it does not support is an automatic revert.
Pass rule: every trigger on the immediate list has a named observation method, a threshold, a decision deadline and a named decision-maker. Every item on the escalation list has an owner and a review date. A trigger that cannot be observed by the method named next to it does not belong on the immediate list.
7. What a Rollback Actually Costs, and When It Stops Being Clean
Recommendation Checklists tend to treat rollback as a switch. It is not, and the reason to be specific about this is that the decision-maker needs to know what they are choosing between at the moment they choose. Some steps are cheap to undo; others convert the revert into a second migration.
| Step taken | Cost of reversing |
|---|---|
| Staging controls removed on the new environment | Cheap. Re-apply. |
| Cache purged | Cheap in itself; the cost is the second cold-cache load event on whichever origin you return to. |
| DNS switched | Fast in proportion to the TTL that was in effect - the planning target precondition 1 buys, which is why a low TTL is a rollback control and not merely a propagation convenience. Not a guaranteed maximum - see the serve-stale and client-cache note there, and note that the exception it describes applies where authoritative DNS itself fails during the change. |
| Redirects live and crawled | Moderate and rising with time. Reversing means new redirects in the opposite direction. Documented Google advise[s] redirecting to the final destination directlyand, where a chain is unavoidable, to keep the number of redirects in the chain low, ideally no more than 3 and fewer than 5.A revert built on top of the original rules rather than replacing them produces exactly the chains that guidance is about. |
| New sitemap submitted, old removed | Cheap mechanically. Resubmit. |
| Change of Address filed (class C) | Reversible, with documented steps and a window. See below. |
| Old infrastructure decommissioned | Not reversible on a launch-day timescale. Documented Google's own condition for shutting it down is an observation, not a date: Check the server logs on the old provider and, once the traffic to the old provider reaches zero, you can shut down your old hosting infrastructure.Until that observation is made, the old environment is your rollback target - which is the practical reason not to schedule decommissioning in the same change window as the launch. |
Google documents how to cancel a domain move
Documented A domain move has a documented reversal procedure, with a stated window: You can cancel a change of address request for 180 days after it was made.
The steps Google gives, in order:
Remove any 301-redirect directives previously set up on your server. If you don't do this, Google will see those directives the next time it crawls your site and might continue to redirect the URLs as instructed by the directive.
- Add 301 redirects from the new site to the old site.
Open the Change of address tool in the old site and click Cancel Move. Repeat for every old site that you no longer want to move.
Two things worth reading closely. Step 1 comes before step 2 because of the reason Google gives: leaving the original rules in place while adding reverse ones is how you build a loop or a chain rather than a reversal. And step 3's Repeat for every old site
mirrors the plural filing on the way out - if you filed from four variants, you cancel four.
Recommendation The practical reading of the whole table is a gradient with one hard edge, and it is worth stating precisely because the two are easy to merge. The gradient: the longer the redirects stay live and the more widely the old and new URLs are crawled, the less a reversal resembles an infrastructure undo and the more it resembles a second migration. That is a rising cost, and it is the reason a pre-agreed decision deadline is worth having - but it is not a documented cutoff, and there is no crawl volume past which reversal becomes unavailable. Google's own cancellation route stays open for 180 days on a class-C move.
The hard edge is infrastructural, not algorithmic: reversal stops being possible when the old environment is gone, or when any other irreversible step in the change has been taken. That is why decommissioning belongs in a separate change with its own gate - and why Google's condition for it is worth treating as the gate's criterion, since it is an observation nobody can make on launch day: once the traffic to the old provider reaches zero, you can shut down your old hosting infrastructure.
Where This Feeds
- Phase 6 owns everything after the T+24 gate: what to watch, on what cadence, and the thresholds that turn an escalation candidate into an investigation.
- Phase 7 takes over when an escalation trigger fires - including the separation of expected recrawl movement from a defect.
- Phase 2 holds the dispositions and expected outcomes that the T+0 gate tests against, and the redirect-retention decision.
- Phase 4 holds the go/no-go criteria and the staging-only control inventory this page executes against.
Sources
Sources:
Google Search Central, Site moves with URL changes (last updated 20 August 2026) - the ordered launch steps quoted above, including the Change of Address step for domain and subdomain moves; the temporary-fluctuation statement; the redirect-retention guidance, including the recrawling and link-reassignment clause; the sitemap instructions in both the launch and monitoring sections, and the mapping section's single sitemap file; the Search Console monitoring bullets; the processing-period statement for medium and larger sites; and the direct-destination and redirect-chain guidance (no more than 3 and fewer than 5 hops) quoted in the rollback-cost table.
Google Search Central, Site moves without URL changes (last updated 10 December 2025) - the two-step launch order; removing temporary blocks; the TTL guidance and its week's lead time; the firewall and DoS-protection check; Search Console verification continuity; server-log monitoring on both servers; and the condition for shutting down old infrastructure.
Google Search Console Help, Change of address tool - what the tool does and forwards; the 180-day statements; ownership, domain-level scope and all-protocols behaviour; the guidance on when not to use the tool; the subdomain-variant instruction; that the old site is not erased from the index; the redirect-maintenance sentence; and the three cancellation steps. Reviewed 28 August 2026; the page carries no publication date.
Google Search Central, How Google interprets the robots.txt specification (last updated 8 July 2026) - the up-to-24-hour cache and the Cache-Control influence; the handling of 4xx responses; and the 5xx sequence of 12 hours followed by 30 days on the last good version.
Google Search Central, HTTP status codes and network errors (last updated 4 February 2026) - that 5xx and 429 slow crawling; the proportionate decrease on 500; the gradual increase on return to 2xx; and that already-indexed URLs are preserved but eventually dropped.
Google Search Console Help, URL Inspection tool - that the live test fetches and examines the URL in real time; the per-property daily limit of live inspections, separate from the daily index-request limit; that a valid live verdict does not mean the page will be indexed; that the test follows redirects without indicating it has done so or showing the final URL tested; and the instruction to use a sitemap for many pages. Reviewed 28 August 2026; no publication date shown.
Google Search Console Help, Sitemaps report - the status values; that the sitemap should be fetched immediately but crawling the listed URLs takes time; the retry-for-a-few-days behaviour; and that there is no guarantee a URL found in a sitemap has been or will be crawled or indexed. Reviewed 28 August 2026; no publication date shown.
IETF, RFC 8767 - Serving Stale Data to Improve DNS Resiliency (Standards Track, March 2020) - the serve-stale method, the condition under which an expired record may be used, and the suggested one-to-three-day maximum stale period. Cited for why a reduced TTL is a planning target rather than a guaranteed upper bound; it describes resolver behaviour under refresh failure, not normal operation.
Google Search Console Help, Crawl Stats report - host status and its three categories (robots.txt fetching, DNS resolution, and server connectivity), and the consequence of a robots.txt request that returns neither a valid file nor a 404. Reviewed 28 August 2026; no publication date shown.
Google Search Central, Debugging drops in Google Search traffic - that URL changes may produce ranking fluctuations during recrawl and reindexing.
Google Search Central, Build and submit a sitemap (last updated 8 July 2026) - the submission methods currently documented: the Sitemaps report in Search Console, the Search Console API, a Sitemap: line in robots.txt, and WebSub for Atom or RSS.
Cloudflare, Purge everything (last updated 16 April 2026) - what a full purge clears, that each new request returns to origin, the origin-load warning, and Cloudflare's stated preference for single-file purging. Vendor documentation for one CDN; it does not describe other vendors' products.
About the author
Zarko Zivkovic is the founder of CoreAEX, building technical SEO, AEO, and AI-visibility systems for B2B SaaS companies. Connect on LinkedIn.