Migrating a WordPress site sounds simple until the live site shows a blank page, images point at the old domain, or email stops working. Almost all of that is avoidable. The core principle is staging: build and test the complete new copy before anyone's traffic moves, so the switch itself is a short, reversible DNS change rather than a construction project on the live site.
Before you touch anything
Start with a full backup of files and database, stored somewhere other than the server you are leaving. Record the details that migrations commonly break: DNS records, email settings, SSL certificate, cron jobs, and any hardcoded paths or API keys. Note the site's current PHP version and plugin list, and confirm the new host supports them. A short written checklist here prevents most of the panicked troubleshooting later.
Build the new copy on staging
Copy files and database to the new host, then run a careful search-and-replace for the domain if it is changing, using a tool that handles serialised data correctly — a naive text replace corrupts widget and plugin settings. Test the staging copy thoroughly: homepage, key pages, forms, checkout, search and admin login. Fix every issue on staging, where mistakes cost nothing, and keep the old site untouched as your fallback.
The switch itself
Lower the DNS time-to-live a day or two ahead so the change propagates quickly, then point the domain at the new host at a quiet time. Expect a short propagation window during which some visitors still reach the old site; that is normal and harmless if both copies work. Reissue or verify SSL on the new host immediately, and check that email routing still works, since DNS changes are the usual cause of surprise email outages.
After the move: verify everything
Run a post-move checklist within a day: search the site for old-domain links, test forms and checkout end to end, check Search Console for crawl errors, and confirm backups are running on the new host. Keep the old hosting for a week or two before cancelling, just in case. A migration done this way typically feels uneventful — and uneventful is exactly what a good migration should feel like.
Want help putting this into practice for your own business? Get in touch and tell me about your project — I will give you a straight answer on the best next step.