To change domain without losing SEO, map every old URL to its new equivalent, set up page-to-page 301 redirects, verify both domains in Search Console and submit a Change of Address. Keep the redirects for at least a year and the old domain registered longer. Expect a few weeks of fluctuation before rankings settle.
The scary stories about domain changes almost always have the same cause. Somebody pointed the old domain at the new homepage, switched off the old server and waited for Google to sort it out. Google sorted it out by treating most of the old pages as gone.
Done properly, a domain move is boring. Rankings wobble for a few weeks and then settle where they were.
Can you change domain without losing SEO?
Yes, with a caveat. Google’s own documentation says permanent redirects do not cause a loss in PageRank, and the Change of Address tool exists so you can tell Google explicitly that the site has moved. What you cannot avoid is a period of fluctuation while Googlebot crawls every old and new URL at least once. For a small or medium site, Google says that usually takes a few weeks. Large sites take longer.
What you can avoid entirely are the self-inflicted losses: missing redirects, chains, mass redirects to the homepage and a redesign at the same time.
Step 1: Build the URL map
Everything else depends on this spreadsheet. Two columns, old URL and new URL, one row per indexable page.
Pull the old URLs from several sources so nothing slips through:
- your XML sitemap
- the Pages report in Search Console
- landing pages from analytics over the last 12 months
- top linked pages from your backlink tool
If the path structure stays identical and only the host changes, the map is simple: every path maps to itself on the new domain. If you are also restructuring URLs, this is where the real work is.
Pages that will not move get a 404 or 410, not a redirect to something unrelated.
Step 2: Prepare the new domain
Before any redirect goes live, the new site must work on its own. That means HTTPS with a valid certificate, canonical tags pointing at the new domain, hreflang annotations updated, and internal links rewritten to the new host. Leaving internal links on the old domain creates a redirect on every click and every crawl.
Verify both domains in Search Console. A Domain property covers all protocols and subdomains in one go and is the easiest choice. If the new domain was bought second hand, open its Manual actions report now.
Settle the hostname too. If the new site will run on www or without it, decide before launch. The reasoning is in www vs non-www.
Step 3: Set up page-to-page 301 redirects
The redirect must keep the path. Here are working examples for a move from old-example.com to new-example.com where paths stay the same.
nginx, on the server that still answers for the old domain:
server {
listen 80;
listen 443 ssl;
server_name old-example.com www.old-example.com;
ssl_certificate /etc/letsencrypt/live/old-example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/old-example.com/privkey.pem;
return 301 https://new-example.com$request_uri;
}
$request_uri includes the path and the query string, so /shop/item?id=4 lands on the same address at the new domain.
Apache, in the .htaccess of the old document root:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-example\.com$ [NC]
RewriteRule ^(.*)$ https://new-example.com/$1 [R=301,L]
Apache passes the query string through automatically when the target does not define its own.
Cloudflare, if the old domain is proxied through Cloudflare: create a Single Redirect under Rules, Redirect Rules, with a custom filter expression
(http.host in {"old-example.com" "www.old-example.com"})
then choose Dynamic as the URL redirect type, use the expression concat("https://new-example.com", http.request.uri.path), set the status code to 301 and tick “Preserve query string”. The DNS records of the old domain must be proxied (orange cloud), otherwise the rule never runs.
If URLs change as well, you need a map. In nginx that is a map block; elsewhere a redirect plugin or rule list. Details on status codes and chains are in the 301 redirect guide.
Step 4: Test before you tell Google
Check a sample of old URLs from your map:
curl -sI https://old-example.com/blog/first-post/ | grep -iE "^(HTTP|location)"
HTTP/2 301
location: https://new-example.com/blog/first-post/
You want exactly one 301 and a location on the new domain with the same path. Then request the target and confirm it returns 200. Google follows up to 10 hops but recommends redirecting straight to the final URL. A common accident is old http, then old https, then new http, then new https. That is three hops where one would do.
For bigger sites, feed the old URL list into a crawler in list mode and filter for anything that is not a single 301 to a 200.
Step 5: Submit the Change of Address
Open the old domain property in Search Console, go to Settings and choose Change of Address. The tool checks that you own both properties and that a few sample pages return 301s. Critical failures block the request.
Some details that trip people up:
| Rule | Why it matters |
|---|---|
| Submit for every variant of the old domain, including www | Specifying a domain does not move its subdomains |
| Same Google account must own both properties | Otherwise the tool will not offer the new site |
| Not for http to https or www changes | Google handles those through redirects alone |
| Move shows as in progress for 180 days | After that, Google no longer treats the sites as related |
| Redirects stay for at least 180 days, ideally a year or more | Signals are forwarded only while redirects exist |
The full walkthrough, including how to cancel a move, is in Search Console change of address.
Step 6: Swap sitemaps and monitor
Submit the sitemap of the new domain and remove the old one. Google expects the new sitemap to show zero indexed pages at first while the old one drains toward zero. Warnings about redirects in the old sitemap are normal.
Watch impressions in both properties. The curves should cross over within a few weeks. If the old property keeps impressions for specific URLs, check those redirects first.
Reach out to the sites that link to you most and ask them to update their links. Every link that points directly at the new domain is one less redirect to depend on.
Step 7: Keep the old domain, probably forever
Google says to keep redirects for at least one year and suggests considering keeping them indefinitely. The Change of Address help page also recommends keeping the old domain registered for at least a year. In practice, old links, printed material and email signatures will keep pointing at the old domain for much longer.
Letting it lapse also invites someone else to register it and pick up your old traffic. A yearly renewal at €14.99 for a .com or €15.99 for a .co.uk is the cheapest insurance in this whole project. If you keep several old names alive, multiple domains, one website explains the setup.
Before you start
Get the new name sorted first. A check for the new name shows whether it is free across the endings you care about, and moving to a .com is often the reason for the whole exercise. If you are planning a migration across many domains, the registrar API for developers lets you automate registrations and DNS changes. Still unsure whether the move is worth it at all? The country code vs .com SEO comparison may settle it.
Step by step
- Map old URLs to new URLsExport every indexable URL of the old domain from your sitemap, analytics and Search Console, and assign each one a new URL. Pages without a successor return 404 or 410.
- Prepare and verify the new domainSet up the new site, add HTTPS, update canonicals, hreflang and internal links to the new domain, and verify both domains with all variants in Search Console.
- Switch on page-to-page 301 redirectsRedirect every old URL directly to its new equivalent with a permanent server-side redirect. Avoid chains and do not send everything to the homepage.
- Test the redirectsCheck a large sample of old URLs with curl or a crawler. Each should return one 301 and land on a 200 page.
- Submit the Change of AddressIn Search Console, open the old domain property and use the Change of Address tool. Repeat for every verified variant such as www.
- Swap the sitemaps and monitorSubmit the new sitemap, remove the old one, and watch indexing and traffic for both properties over the following weeks.
- Keep the old domainLeave the redirects in place for at least a year and keep renewing the old domain so links and bookmarks keep working.
Found your domain? You can check and register it directly at buy a domain – yearly price from €2.99.
FAQ
How long does a domain migration take to recover?
Google says small and medium sites usually see most pages move within a few weeks, and larger sites take longer. Rankings fluctuate in that period and then settle. If they have not recovered after a couple of months, look for redirect errors first.
Do 301 redirects lose PageRank?
No. Google's site move documentation states that 301 and other permanent redirects do not cause a loss in PageRank. Losses during a move usually come from missing redirects, chains or pages that were dropped.
Can I let the old domain expire after the move?
Not soon. Google recommends keeping redirects for at least a year, and the Change of Address help page suggests keeping the old domain registered for at least that long. Links on other sites will keep pointing at it for years, so many owners simply renew it indefinitely.
Should I redesign the site at the same time?
Avoid it if you can. Changing domain, URL structure and content in one go makes it impossible to tell which change caused a drop. Move first, redesign later.