Moving a WordPress site without any downtime
A practical order of operations for migrating WordPress to a new host, including the two steps people usually get backwards.

Most migration horror stories come from the same mistake: cancelling the old hosting before the new one is genuinely ready. The DNS change is the last step, not the first, and everything gets easier once you accept that.
Here is the order we walk customers through.
1. Set the site up on the new host first
Create the hosting account and add the domain, but do not point DNS at it yet. Your live site carries on serving from the old host, entirely undisturbed, while you work.
2. Copy the files
Download wp-content and anything else you have customised. Upload it to the new
account over SFTP. WordPress core does not need copying: install a fresh copy of
the same major version and drop your content on top of it.
3. Copy the database
Export from the old host with phpMyAdmin or WP-CLI, then import on the new one.
Update wp-config.php with the new database name, user and password.
# on the old host, if you have shell access
wp db export backup.sql
# on the new host
wp db import backup.sql
4. Test before you switch
This is the step people skip, and it is the one that saves the migration. Edit
your local hosts file so that your machine, and only your machine, resolves the
domain to the new server:
203.0.113.10 example.com www.example.com
Now browse the site properly. Log in. Check the cart. Submit a form. Look at a few posts. You are seeing exactly what the world will see after the DNS change, while the world is still safely on the old host.
5. Lower your DNS TTL, then switch
At least a day before the switch, drop the TTL on your A record to 300 seconds. This tells resolvers to check back every five minutes rather than caching the old answer for hours.
When you are ready, change the record. Because the TTL is low, the world moves across in minutes rather than a day.
Do this the day before, not at the same time. A TTL change only takes effect after the old, longer TTL has expired, so lowering it at the moment you switch achieves nothing.
6. Sort out email separately
Email is the single most common casualty of a migration, because MX records are a different thing to your website's A record. If your mail is with a third party, copy the MX, SPF, DKIM and DMARC records to the new DNS before you switch.
7. Leave the old host running for a week
Keep paying for it. It costs a few pounds and it means that if something turns up that you missed, you can put the DNS back while you fix it. Cancel once a full week has gone by without a surprise.
If you would rather not do this alone, tell us about the site before you cancel anything and we will walk it through with you. Most moves happen with no visible downtime at all.

