Website migration is three operations: new hosting, new domain, new addresses. What to tell Google, how to transfer a .ch domain and set up 301 redirects.

A website migration does not end on the day the site runs on the new server or at the new address. It ends when Google notices — and that can take weeks. We know this from our own site: the Polish edition of this very article went through a migration.
Until 14 September it lived at an address in a guides section of our Polish site that we closed down. That day it got a permanent redirect to its current address. Five days later, Search Console showed this:
What Google knows about our moved address
Own data, digitalvantage.pl, Google Search Console (URL Inspection), 19 September 2026
A reader who clicks the old link lands on the new address from the first second. But Google only learns about the redirect on its next visit to the old address — and it last visited in July. Until then, the index holds an address that no longer exists, while the new one waits in the queue. Google's documentation says so directly: for a small or medium site, moving most addresses takes "a few weeks", and fluctuations in visibility during that time are "normal".
This is not an argument against migrating. It is an argument for planning a migration as if Google will find out about it late — because it will.
What this article covers. How the three migrations that go by one name differ. How to move a site to new hosting without downtime. What DNS propagation really is. How a .ch domain transfer works and what most often blocks it. What a domain change involves. How to build a 301 redirect map and check that it works. And one trap that applies only to WordPress.
"Website migration" is a word used for three different operations. They differ in what changes from the search engine's point of view — and that determines what can go wrong.
Three migrations that go by one name
Google Search Central, site moves
Hosting change — the same site, the same addresses, a different server. For Google nothing happens except that a different machine answers at a known address. It is the safest of the three, provided everything was moved.
Domain change — every address on the site becomes new. For Google it is a move of the entire site, which has to be reported and carried out with redirects, address by address.
Structure or platform change — a new content management system, a new shop, a reorganisation of sections. The domain stays, but some addresses change. This is the most common source of losses, because it looks like a "purely technical" change, while for the search engine every changed address without a redirect is a new, empty page.
In practice these operations often come together — a new platform on new hosting, sometimes under a new domain. In that case it is worth separating them in time if you can. Google allows large sites to be moved section by section and recommends moving all addresses at once for smaller ones; either way, it is easier to find the cause of a drop when one thing changed in a given week, not three.
Google describes moving a site to new hosting without changing addresses in a separate document, and it contains three recommendations worth taking literally.
Lower the TTL at least a week in advance. Google suggests a value of "a few hours" set "at least a week in advance". Why so early is explained in the next section; in short, lowering it only takes effect once the old, longer value remembered by servers along the way has expired.
Do not switch off the old hosting on moving day. Google advises watching the old server's logs and switching it off only once traffic to it has dropped to zero. For several days, some visitors — and some crawlers — will still reach the old IP address. If the old server no longer responds, those are lost visits. Incidentally, that is an argument against giving notice on the old hosting contract so that it ends on migration day.
A drop in Googlebot activity after the move is normal. According to the documentation, right after launch on the new server Google usually slows crawling temporarily, then gradually speeds up over the following days. There is no need to react.
What Google's documentation does not say, because it is not its business: what has to be moved. The site's files are only part of it. Add the database, files uploaded by users, scheduled tasks, server configuration, the certificate and email — if it was on the same hosting, moving it is a separate operation that is easy to overlook, because "the site works". And the PHP version: if the new server runs a newer one than the old, an older plugin can stop working on moving day. Before anything is switched, you need a backup that can actually be restored — ideally on the new server itself, because then testing the backup and rehearsing the migration are one and the same task.
A common line about DNS changes is that "propagation takes up to 48 hours". It sounds as if the news of the new address spreads across the internet like a wave. It does not. Nothing spreads — the copies that servers along the way have remembered expire, and how long they are kept is set by the owner of the record. That is the TTL, the record's time to live, given in seconds.
If the record pointing to the server's address has a TTL of 86,400 seconds — a day — then a server that asked for it just before the change will keep sending visitors to the old address for the next day. If it is 300 seconds, for five minutes. That is why the TTL is lowered in advance: first the old, long value has to expire, and only then will the address change spread within the new, short one.
We checked both values on our own .ch domain. The records pointing to our server's address have a TTL of 300 seconds. The .ch registry publishes the information about which name servers handle the domain with a TTL of 3,600 seconds — an hour. That is much shorter than on other extensions: for our .eu domain the same information carries 86,400 seconds, a full day. This creates a practical difference between two operations that are named similarly in control panels:
The same applies to moving email, even if the email itself is not going anywhere. When you change name servers, the new DNS provider does not know your existing records — you have to recreate them, including the mail records (MX) and the ones that confirm you are allowed to send email from the domain (SPF, DKIM). If they are missed, the site will start working on the new server at the very moment email stops arriving. So before changing name servers, it is worth exporting the whole zone, not just noting down the server address.
The conclusion for migration day: when changing hosting, it is better to change the records with your current DNS provider than to move DNS hosting elsewhere on the same day. Two changes at once mean two different clocks.
A domain transfer is a change of the company that manages your domain — the registrar. It does not change the owner, does not change the site's address and does not by itself affect how the site works. But it is where most migrations get stuck, and almost never for technical reasons.
For .ch domains the rules are set by Switch, which runs the registry for Switzerland and Liechtenstein. You cannot register or manage a .ch domain directly with Switch — only through an accredited registrar, and the transfer works like this:
Switch adds one sentence that matters more than it seems: the contract with the registrar is private, and any dispute arising from it must be settled in the civil courts. There is no registry complaint procedure to fall back on. If the registrar does not hand over the code, or the registrar account belongs to someone else, you are dealing with a contractual problem, not a technical one.
And that is where transfers most often get stuck: whose name and whose account the domain is registered under. If the domain was registered years ago by an agency or by an employee who has since left, the registrar account and the contact address on record may belong to them — and getting the code turns into a negotiation.
It is the same problem we describe under website maintenance services: the domain should be registered to the company, with an email address someone reads. During a transfer this stops being good practice and becomes a precondition.
A domain change — a new company name, a move from a .com to a country domain, the merger of two sites — is the only one of the three migrations for which Google provides a dedicated tool. Search Console has a Change of Address feature; according to the documentation, it is used when moving from one domain or subdomain to another, not when switching to HTTPS, changing between www and non-www, or moving pages within the same domain.
Three rules from Google's documentation decide the outcome:
A 301 redirect is the server's answer "this address has moved permanently, over there". It is the heart of every migration in which addresses change, and the most common place where a migration breaks.
Google distinguishes two groups. Permanent redirects — 301 and 308 — are treated by Google as a signal that the target address should be the right, canonical one. With temporary ones — 302, 303, 307 — it follows the redirect but does not pass that signal to the target. A 302 redirect set by mistake during a migration is therefore a redirect that works for people and does not work for the search engine. Google treats an instant meta refresh in the page code as permanent and a delayed one as temporary. A JavaScript redirect only when nothing else is possible, because Google may not execute it.
A redirect map is a spreadsheet with two columns: old address, new address. The list of old addresses is best assembled from three sources, because each shows something different: the current sitemap, the pages report in Search Console and the list of addresses that external links point to. Every row has a target — even if a page disappears, the redirect goes to the closest page on the same topic, not to the home page.
Where a 301 redirect is set. On Apache servers it is done in the .htaccess file in the site's directory — one line per address, for example Redirect 301 /old-address/ https://www.example.com/new-address/. For dozens of addresses sharing a pattern, rules with regular expressions are used, but every such rule carries the risk of redirecting more than intended — so after adding one, you also check the addresses that were meant to stay untouched. Nginx servers do not read .htaccess at all; there, redirects live in the server configuration, usually on the hosting side. In WordPress, plugins handle it. In systems like ours, the rules are part of the code and go through the same review as any other change. Wherever it is set, one rule applies: the redirect should be answered by the server before the page starts — not by a script on the page.
Two things to check after deployment:
That test is one command or one online tool: for every old address on the map — does it answer 301 or 308, and does it end, after the redirect, on a page answering 200. For a few dozen addresses it takes a quarter of an hour. After a migration where "everything works", that quarter of an hour is the only proof.
WordPress has one property that changes how a migration is done when the domain changes: the site's address is stored in the database, and in many places — in settings, in content, in theme and widget configuration. Moving the files and the database to a new server under the same domain does not touch this. Changing the domain touches everything.
The intuitive solution is to search the whole database for the old address and replace it with the new one. The WordPress documentation warns against exactly that: such a replacement "can cause issues with data serialization", because some themes and widgets store values together with their length. The new address has a different number of characters from the old one, the stored length no longer matches, and settings silently disappear. To change the address in a WordPress database, you use tools that understand this format — not a plain "find and replace".
The second rule from the same documentation is put even more strongly: the GUID column in the posts table is "never, ever" to be changed. It is the post's identifier, not its address — change it and RSS feed readers will show every post again as new.
For the first week after a migration, what you check is not whether the site works, but whether the things you cannot see on the home page work:
If the site's speed changed after the migration, compare data from the same source. A lab test score and data from real users measure different things, and the latter are collected over 28 days — we explain this under Core Web Vitals.
The shortest summary: name which of the three migrations you are doing, and separate them in time if they come together. When changing hosting, watch the TTL and the old server. When changing addresses — the redirect map and checking that it works. And then give Google weeks, not days: our own moved address was still in the index five days after the redirect, and that was not a failure, just the crawler's calendar.
Technically moving a small site usually takes hours. What comes afterwards takes longer: when addresses change, Google's own documentation says it needs a few weeks to move most pages of a small or medium site. So plan the migration with a margin before an important period for the business, not just before it.
With a hosting change and no address changes — usually not. With a domain or address change, temporary fluctuations are normal according to Google. Lasting losses most often come from addresses without redirects, from temporary (302) redirects instead of permanent ones, and from redirecting everything to the home page.
A 301 (and 308) is a permanent redirect — Google treats it as a signal that the new address should replace the old one in results. A 302 (and 303, 307) is a temporary redirect — Google follows it but does not pass that signal to the target. For a migration, use permanent ones.
As long as the TTL of the record you change — the time servers along the way remember the old value. With a TTL of 300 seconds, that is minutes. When changing the name servers of a .ch domain, the registry's own TTL is added — for .ch it is an hour, for many other extensions a day. That is why the TTL is lowered a week before a migration.
Ask your current registrar for the transfer code (Auth-Code) and forward it to the new registrar. After the transfer, the domain cannot be moved again for 60 days. Disputes with a registrar are a private civil matter, so check before you start whose name the registrar account is in.
Google recommends keeping redirects for as long as possible, generally at least a year. During that time the old domain has to be paid for and redirect every address to its counterpart. Letting the old domain expire after a few months switches off all the redirects at once.
Talk to us: we will build the list of addresses that have traffic and external links, and check what already redirects today — before the migration adds more rules on top.
Website maintenance is four jobs: keeping a site running, fast, accountable and able to survive change. Six ways in, and where to start.
A 502 Bad Gateway, 500, 503 or 504 error tells you which part failed: the application, the link between servers or an overload. And who to call.
A 404 Not Found on your own site is usually a page removed without a redirect. What 4xx status codes mean, what Google does and why our 404 returns 200.
Core Web Vitals are not your PageSpeed score: its heaviest metric is one Google does not use for ranking. The three thresholds and what to do about them.
Website maintenance services are sold as tasks but signed as a contract. Response time, SLA, domain access and code ownership — check them before you sign.
Website monitoring: a 200 code does not mean the page works — ours returns it for addresses that do not exist. What to check, how often, and who gets the alert.
Your Partner in Business, Digital Vantage Team
Digital Vantage team is a group of experienced professionals combining expertise in web development, software engineering, DevOps, UX/UI design and digital marketing. Together we carry out projects from concept to implementation - websites, e-commerce stores, dedicated applications and digital strategies. Our team combines years of experience from technology corporations with the flexibility and immediacy of working in a smaller, close-knit structure. We work in agile methodologies, focus on transparent communication and treat each project as if it were our own business. The strength of the team is the diversity of perspectives - from systems architecture and infrastructure, frontend and design, to SEO and content marketing strategy. As a result, the client receives a cohesive solution where technology, aesthetics and business goals go hand in hand.
Rate this article
Back to the guide: Websites — a map of everything covered here

A 502 Bad Gateway, 500, 503 or 504 error tells you which part failed: the application, the link between servers or an overload. And who to call.

A 404 Not Found on your own site is usually a page removed without a redirect. What 4xx status codes mean, what Google does and why our 404 returns 200.

Open rates stopped measuring people in 2021 — Apple says so and the benchmark publisher admits it. What Gmail requires since 2024, and what a lead magnet really yields.



The line items behind a quote — from the needs audit to handover — and the factors that move the price. Figures from our Polish market study.

When a low quote makes sense and when it is a trap, plus the costs that surface after launch. Figures from our Polish market study.

How to create a free website step by step. Comparison of free creators, SEO, pros and cons of free solutions and website development.

Vercel with a managed database against a VPS running Coolify: 271 USD versus 17 EUR a month at 2 TB of traffic. Plus three failures that happened to us in production.