Switch Web Hosts Without Downtime: 9-Step Business Plan

Quick answer: Keep the old host running, lower your DNS TTL a day early, copy both files and database, test the new copy using your hosts file, then point your domain to the new server. Cancel the old plan only after at least a week.↗ Share on X
To move your small business website to a new host safely, keep the old host running until the new one is fully tested, lower your DNS "TTL" a day before the switch, copy both your files and your database, test the new copy with a hosts-file trick, and only then point your domain to the new server. Cancel the old plan at least a week later. Done in that order, most visitors never notice the move, and you always have a working copy to fall back on.
Below is the full step-by-step plan, a checklist you can print, and the mistakes that cause most broken migrations.
What exactly are you moving?
Key Factors That Influence Website Speed on Shared Hosting for Small Businesses →
Hidden Costs of Cheap Web Hosting You Never See →
How to Estimate Monthly Bandwidth Needs for a Small Business Site →A website is usually four separate things. People forget one of them and then wonder why something broke.
| Piece | What it is | Where it lives |
|---|---|---|
| Files | Pages, images, themes, plugins, code | Your hosting account (often in `public_html`) |
| Database | Posts, products, orders, users, settings | MySQL or MariaDB on the host |
| Your `you@yourbusiness.com` inboxes | Often at the host, sometimes at Google or Microsoft | |
| DNS | The "address book" that sends your domain to a server | Your domain registrar, your host, or a service like Cloudflare |
Before you start, write down where each of these four lives today. Email is the one that surprises people most. If your email is hosted at your old web host, moving the website and canceling the old account can delete every inbox.
Smart software picks in your inbox
Step 1: Take inventory and make a full backup
Log in to your current host and collect:
1. Your domain registrar login (where you bought the domain).
2. Current DNS records. Take screenshots or export them. You need the A record, CNAME records, MX records (email), and any TXT records (used for email verification and services like Google).
3. A full file backup. Download everything in your site folder as a zip file.
4. A database export. Use phpMyAdmin or your control panel's backup tool to export a `.sql` file.
5. Email accounts list and their passwords, if email stays with the host.
6. Any special settings: cron jobs (scheduled tasks), PHP version, redirects, SSL setup.
Store the backup in two places: your computer and a cloud drive. Never rely on a backup that lives only on the host you are leaving.
Step 2: Lower your DNS TTL 24 to 48 hours before the move
Free website hosting that really works for small business →
Unmasking Web Hosting Costs: A Startup's True Budget Guide →
How to Move Your Site from Shared to VPS Without Downtime →TTL means "time to live." It tells computers around the world how long to remember where your site lives before checking again. If your TTL is set to a day, some visitors could keep landing on the old server for up to a day after you switch.
What to do:
1. Open your DNS settings.
2. Find the A record for your domain (and `www`).
3. Change the TTL to a short value, like 300 seconds (5 minutes).
4. Wait at least as long as the old TTL before switching.
This one small step is what makes a switch fast and clean instead of messy.
Step 3: Set up the new hosting account
At the new host:
- Add your domain to the account, but do not change DNS yet.
- Match the PHP version your site uses today. A newer PHP version can break old plugins or themes.
- Create an empty database, a database user, and a strong password. Write down all three.
If you run WordPress, many hosts offer a free migration service or a migration plugin. That is fine to use. Still do Steps 1 and 2 yourself, because you want your own backup no matter who does the move.
Step 4: Copy files and database to the new host
For a typical site:
1. Upload your files using the host's file manager or an FTP/SFTP program like FileZilla. SFTP is the secure version of FTP.
2. Import the database `.sql` file into the new empty database using phpMyAdmin.
3. Update the connection settings so the site knows the new database name, user and password. In WordPress, this is the `wp-config.php` file. Other platforms have a similar config file.
Keep the domain name the same. You are moving the house, not changing the address.
Step 5: Test the new site before anyone sees it
This is the step most people skip, and it is the most important one. You want to see the site running on the new server while the public still sees the old one.
The easiest way is the hosts file trick:
1. Get the new server's IP address from your new host.
2. On your computer, open the hosts file:
- Windows: `C:\Windows\System32\drivers\etc\hosts` (open Notepad as administrator)
- Mac: `/etc/hosts` (open with Terminal using `sudo nano /etc/hosts`)
3. Add a line like: `203.0.113.10 yourbusiness.com www.yourbusiness.com` (use your real new IP).
4. Save, then open your site in a private browser window.
Now only your computer sees the new server. Check:
- Home page, main pages, and a few older pages load.
- Images show up.
- Contact forms send messages.
- Online store: add to cart, checkout page opens, payment page loads (use test mode if your payment tool has it).
- Logins work.
- The site loads fast enough on your phone connection.
When done, remove the line from the hosts file so your computer goes back to normal.
Step 6: Set up SSL on the new host
SSL is what gives you the padlock and `https://`. Without it, browsers warn visitors your site is "not secure," which scares customers away.
Most hosts offer free SSL (often through Let's Encrypt). Some can only issue it after DNS points to them. In that case, plan to turn it on right after Step 7 and check it within the hour.
Step 7: Switch DNS at a quiet time
Pick the slowest time for your business. For many local businesses that is a weekday late at night or early morning. Look at your analytics if you have them.
1. Freeze changes on the old site. Pause new blog posts, and if you have a store, consider a short maintenance message so no orders land on the old server after your last database copy.
2. If anything changed since Step 4 (new orders, new form entries), export and import the database one more time.
3. Change the A record (and `www`) to the new server's IP.
4. Do not touch the MX records unless you are moving email too. Changing them by accident is how inboxes go silent.
5. Keep the short TTL for now.
Step 8: Check everything after the switch
Within the first hour:
- Visit the site from your phone on mobile data (not your Wi-Fi).
- Use a free "DNS propagation checker" website to see if servers in other countries see the new IP.
- Confirm the padlock (SSL) shows up.
- Send a test message through your contact form.
- Send and receive a test email.
Over the next few days:
- Watch for error emails from forms or your store.
- Check Google Search Console (if you use it) for sudden crawl errors.
- Once all is stable, raise the TTL back to a normal value, like 3600 seconds (1 hour).
Step 9: Cancel the old host — but not yet
Wait at least 7 days before canceling the old account. Before canceling:
1. Download one final backup from the old host.
2. Double-check no email, subdomain, or small tool still points there.
3. Check if you prepaid for a longer period and whether a partial refund is possible.
Canceling too early is the most common way small businesses lose data they did not know they had.
Printable migration checklist
| # | Task | Done? |
|---|---|---|
| 1 | Write down where files, database, email, DNS live | ☐ |
| 2 | Full file backup saved in two places | ☐ |
| 3 | Database exported (.sql) | ☐ |
| 4 | DNS records screenshotted | ☐ |
| 5 | TTL lowered 24–48 h before | ☐ |
| 6 | New host set up, same PHP version | ☐ |
| 7 | Files and database copied, config updated | ☐ |
| 8 | Site tested with hosts file | ☐ |
| 9 | Final database sync before switch | ☐ |
| 10 | A records changed, MX untouched | ☐ |
| 11 | SSL active on new host | ☐ |
| 12 | Forms, email, checkout tested live | ☐ |
| 13 | Old host kept 7+ days, final backup taken | ☐ |
Mistakes that break most migrations
- Moving files but forgetting the database. The site loads but shows errors or an empty page.
- Changing nameservers instead of just the A record without copying all DNS records first. Email and other services vanish.
- Canceling the old host the same day. No safety net if something was missed.
- Skipping the test. You find the broken checkout when a customer complains.
- Upgrading PHP and moving at the same time. Do one change at a time so you know what caused a problem.
When should you pay someone to do it?
Do it yourself if your site is small, like a few pages and a contact form. Consider paying a developer or using your new host's migration service if you have an online store with daily orders, custom code, several sites on one account, or email you cannot afford to lose even for an hour.
Your next step
Today, open your current hosting account and fill in the first row of the table at the top: where your files, database, email and DNS live. Then lower your TTL. Those two actions take under 30 minutes and remove most of the risk from the move you are about to make.
FAQ
Will my website go down when I change hosts?
If you keep the old host running, lower the TTL a day early and test before switching DNS, most visitors will not notice any downtime.
Will I lose my business email when I move my website?
You can, if email is hosted at your old web host and you cancel the account or change MX records by mistake. Check where email lives before you start and leave MX records alone unless you are moving email on purpose.
How long should I keep my old hosting after the move?
Keep it at least 7 days, take one final backup, and confirm nothing still points to it before canceling.