Moving hosts sounds risky and mostly is not, provided you do it in the right order. The principle is simple: get everything working on the new host before you point anyone at it, and do not cancel anything until you are sure.
Many hosts will do the migration for you, often free for the first site. Ask before doing it manually — it is frequently the fastest and safest route.
Before you start
Take your own full backup. All files and all databases, downloaded to your own machine. Do this regardless of what either host offers. It is your safety net and it costs nothing.
Write down what you have. Domains and where they are registered, email accounts and forwarders, cron jobs, SSL certificates, any custom server configuration, PHP or runtime version, and any third-party services pointing at your server.
Check the new host matches. Same or newer runtime version, required extensions available, same database version or compatible. Discovering this after moving is the usual cause of a broken migration.
Lower your DNS TTL. Several days before the move, reduce the time-to-live on your DNS records to a short value such as 300 seconds. This means when you change the records later, the internet picks up the change quickly instead of caching the old address for hours.
Setting up on the new host
Create the hosting account and add your domain, but do not change any DNS yet. Upload the files and import the databases. Recreate email accounts, cron jobs and any server configuration.
Update configuration files with the new database credentials — this is the step most often forgotten, and it produces a site that connects to nothing.
Testing before you switch
This is what makes the migration safe. You need to view the site on the new server while the live domain still points at the old one.
The most reliable method is editing the hosts file on your own computer to map your domain to the new server's IP address. Your machine then sees the new site while everyone else still sees the old one. Most hosts document this, and it lets you test thoroughly with the real domain name.
Test properly: every main page type, forms, logins, the checkout if there is one, image loading, search, and the admin area. Check for mixed content or hardcoded old paths.
Making the switch
When you are satisfied, point the DNS at the new host — either by changing the nameservers or by updating the A records, depending on how your DNS is managed.
Propagation is quick if you lowered the TTL, though some networks cache longer. For a period, some visitors will reach the old server and some the new one. This matters for sites where data changes — a shop can take orders on the old server that do not exist on the new one.
For sites with active data, the usual approach is to put the old site into a read-only or maintenance state briefly, take a final database export, import it to the new server, then switch. For a static or low-traffic site, none of that is necessary.
Email is the part that catches people out
If your email runs on the hosting account, changing nameservers moves the mail routing too. Messages may be delivered to whichever server the sender's DNS resolves to during the transition.
Set up all mailboxes on the new host in advance, and download or copy existing mail before the switch. If email is critical, consider moving it to a dedicated email provider rather than tying it to whichever host you happen to use — that makes every future hosting change far simpler.
After the switch
- Install and verify the SSL certificate on the new host, and confirm the site loads over HTTPS with no warnings.
- Check that redirects from HTTP to HTTPS and from any non-canonical domain forms still work.
- Send and receive a test email in both directions.
- Verify cron jobs are running.
- Confirm backups are configured on the new host.
- Check the site in a search console tool for crawl errors over the following days.
- Watch server error logs for the first week.
Do not cancel the old account yet
Keep the old hosting running for at least a couple of weeks, ideally a month. It costs one more billing period and it means that if something surfaces — a file you missed, an email account nobody mentioned, a subdomain you forgot — the original is still there.
Cancel only once you are confident, and take a final backup of the old account before you do.