Skip to content
Cloud & Hosting

Moving a website to a new host without downtime

A migration order that avoids the classic failures: broken email, expired certificates, lost search rankings and a site that is down for a day.

5 min read
Moving a website to a new host without downtime. An article by Athabasca Solutions.

Website migrations have a reputation for going badly, and it is deserved, but the failures are predictable. Almost all of them come from doing the steps in the wrong order, and specifically from changing DNS before everything is ready to receive traffic.

Here is an order that works, and the four things that go wrong when it is not followed.

The four classic failures

Email breaks. By a wide margin the most common and the most damaging. The site and the mail often share a domain, someone points the domain at the new host, and the MX records go with it. The website is fine and nobody can receive an order for two days.

The certificate is not ready. DNS switches, traffic arrives, and the new host has not issued a certificate yet because it could not validate the domain until the DNS pointed at it. Visitors get a browser warning, which is worse than a plain outage because it looks like a compromise.

URLs change and nobody redirects them. Every page that ranked now returns a 404. Recovery takes months and some of it never comes back.

A proxy sits in front doing the wrong thing. A CDN in front of a host that also terminates TLS, configured in a mode that encrypts the visitor’s half and not the origin half. The padlock appears, the connection is not actually secure end to end, and it is easy to leave that way for years without noticing.

The order that avoids them

1. Inventory what the domain does. Before touching anything, write down every DNS record and what depends on it. Mail, the site, any subdomain, verification records for third party services. Migrations break things nobody remembered were there.

2. Build the new site and reach it without DNS. Every serious host gives you a temporary address. Get the site fully working there, including forms and anything server-side. Nothing about this step is visible to the public, which is the point.

3. Crawl the old site and keep the URL list. Every page, with its status code. This is your redirect map and your verification list later, and it takes minutes with a crawler.

4. Map old URLs to new ones. Every URL that changes gets a permanent redirect to its closest equivalent. Redirect to the specific page, not to the home page, which search engines treat as a soft 404 and which annoys people.

5. Lower the DNS time-to-live first. A day before the switch, drop the TTL on the records you are changing to five minutes. This is the step that makes the cutover reversible in minutes rather than a day, and it is the one most often skipped.

6. Copy the mail records exactly. MX, SPF, DKIM and DMARC, verified as correct on the new DNS before the switch, not after. Those records are covered in business email that lands in the inbox.

7. Switch, then watch. Change the records. Check the site, check the certificate, send a test email to an outside address and confirm it arrives.

8. Keep the old host running for a fortnight. It costs one more month of hosting and it means a mistake is a five minute rollback rather than a rebuild.

After the switch

The work is not finished when the site loads.

  • Re-crawl and compare against the list from step three. Every URL should return 200 or redirect once. A redirect chain of three hops is a slow page and a diluted signal.
  • Submit the new sitemap in Search Console and watch the coverage report for a fortnight. Errors show up there before they show up in traffic.
  • Check the certificate covers every hostname, including the www variant and any subdomain. A certificate that covers the apex and not www is a common and very visible mistake.
  • Confirm one canonical hostname. Pick www or the bare domain, permanently redirect the other, and make sure the site does not serve identical content on both.
  • Watch analytics against the same period last month, not against last week. Weekly comparisons on a small site are noise.

The traffic dip question

A well-executed migration where URLs do not change should produce no meaningful dip. If URLs do change, expect a couple of weeks of turbulence while redirects are followed and re-indexed, then recovery.

A dip that persists past six weeks is not the migration settling, it is something broken. Usually a redirect loop, a robots file copied from staging with a blanket disallow, or a noindex tag that came along from the development environment. All three are quick to find if you go looking and invisible if you do not. Staging environments leaking a noindex into production is common enough to be worth checking first, every time.

When to do it

Not on a Friday. Not before a holiday. Early in a week, in the morning, with the person who can revert available for the rest of the day. This is unglamorous advice and it is the difference between a small problem and a weekend.

If you would rather hand the whole thing over, tell us where the site lives now and who handles the email. Those two answers determine most of the plan.

Related: what hosting actually costs, local SEO for Alberta businesses, and our cloud and hosting work.

Further reading

Sections covered in Moving a website to a new host without downtime: The four classic failures, The order that avoids them, After the switch, The traffic dip question, When to do it
The shape of the argument, in order.

Get new articles by email

One email when something new goes up, roughly twice a month. Plain writing on what software costs and what is worth building. No sequences, no sales calls, and one click to leave.

We use it for the newsletter and nothing else. Unsubscribe any time.

Have something you need built?

Tell us what the problem is. You will get an honest read on whether it is worth building, what it would take, and roughly what it would cost. No pitch deck, no pressure.

Replies within one business day. Mon to Fri, 9am to 5pm MT.

Call Start a project