The website migration checklist
Every task a website move involves, grouped into before, during, on switch day, and the week after.
A website migration has a lot of small parts, and almost none of them are individually difficult. What causes trouble is forgetting one, or doing them in the wrong order. This checklist groups everything into four stages — before, during, on switch day, and the week after — so you can work down it rather than trying to hold the whole job in your head.
Copy first. Test second. Switch DNS last. Every item below exists to support that order. If you only remember one thing, remember that.
Before you start
- Take a full backup of the current site — files and database — and store it somewhere other than the old server.
- List everything that is not a file: mailboxes, forwarders, cron jobs, SSL certificates, DNS records for services you had forgotten about (verification TXT records, subdomains, MX records).
- Set up the new hosting account: add the domain, create the database and user, and match the PHP version the old host was running.
- Note the old host's DNS settings before you leave — the current nameservers and any custom records — in case you need to compare them later.
- Lower the TTL on the domain's DNS records a day or two ahead, so the eventual switch takes minutes rather than hours. See how DNS propagation actually works if this step is new to you.
While you copy the site across
- Upload the files into the web root of the new account, including hidden files such as
.htaccess— most FTP clients hide these by default. - Import the database into the empty database you created, using phpMyAdmin for small exports or the command line for anything too large for the browser to upload.
- Update the configuration file with the new database name, user and password —
wp-config.php,.env,configuration.phporsettings.php, depending on the platform. - Recreate mailboxes on the new host if email is moving with the site, and copy existing mail across before DNS changes.
- Recreate cron jobs — they never travel with a file copy and are one of the most commonly forgotten items.
Before you switch DNS
Do not skip this stage. Add a temporary entry to your own hosts file so your computer alone loads the new server while everyone else still sees the old one, then work through the site properly.
- Home page and several inner pages load correctly, with images and styling intact.
- Any form that submits — contact, search, account login — actually works.
- The admin area logs in and behaves normally.
- For a store: adding to basket and reaching checkout both work.
- No mixed-content warnings, broken links, or database connection errors.
Full instructions for the hosts file step are in previewing a site with your hosts file, and a fuller testing pass is in testing a migrated site before going live.
The day you switch
- Confirm the TTL is already low
If you lowered it a day ahead as recommended above, the change will now spread quickly rather than taking hours.
- Change the nameservers or the relevant DNS record
Copy the values shown in your new host's control panel or welcome email — never type in figures from memory or from an old screenshot.
- Remove the hosts file entry
Delete the line you added earlier. Left in place, your own machine will keep loading the new server directly and you will never see a genuine DNS problem if one occurs later.
- Check the site from a network you do not control
Mobile data on your phone, with Wi-Fi off, is the fastest way to see what the rest of the world is now seeing.
The week after
- Keep the old hosting account active. Do not cancel it yet — some visitors are still being routed there until DNS finishes spreading everywhere.
- Watch for forms that stop sending, scheduled tasks that silently stop running, and email that keeps arriving at the old server.
- Check search-engine indexing has not changed and no pages are returning errors — see what to check after a migration.
- Once a full week has passed cleanly, take one final backup of the old account, then cancel it.
| Stage | Main risk if skipped |
|---|---|
| Before | Missing item discovered mid-move (mailbox, cron job, TXT record) |
| During | Site copied but pointed at the wrong database, or missing hidden files |
| Before switching DNS | A broken new server goes live the moment DNS changes |
| The week after | Old host cancelled before every visitor has reached the new one |
A note on scope
This checklist is written for a like-for-like move: same domain, same URLs, a different server behind them. If you are also changing domain, rebuilding the site's structure, or moving off a hosted website builder, treat this as the hosting half of a larger project rather than the whole thing — the URL and redirect planning for those situations is covered separately in moving to a new domain and moving off a website builder.
Working from the list rather than memory
A migration that fits in your head feels manageable right up until something interrupts you — a phone call, an unrelated urgent task, a day that simply runs long. Working from a written list rather than memory means picking the job back up an hour, or a day, later costs nothing: you can see exactly which stage you reached and what is still outstanding, rather than trying to reconstruct it from scratch.
Website migration is included free with our hosting plans. Send us your current host's details and we will handle each of these stages and tell you exactly when it is safe to switch.
Related reading
Copy first, test second, switch DNS last. Get that order right and a migration is boring — which is exactly what you want.
What to check after a migrationSwitching DNS is the middle of a migration, not the end — the week that follows is where the real risks actually surface.
How to pick the right time to migrateThe best migration window is the quietest one you have, with enough slack afterwards that a surprise does not become a crisis.
Is website migration free?Yes — website migration is included free with our hosting plans, with no separate charge for the move itself.