Skip to content
By Updated 19 min read SEO

Website migration: how to limit traffic loss, step by step

Dachshund peeking out of an open moving box in front of a white wall

A website migration goes well when every old URL leads to its new equivalent, Google can crawl the new site without being blocked, and someone watches old and new addresses separately for weeks. Google warns of temporary fluctuations, and for a medium-sized site it can take a few weeks or more before the new URLs appear. This guide follows that order: what kind of move you have, what Google says, what to save first, how to build the redirects, and what to check on launch day and afterwards.

Timeframes and rules come from Google's documentation, read on 5 November 2026. Where something is our own judgement we say so, and the examples with data are invented.

What changes with each type of migration

"Migration" covers several different jobs. The first question is whether the URLs people see will change, because almost everything else follows from that.

Type of changeDo URLs change?Change of Address toolWhere it can go wrong
Moving to a new domainYesYes, for every verified variant of the old domainForgotten variants (www, subdomains), redirects to URLs that don't exist
HTTP to HTTPSYesNo, Google works it outrobots.txt on the HTTPS version, internal links still on HTTP
New structure or paths on the same domainYesNoIncomplete URL list, redirect chains
Changing CMSDepends on whether paths changeNo, unless the domain changes tooTemplates without titles or without content in the HTML, leftover staging blocks
New hosting or CDN with the same URLsNoNo, it has its own guideCapacity of the new server, DNS, switching off the old host too early

The last column is our summary of the mistakes Google describes and of the risks of each change. It is not a statistic.

If you have several things to change, Google recommends doing them one at a time: first the domain, then the layout. The more you combine, the harder it is to tell what caused a drop. It also warns that combining a move with a redesign of content and URL structure will probably cost traffic, because Google may need to reassess individual pages.

What lands on the same day in your migration?

What Google actually says

Plenty of migration advice is second-hand. These are the statements worth having to hand in any project meeting, because they settle the usual arguments. They come from Google's guide to site moves with URL changes, last updated on 20 August 2026.

  • Duration: for medium-sized sites it can take a few weeks or more for Google to start showing the new URLs, and longer for large ones. Speed depends mainly on the number of URLs and your server.
  • When it's finished: Googlebot has to visit every URL on the old and new site at least once. The move happens per URL, so there's no single date when the whole site switches.
  • Link equity: Google says 301 and other permanent redirects don't cause a loss in PageRank.
  • How long to keep redirects: as long as possible, generally at least a year. For users, Google suggests considering keeping them indefinitely.
  • Redirect type: permanent and server-side if technically possible, such as 301 or 308. Client-side redirects are a last resort.
  • Chains: Googlebot can follow up to 10 hops, but Google advises redirecting straight to the final destination or, failing that, ideally no more than 3.
  • Home page: don't redirect many old URLs to one irrelevant destination such as the home page. It can confuse users and may be treated as a soft 404.
  • All at once or in sections: Google recommends moving small and medium sites all at once. Large sites can go section by section, ideally starting with a part that changes little.
  • Timing: if your traffic has seasonal or weekly dips, move during one.
  • Load: after the move, Google crawls the new site more heavily than usual, because crawls of the old URLs are redirected on top. Your server has to cope.

Search Console's Change of Address tool is only for moving from one domain or subdomain to another, and only after the redirects are live. It isn't for HTTP to HTTPS, for www and non-www on the same domain, or for moving paths within a domain. On a domain move, Google asks you to submit it for all verified variants of the old domain, even ones you don't use. A less familiar warning: don't chain moves from A to B and straight on from B to C, and try not to merge several sites into one at once.

Before you touch anything: the inventory

A redirect map is only as good as the URL list behind it. For a simple domain change, one wildcard rule may do. As soon as paths change, you need the complete list. Google suggests starting with your important URLs and names these sources. The right-hand column is our addition:

SourceWhat it gives youWhat it misses
SitemapsThe URLs you declared as importantOlder pages that still get visits but are no longer declared
Server logsWhat was really requested, by Googlebot too, images includedURLs with no requests in the period you chose. Make that period cover your seasonality
Web analyticsThe URLs with the most trafficAnything without the tag: refused consent, files, bots
Links in Search ConsolePages with internal and external linksLinks the report doesn't list
CMSEverything currently publishedOld URLs that no longer exist but still get requests

Google also mentions something that's easy to overlook: images, videos, PDFs, JavaScript and CSS have URLs too and need moving the same way. An image or a PDF may have traffic or links of its own.

What to save today

  • Export Search Console by page and by query, for the longest period available, before the move starts. That is your baseline. The performance report shows three months by default, so change the range.
  • Save titles, descriptions and H1s for every important URL, so that after a drop you can see what changed.
  • Save structured data and hreflang annotations if you have them. They get lost easily when templates change.
  • List the pages you can't afford to lose: those that sell, those with links and those that answer a specific query. That list is your final test, ahead of any overall percentage.
  • Save the list of sites linking to your old URLs. Google advises keeping it so you can ask them to update their links later, starting with those that send the most visits.

This is also when you decide what won't move. Google asks that deleted content returns 404 or 410. If you've consolidated content on a new page, you can redirect to it. Removing a page with links or its own queries without checking its data is a decision that's easy to make without noticing.

The redirect map

This is where much of the outcome is decided. Google says it frequently sees people redirecting to wrong or non-existent URLs on the new site. The rule is simple to write: each old URL goes directly to its equivalent. The hard part is deciding what to do when there's no exact equivalent.

When there's no equivalent

Google sets two clear limits: don't send URLs in bulk to an irrelevant destination, and use 404 or 410 for what's gone. Between those, this is our order of preference. It's our judgement, not a Google rule:

  1. Direct successor. The same page, or the model that replaces it.
  2. Nearest category. If the product or article no longer exists, the subcategory it sat in, provided visitors find something comparable there.
  3. Parent category. Only if it still answers what the person wanted.
  4. 410. If there's nothing to offer, say so clearly.

The home page isn't on this list.

Why name similarity misleads

With thousands of URLs and no equivalent, it's tempting to automate: compare the words in the old slug with the new ones and take the closest. That's fine for proposing candidates. As a decision, it fails in a specific way. An invented example from a spare parts shop:

Old URLClosest candidateProblem
/brake-pads-model-x6-front/mudguard-front-model-x6Model and position match, but it's a different part
/tyre-8-inch-black/tyre-10-inch-blackNearly identical, wrong size
/charger-model-2/charger-modelTrimming the "-2" looks like tidying a duplicate, but here it's part of the name

Model and position are the same in both slugs, and only the product type tells them apart. A similarity score treats them all alike. To use automation without being misled:

  • Rule out product type conflicts. If both URLs name a type and they don't match, drop the candidate however high its score.
  • Rule out size conflicts. Two different measurements are two different products.
  • Split into three lists: safe, unsure and no candidate. A person reviews the unsure ones, or they stay as 410.
  • Read the destination. A 200 status says the page is alive, not that it's the right one. Slugs go stale while products change, so compare against the actual page title.
Would your redirect map let this pair through?

Which status code

SituationCodeWhat Google does
The page has moved for good301 or 308Treats it as a signal that the target should be canonical and shows the target in results
Temporary change302 or 307Keeps showing the source URL in results
Content deleted with no replacement404 or 410Removes previously indexed URLs from the index, and crawling gradually decreases
A "doesn't exist" page returning 200AvoidSearch Console may report it as a soft 404

An accidental 302 during a move means Google keeps showing the old URL, so your check has to look at the code as well as whether the redirect works. If redirects from an earlier migration exist, point them straight at the new destination so they don't form a chain.

Staging and sign-off

Before launch, review the new site the way Googlebot will see it. Google asks you to test thoroughly and gives details that prevent the costliest mistakes:

  • Staging blocks. If you block crawling during development, prepare the final robots.txt now. If you use noindex, keep a list of the URLs it must come off. Google lists forgetting these blocks among common mistakes.
  • noindex and robots.txt don't work together. For Google to see a noindex, the page must not be blocked in robots.txt. If it's blocked, it can still appear in results.
  • Canonicals. Each new URL needs a self-referencing canonical. One possible template mistake is leaving them pointing at staging or the old domain.
  • hreflang. With several languages, annotations must use the new URLs. Each version lists itself and the others, and if two pages don't point to each other, Google ignores the tags.
  • Internal links. Change them to the new URL using the same map. A working redirect is no reason to link to it from your own site.
  • Content in the HTML. If the new site relies on JavaScript, compare what the server returns with what's there after rendering. The details are in our guide to JavaScript SEO.
  • Search Console. Verify the variants of old and new sites, and check verification will survive the move. If you've uploaded a disavow file, Google recommends uploading it to the new property as well.
  • Newly bought domain. Check for manual actions and URL removals left by the previous owner.

Test the map against real data

Checking ten redirects by hand tells you little about a map with ten thousand. What gives confidence is a script that walks the full list of old URLs and checks for each one:

  • that the first hop returns the planned code,
  • that it reaches its destination in a single hop,
  • that the destination returns 200,
  • that the destination's title is the expected one,
  • that the destination has no noindex and its canonical points to itself.

Status and content are separate tests: a page can return 200 and be empty or show an error. Also test a sample with parameters, with and without a trailing slash, and with capitals if your old site had them. If staging runs on another domain, the script should swap that and nothing else.

Launch day

Pick a low-traffic moment with people available afterwards. We wouldn't launch right before a weekend, because the first errors show quickly and someone has to be able to fix them. This sequence is based on Google's order. Step 8 and the owner column are our additions:

StepWhat happensWho checks
1Turn on the redirects on the serverDevelopment
2Remove blocks: final robots.txt and the noindex listSEO
3Check canonicals and robots meta rules in the main templatesSEO
4Run the redirect script against the full listSEO and development
5Test important URLs with URL InspectionSEO
6Submit the Change of Address, if the domain changesSearch Console owner
7Submit the new sitemap and keep the old one to handSEO
8Test checkout, forms and analytics on the new siteBusiness owner
9Point ad campaigns and profiles at the new URLsMarketing
10Review server logs: errors and Googlebot arrivingDevelopment

On sitemaps, Google's guide says two things: submit the new one because it helps discovery, and you can then remove the old one. In its monitoring section it also suggests submitting both to watch one fall and the other rise. In practice, keeping the old one for a few weeks gives you a useful gauge. Warnings there that the URLs redirect are normal, Google says.

The first 30 days

Google expects fluctuation. The difficulty is telling it apart from a fault. The basic rule: look at old and new URLs separately. Added together, a troubled migration can look stable for days.

What you watchWhat to expectWhat should worry you
Indexed pages per sitemapThe old one falls towards zero and the new one risesThe new one still isn't rising after several weeks
Queries in Search ConsoleNew URLs gradually gain impressions and clicksAn important query disappears without its new URL picking it up
"Not found" errorsA few URLs nobody mappedAn unusually high number, a sign of wrong redirects
Server logsMore Googlebot crawling than before5xx errors, which make Google slow down crawling
Traffic in analyticsFalling on old and rising on newFalling on both at once
Pages you can't afford to loseThey keep doing their job and keep sellingOne disappears or clearly loses clicks

The timeframes aren't a promise. Google talks of weeks for most pages of a small or medium site to move, without being more exact, so comparing with last week on day one says little. Compare with the same earlier period, separate brand from non-brand, and allow for seasonality.

The mistake of measuring only what Search Console reports

An error report only shows what Google has already tried. If your map fails on URLs Google rarely crawls, weeks can pass with no warning. So keep running the script over the full list rather than only the URLs flagged. Server logs also show who still requests the old URLs. If it's people, they're arriving from links or bookmarks, and that's another reason to keep the redirects, beyond Google's advice.

If something goes wrong

  • Check the mechanics first: noindex, robots.txt, canonicals and redirect targets. A forgotten block takes minutes to fix, and while it's there nothing else matters.
  • Compare specific pages with the copy you saved: title, content, internal links.
  • Roll back only as a last resort. With a serious fault and the old site still available, reverting early can do less harm than fixing on the fly. That's our judgement. Once Google has processed part of the move, reverting is itself another move.

Special cases

Changing e-commerce platform

This can change a great many URLs at once, including filters, variants and product images. Decide what happens to out-of-stock and discontinued products before you build the map, then apply the order of preference above. Filter URLs need their own decision: if they were indexed and got traffic, they belong in the map. Test a full purchase before opening, and test images too, since they have their own URLs.

Multilingual sites

Map each language separately, and check each translation goes to its translated equivalent. It's easy to send English to the German version by accident. hreflang annotations are reciprocal, so a mistake in one language can break the link with the others. If keeping every pair is too hard, Google says it will still process the pairs that point to each other.

Moving to a JavaScript framework

Before launch, check whether content and key tags are in the server's HTML. This move joins two risks, so Google's advice to change one thing at a time carries extra weight. The diagnostic steps are in our guide to JavaScript SEO.

Changing hosting without changing URLs

There are no redirects here. Google's steps are to copy and test the site, check Googlebot can reach the new infrastructure, lower your DNS TTL, switch DNS and shut down the old infrastructure only when nobody uses it, Googlebot included. Its logs tell you when.

When to get help

An HTTP to HTTPS move on a small site can be done by following Google's guide. A second pair of eyes is worth having when many URLs have no direct equivalent, when domain and CMS change together, when the business depends on organic traffic or when nobody can read the server logs. In that case, our SEO relaunch service can review your plan.

Frequently asked questions

How long does Google take to process a site migration?

Google gives no exact figure. For medium-sized sites it talks of a few weeks or more before new URLs start to appear, and longer for large ones. It depends on the number of URLs and server speed. The move is complete when Googlebot has visited all old and new URLs at least once.

How long should I keep 301 redirects?

Google says as long as possible, generally at least one year, so it can transfer all signals, and suggests considering keeping them indefinitely for users. Redirects add latency, so update your own links and the high-volume links from other sites.

Do 301 redirects lose link equity?

Google says 301 and other permanent redirects don't cause a loss in PageRank. That doesn't guarantee your rankings. If you also change content, structure or internal links, Google may reassess the pages, and any fall would come from those changes.

Can I redirect everything to the home page?

Google advises against it. Sending many URLs to a single irrelevant destination such as the home page can confuse users and may be treated as a soft 404. If content really has been consolidated on another page, redirect there. If it's gone, return 404 or 410.

Do I need Change of Address when moving to HTTPS?

No. Google says the tool is for domain or subdomain changes, and that it works out HTTP to HTTPS moves by itself. It also isn't for www and non-www on one domain or for moving paths. You still need redirects in all of those cases.

Should I migrate in phases or all at once?

Google recommends moving small and medium sites all at once, because that helps its systems detect the move faster. Large sites can go section by section to make problems easier to find. If you can, start with a section that changes little, though it won't fully predict what happens to the whole site.

Sources

Read on 5 November 2026.

Further reading on the concepts: 301 redirect, 302 redirect, redirect chain, soft 404, canonical tag, hreflang, noindex and log file analysis.

How this article was made

This article was first published in March 2026. It was rewritten from scratch in November 2026 with AI assistance, from the Google documentation linked above, and reviewed before publication. The URL examples are invented, and parts marked as our own judgement don't come from Google.

Pick ZDS as a preferred source and Google will show you our articles more often in Top stories.

Add us as a preferred source on Google

How does your website show up in Google and AI?

Tell us your domain and we will send you a first assessment: how it appears in Google and in AI assistants such as ChatGPT. Free, no strings attached.

Request a first assessment
Manuel Riveiro

CEO & Digital Strategist — ZDS

20+ years of experience in SEO, performance marketing and AI tools. Founder of ZDS and B2 Performance, based in Barcelona and Herdecke.