Website Migration Checklist: Move Hosting Without Losing Traffic or Email
Most migration problems — broken email, lost rankings, missing files — come from skipped preparation. Use this checklist before, during and after the move.
Moving a website to new hosting should be invisible to visitors. When it is not, the cause is almost always preparation that was skipped: DNS changed too early, email records forgotten, a database exported with the wrong character set, or old URLs that stopped working. This checklist covers a typical PHP or WordPress site on cPanel, Plesk or a VPS.
Before the move
- List everything the domain does. Website, email, subdomains, API endpoints, verification records (Google, Microsoft), and any third-party services pointing at it.
- Export the current DNS zone. Copy every record, especially MX, SPF (TXT), DKIM and DMARC.
- Lower the DNS TTL to a few minutes at least a day before the move, so the switch propagates quickly.
- Take a full backup of files and databases, and confirm you can open the archive.
- Check versions. Match or deliberately upgrade the PHP version, and confirm required extensions exist on the new server.
- Crawl the current site and save the list of URLs, so you can check nothing goes missing.
During the move
- Copy files with permissions intact, and import the database using the same character set (normally
utf8mb4). - Update configuration files with the new database credentials. Keep secrets out of public folders.
- Issue an SSL certificate on the new server, or plan to issue it immediately after DNS switches.
- Test before switching DNS by pointing the domain to the new server in your computer's hosts file. Click through key pages, submit forms and log in to the admin.
- Recreate cron jobs and scheduled tasks.
The cut-over
- Update the A/AAAA records, or the nameservers if you are moving DNS too.
- Recreate the email records exactly. If email is hosted elsewhere (Google Workspace or Microsoft 365), make sure MX records still point there.
- Keep the old server running for at least a few days, in case a request still reaches it.
After the move
- Check that HTTPS works on both the www and non-www versions and that one redirects to the other.
- Re-crawl and compare with your saved URL list. Any changed URL needs a 301 redirect to its new address.
- Send and receive test emails from external addresses.
- Watch Search Console for crawl errors and the server logs for 404s and 500s.
- Set backups up on the new server and restore one as a test.
- Raise the DNS TTL back to a normal value.
Common mistakes
- Switching DNS before testing on the new server.
- Forgetting DKIM or SPF, which pushes company email into spam.
- Changing URL structure at the same time as moving hosting, without redirects.
- Cancelling the old hosting on the same day.
If you would rather not handle this yourself, my hosting management service covers migrations end to end, and my technical SEO work includes redirect mapping for redesigns. Tell me about your move.