Migrating a site to a new host scares people mainly out of fear of downtime and data loss. In reality, done in the right order, the move is invisible to visitors. The core principle is one: first fully deploy and test the site in its new home, and only then switch the domain. Below is a step-by-step plan that works for a simple site and a store alike.
The order: full backup → move files and database to the new host → test on a temporary domain → lower TTL → change DNS → monitor and only then drop the old host. The key to 'no downtime' is testing BEFORE the switch.
When and why to migrate
Typical reasons to move: a slow or unstable host, a high renewal price, lack of resources, poor support or the need for a better location for your audience. If you're hitting one of these, a move is justified. Many providers offer free migration by their support team; ask right away — they may do it all for you.
Preparation: backup and checklist
Before touching anything, make a full backup. It's your insurance against any mistake:
- Site files (via FTP/SFTP or an archive in the panel).
- The database (export via phpMyAdmin or the console).
- Mailboxes, if mail is on the same host.
- A list of subdomains, cron jobs, SSL certificates and PHP settings.
- Domain (registrar) access — you'll need it to change DNS.
Step-by-step migration
- Create an account and the needed environment on the new host (PHP version, database).
- Upload the site files to the new server.
- Create the database and import the dump; set the new connection details in the config (e.g. wp-config.php).
- Move mail and recreate cron jobs and subdomains.
- Reissue or transfer the SSL certificate (Let's Encrypt usually installs in a couple of clicks).
Test on a temporary domain before DNS
This is the most important step beginners skip. Most hosts give a temporary address or let you check the site via the hosts file on your computer — so you open the site from the new server while the domain still points to the old one. Check the homepage, a few internal pages, forms, the cart and checkout (for a store). No DNS switch until the site works flawlessly in its new home.
Changing DNS without downtime
A day before the move, lower the domain records' TTL (e.g. to 300 seconds) so changes propagate fast. On switch day, change the A record (or NS) to the new server. Because the site already runs on both servers (the old one is still live), visitors won't notice the transition: some see the old server, some the new, both working. Full DNS propagation can take up to 24–48 hours.
Common mistakes
- Changing DNS before the site is tested on the new host.
- Deleting the old host right away — keep it active for about another week.
- Forgetting to move mail and cron — emails and background jobs 'vanish'.
- Not updating the database connection details — the site shows an error.
- Ignoring SSL — after the move the site opens with a warning.
A zero-downtime move isn't about speed but about order. First the site fully lives on the new server, and only then you touch DNS. Then the switch becomes a routine non-event.
Tophosting editorial
Bottom line
Migrating a site is a sequence of careful steps, not a leap into the unknown. Make a backup, deploy and test the site on the new host, lower TTL and only then change DNS, and keep the old server for another week. If you'd rather not do it yourself, many providers migrate for free. You can pick a reliable new host with free migration in our catalog by reviews and terms.
