Migration

Zero Downtime Migration Checklist

Moving a live website feels risky because it is. Your site is taking orders, your email is receiving invoices, and one wrong DNS change can take both dark for hours. It does not have to go that way. A careful move is boring: copy everything first, prove the copy works, and only then change where the domain points. This is the exact checklist we follow on every DotMoose migration, and it is the same one you can follow yourself or hold us to, step by step.

Before anything changes

1. Capture the full DNS record, every line of it.

Before a single record is touched, save the complete zone: NS, A and AAAA records, every CNAME (including autodiscover and the DKIM selectors), MX, every TXT record (SPF, DMARC, verification strings), SRV and CAA. Pull it from public resolvers and from the source control panel where you have access. A nameserver-only check is not an audit. Most migration disasters trace back to a record nobody wrote down.

2. Name the mail provider from the MX record.

The MX record tells you where email actually lives. If it points at Microsoft 365 or Google, those records have to be recreated in the destination zone at cutover, exactly as they are. If mail is moving too, that gets planned here, not discovered after the switch when the invoices stop arriving.

3. Confirm the mailboxes on both sides.

List every mailbox, alias and forward that exists today, and confirm each one exists at the destination before cutover day. Email copied first, checked first. Nobody should find out on Monday morning that the accounts inbox never made the trip.

Copy, then prove the copy

4. Copy the site and the email to the new server.

Files, databases, mailboxes, SSL, all of it moves while your current site keeps running untouched. Nothing about this step is visible to your visitors. Your old host stays the live one for the whole copy.

5. Preview the site on the new server before any switch.

You look at your actual site running on the new server: pages, images, contact forms, checkout, logins. If something looks wrong, it gets fixed here, where a mistake costs nothing.

6. Run the parity check.

The preview gets compared against the live site. Content, functionality and mail flow have to match before anyone talks about switching. If parity fails, the move stops here and the rollback is simple, because nothing has changed yet. We only cut over on a copy that checks out.

The switch itself

7. Recreate the external mail records in the destination zone.

At cutover, the destination zone carries the full record set captured in step 1: MX, SPF, DKIM, DMARC, autodiscover, plus any verification TXT records. This is the step that keeps Microsoft 365 or Google mail working through a hosting move, and it is the step sloppy migrations skip.

8. Change the DNS, then leave the old site live.

The records point at the new server, and the old site stays up until DNS settles everywhere. Visitors land on whichever copy their resolver reaches, and both work, so there is no gap for anyone to fall into. No downtime window, no late-night maintenance page.

9. Verify on the live domain, then close out.

Forms, checkout, email sending and receiving all get tested on the real domain after the switch. Only once everything passes does the old hosting get wound down, on your say-so, not ours.

If anything goes wrong

Rollback stays ready the whole way. Because the old site never stopped running, a failed preview or a bad cutover means pointing DNS back and carrying on with your day. The worst case in a careful migration is a delay, not an outage.

Free assisted migration comes with every DotMoose plan, for every customer, always. It is not a promotion and it is not limited. If you would rather watch this checklist get followed than follow it yourself, that is the normal way our moves happen.

Your next step

Grab a spot in the early Black Friday batch: FILL25 takes 80% off your first 4 monthly invoices on Shared or Managed WordPress, then the flat CAD price applies, with no renewal jump waiting for you later. The batch closes November 30, 2026. Bring your current host's name with you and we will start at step 1.

Planning a move?See Easy Migrate