Before you start
Take a full backup (files + database) and note your current PHP version, active plugins, and DNS settings.
Step-by-step
- Set up the new host first — install WordPress or use a migration plugin's connector before touching DNS.
- Clone files and database using a plugin like Duplicator/All-in-One WP Migration, or your host's built-in migration tool.
- Test on a temporary URL or via a local hosts-file edit so you can verify the new copy works before going live.
- Lower your DNS TTL 24–48 hours in advance so the eventual cutover propagates fast.
- Cut over DNS, then monitor the old host for a few days in case of any propagation delays.
Common mistakes
- Forgetting to update hardcoded URLs in the database.
- Not testing contact forms and payment integrations on the new environment first.
- Cancelling the old hosting plan before DNS has fully propagated.