Website Hosting Migration SEO

Move a website to a new host, CDN, or DNS provider without changing URLs: preparation, cutover, validation, monitoring, and rollback.

First published: Jul 18, 2026 · Last updated: Jul 27, 2026 · Advanced
demand #1 in Site Migrations#145 in Technical SEO#189 on the site
1 evidence signal on this page

A hosting migration changes the infrastructure behind a site while keeping its public URLs stable. Preserve the same content and SEO signals, lower DNS TTL ahead of the cutover, prove the new origin and CDN can serve users and verified crawlers, run old and new infrastructure in parallel, compare responses and rendered pages, monitor both sets of logs, and retire the old host only after its traffic reaches zero. Redirect maps and Change of Address are not part of a true same-URL hosting move.

TL;DR — Treat a same-URL hosting, CDN, or DNS migration as a response-parity and traffic-routing project. Inventory every hostname and dependency, lower DNS TTL before launch, configure the new origin and edge, validate certificates and security controls, load-test realistic crawler and user demand, and compare raw plus rendered responses. Dual-run old and new infrastructure through DNS propagation. Monitor both log streams, DNS answers, errors, latency, cache behavior, crawl activity, and Search Console. Roll back by restoring the previous routing only when a pre-agreed infrastructure failure occurs.

Decide whether this is really a same-URL migration

A same-URL hosting migration changes infrastructure without changing the exact public URL string. The scheme, hostname, port, path, query handling, and trailing slash behavior remain stable.

Classify the project before planning it:

ChangeSame-URL hosting move?Additional migration work
New origin IP, same URLsYesResponse parity, DNS, capacity, logs
New CDN, same URLsYesEdge rules, cache, TLS, firewall, origin routing
New authoritative DNS providerUsuallyZone parity, delegation, DNSSEC, mail and service records
www.example.com to example.comNoURL mapping and permanent redirects
HTTP to HTTPSNoProtocol migration and per-URL redirects
Path or CMS-generated URL changesNoURL migration plus platform QA

Do not let a project manager label a URL change as “just hosting.” The deployment plan must include every migration type that actually ships.

Build the infrastructure inventory

Infrastructure inventory prevents the quiet dependencies from becoming launch-day surprises. Record:

  • all public hostnames, including assets, images, APIs, international hosts, and legacy aliases;
  • A, AAAA, CNAME, NS, SOA, CAA, MX, TXT, and relevant SRV records;
  • certificate issuers, validation methods, Subject Alternative Names, and expiry;
  • origin addresses, ports, health checks, load balancers, and failover behavior;
  • CDN cache keys, cache rules, redirects, transforms, workers, and purge methods;
  • WAF, bot, rate-limit, geo, authentication, and IP allow/deny rules;
  • response headers, compression, cookie behavior, and security headers;
  • log destinations, retention, sampling, fields, and time zones;
  • Search Console and analytics verification methods;
  • third-party callbacks, webhooks, payment flows, feeds, and allowlisted IPs.

DNS review must include non-web records. Breaking MX, SPF, DKIM, DMARC, or service records may not directly change rankings, but it can break the business you were trying to protect.

Establish a response-parity baseline

Response parity means comparing the old and new systems for the same requested URL, not merely checking that both return 200.

Capture a representative set across templates and behaviors:

  • status and redirect chain;
  • final URL and protocol negotiation;
  • title, canonical, robots directives, hreflang, and structured data;
  • raw HTML and browser-rendered main content;
  • Content-Type, Cache-Control, Vary, compression, and security headers;
  • images, fonts, JavaScript, CSS, PDFs, and media assets;
  • cookies and logged-in or personalized variants;
  • mobile and desktop behavior;
  • latency, time to first byte, and error rate.

Use the Staging vs. Production SEO Diff for paired page checks. A full crawler and scripted request suite should cover the larger inventory.

Prepare the new origin

Origin preparation starts with content and configuration parity. Copy current content, templates, media, robots rules, redirects, error handling, and verification files. Freeze or synchronize writes so the new database does not launch stale.

Test the origin directly through a controlled hostname, a local hosts-file override, or provider-specific preview mechanism. The test must preserve the production Host header because virtual hosts, application routing, certificates, canonicals, and absolute links often depend on it.

The new origin must also handle the post-cutover load. Warm the application and database, confirm connection pools and autoscaling, and load-test uncached demand. CDN cache misses can concentrate traffic at the origin immediately after launch.

Configure the CDN as a separate system

CDN migration changes more than geography. Compare the old and new edge behavior explicitly:

  • cache key composition, including query strings, cookies, headers, and device variants;
  • cacheable status codes and file types;
  • browser TTL, edge TTL, stale serving, revalidation, and origin shielding;
  • redirects, rewrites, header transforms, and edge functions;
  • cache bypass rules for accounts, carts, search, and personalized pages;
  • compression and image optimization;
  • purge scope and propagation;
  • WAF, bot management, rate limiting, and origin protection.

Cloudflare’s current documentation, for example, notes that its default caching may respect origin Cache-Control headers but can be overridden by edge rules. It also provides targeted or full purges to force fresh origin fetches. The exact behavior is vendor-specific, so export and compare configuration rather than assuming equivalent labels mean equivalent results. See Cloudflare’s cache documentation.

Treat cache parity as content parity

Cache configuration can serve the wrong page correctly and quickly. Test anonymous, authenticated, localized, mobile, and query-string variants. A cache key that omits a meaningful cookie or header can leak personalized content. A cache key that includes every tracking parameter can fragment the cache and overload the origin.

Purge or pre-warm critical assets and pages according to the launch plan. Do not blindly purge everything during peak traffic unless the origin has been tested for the resulting miss storm.

Validate TLS from user to edge and edge to origin

TLS validation has two legs when a CDN terminates HTTPS: browser to CDN and CDN to origin. Confirm hostname coverage, complete certificate chains, modern protocol support, renewal, and strict origin validation.

Origin-only certificates may not be publicly trusted. Cloudflare warns that its Origin CA certificates can produce browser trust errors if proxying is disabled or paused. That matters during rollback: a DNS-only fallback to an origin using an edge-only trust model may fail for users. See Cloudflare Origin CA guidance.

Test every public hostname, including wildcard assumptions and rarely used asset or regional hosts. A valid apex certificate does not prove every subdomain is covered.

Lower DNS TTL before the move

TTL planning starts before cutover. Google recommends lowering the relevant TTL to a conservative low value, such as a few hours, at least one week before the move. A DNS provider may impose different minimums; proxied records may also have fixed values.

Cloudflare’s TTL documentation explains the basic tradeoff: longer values increase cache reuse, while shorter values allow record changes to take effect sooner. Record the original TTL and schedule its restoration only after the new infrastructure is stable.

DNS changes can be non-atomic across distributed systems. Change as little as possible during the cutover, verify answers from several public resolvers, and keep the old destination available while cached answers remain valid.

Verify crawler access and security controls

Security parity is not rule-count parity. A WAF copied from another provider can challenge or block crawlers, strip query parameters, rewrite responses, or rate-limit high-volume crawling differently.

Google’s hosting guide says to ensure firewalls and denial-of-service protection do not block Googlebot from DNS or hosting servers. Verify Googlebot using Google’s documented verification methods, not a user-agent string alone.

Test both ordinary crawler behavior and legitimate bursts. Avoid broad allowlisting that disables protection for spoofed user agents. Preserve security logs so blocked requests can be distinguished from origin failures.

Plan the dual run

Dual running means both old and new infrastructure can serve correct production responses during propagation. The old environment must keep receiving content or data changes that affect the site. Otherwise users routed by cached DNS answers may see stale inventories, broken sessions, or outdated pages.

Pick a synchronization strategy:

  • one read/write database shared by both stacks;
  • replicated data with an understood lag and conflict policy;
  • a controlled content freeze during cutover;
  • one-way event replication for orders, forms, or user writes.

Session state, uploads, cache invalidations, and background jobs need the same decision. “Both servers are on” is not a dual-run plan if their state diverges.

The old environment is a rollback path only while it remains valid and synchronized. Retirement begins when logs prove the old path is no longer used. Source: Website Hosting Migration SEO

Prepare builds the new origin and edge path. Validate tests controlled routing, parity, certificates, and capacity. Dual run keeps old and new environments correct and synchronized. Cut over changes only the planned DNS or edge route. Drain observes old-host requests in separate logs while the old environment remains available. Retire occurs only when old-host traffic reaches zero and dependencies have moved. A rollback lane remains available before retirement when a pre-agreed infrastructure failure occurs and the old state is still valid.

© Patrick Stox LLC · CC BY 4.0 ·

Execute the cutover

Hosting cutover should be deliberately boring:

  1. Stop unrelated deployments and confirm the change window.
  2. Run the final parity, certificate, capacity, and backup checks.
  3. Remove temporary crawl or access blocks from the new production path.
  4. Change only the planned DNS or CDN routing records.
  5. Confirm expected answers from multiple resolvers.
  6. Request protected pages through the public route as a user and crawler.
  7. Confirm logs are arriving from edge, new origin, and old origin.
  8. Watch errors, latency, cache misses, origin load, and conversions.

Do not use Google’s Change of Address tool for a host-only move. No public URL has changed, so there is no address change to report.

Monitor the evidence that proves the move

Infrastructure monitoring should separate old and new traffic. Use a deployment marker and compare the same time-of-week baseline where seasonality matters.

Watch:

  • DNS answers and resolver propagation;
  • old-host and new-host requests by user and verified crawler;
  • edge and origin status-code distribution;
  • TLS, connection, timeout, and application errors;
  • latency percentiles and uncached origin response time;
  • cache hit ratio and origin request volume;
  • Googlebot requests, Crawl Stats, Page Indexing, and representative URL Inspection;
  • synthetic checks across regions and networks;
  • analytics, conversions, and critical business transactions.

Google says a temporary Googlebot crawl-rate drop immediately after a hosting change can be normal, followed by an increase over the next few days. Anchor any decision to accessibility and error evidence, not that expected pattern alone.

Define rollback before launch

Rollback returns routing to a known-good infrastructure state. It is not a vague promise to “switch DNS back.” Document:

  • the exact records, routes, and configurations to restore;
  • who can authorize and execute the reversal;
  • how changed content, sessions, forms, orders, and uploads will reconcile;
  • whether the old certificates and dependencies remain valid;
  • cache purge steps on both routes;
  • the failure thresholds that trigger rollback;
  • the maximum safe decision time.

Rollback triggers should be observable: sustained availability failures, material conversion breakage, widespread wrong content, certificate failures, crawler blocks, or capacity collapse that cannot be corrected within the window. A temporary crawl rate fluctuation by itself is not a rollback trigger.

Retire the old infrastructure from logs, not a calendar

Old-host retirement happens after logs show that users and crawlers no longer reach it and all dependent services have moved. Google recommends shutting down the old host after its traffic reaches zero.

Retain configuration exports, logs, and rollback artifacts according to business requirements. Restore DNS TTL to the intended steady-state value after stability is proven. Remove temporary firewall exceptions and duplicate scheduled jobs so the migration does not leave a permanent maintenance mess.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin an expert quote first.