Moving your website to a new host doesn't have to mean hours of downtime. Follow this checklist to migrate with minimal disruption.
Before you start
- Back up everything from your current host (files, databases, email accounts)
- Keep your old hosting active during the migration process—don't cancel it yet
- Gather all FTP/SSH credentials, database backups, and email account details
- Note any custom DNS records, SSL certificates, or special configurations
- Have your new hosting login details ready
Step 1: Set up your site on the new host
Before touching DNS, get your site fully working on the new server.
Upload your files:
- Download all site files from your old host via FTP or file manager
- Upload them to your new host in the same directory structure
- Pay special attention to .htaccess, config files, and hidden folders
Recreate your database:
- Log in to your new host's control panel
- Create a new database and database user (note the credentials)
- Import your database backup from the old host
- Update your site's database connection settings (config file, wp-config.php, etc.) with the new database name, username, and password
Test thoroughly:
- Update your computer's hosts file to point yourdomain.com to your new server's IP (ask your new host for this)
- Add yourdomain.com to the hosts file on your local machine:
- Windows: C:\Windows\System32\drivers\etc\hosts
- Mac/Linux: /etc/hosts
- Add the line: your-new-server-ip yourdomain.com www.yourdomain.com
- Visit yourdomain.com in your browser and verify everything works—pages load, images display, forms submit, etc.
- Remove the hosts file entry when testing is complete
Migrate email (if hosted with you):
- Create email accounts on your new host with the same addresses
- Download all email from the old host using IMAP/POP3
- Import to the new host (most control panels have an import tool)
Step 2: Lower your DNS TTL
Before changing nameservers, reduce your DNS TTL (Time To Live) to speed up propagation of the change.
- Log in to your current domain registrar
- Find the DNS or nameserver settings
- Locate the TTL value (usually 3600 or 86400 seconds)
- Lower it to 300 seconds (5 minutes)
- Save the change and wait 30 minutes for it to take effect
A low TTL means old DNS records will expire quickly, so the new nameservers point faster worldwide.
Step 3: Switch your nameservers
Once your site is fully tested on the new host and working perfectly, update your nameservers.
- Log in to your domain registrar (the company where yourdomain.com is registered)
- Find the DNS or Nameserver settings
- Replace the old nameservers with your new host's nameservers
- Save the change
Important: DNS propagation can take 24–48 hours. During this time:
- Some visitors will see your old site, others the new site
- Email might be temporarily delayed
- This is normal and expected
Step 4: Monitor propagation
You can check how fast DNS is propagating globally using free tools:
- Visit a DNS propagation checker (search "DNS propagation checker")
- Enter your domain name
- Check back every 15 minutes to see how many nameservers worldwide have updated
Most visitors will be on the new host within 2–4 hours. After 24 hours, you can assume full propagation.
Step 5: Verify everything is working
Once DNS has mostly propagated (wait at least a few hours):
- Visit yourdomain.com from different devices (phone, tablet, computer)
- Check that your site is serving from the new host (DNS has updated)
- Test all pages, forms, downloads, and interactive features
- Verify email is working (send and receive a test message)
- Check that SSL/HTTPS is working (padlock icon visible)
Tip: Clear your browser cache or use an incognito/private window to see the real live version, not a cached old one.
Step 6: Increase your DNS TTL back
Once DNS has fully propagated (after 24+ hours) and everything is working:
- Log in to your new host's DNS settings (or registrar, depending on where DNS is hosted)
- Increase the TTL back to 3600 or 86400 seconds
- This reduces DNS query load on your provider
Step 7: Cancel your old hosting
Wait a full week before cancelling your old hosting, just in case you need to roll back. After one week of smooth operation:
- Check your billing portal for a cancellation option
- Cancel the old account
- Verify no charges appear in the future
Don't delete backups of the old host files—keep them archived for at least 30 days.
Troubleshooting common migration issues
Site shows "connection error" or doesn't load:
- Wait 24 hours for DNS to fully propagate
- Check that your domain's nameservers have actually been updated at your registrar
- Use a DNS propagation checker to confirm the change has spread
Email isn't working:
- Verify email accounts were created on the new host with identical addresses
- Check that MX records point to the new host (usually automatic when you change nameservers)
- If using an external email service (Gmail, Microsoft 365), make sure the MX records still point there
Old cached version still shows:
- Clear your browser cache completely
- Use an incognito/private window
- Try a different device or network
Database connection errors:
- Double-check the new database name, username, and password in your config file
- Ensure the username has proper permissions on the database
- Verify you're using localhost or the correct database hostname
Summary
A typical low-downtime migration looks like:
1. Day 1: Upload and test site on new host
2. Day 2: Lower DNS TTL, switch nameservers, monitor propagation
3. Day 3–7: Verify everything, monitor for issues
4. Day 8+: Cancel old hosting when confident
With careful planning and testing, your visitors will barely notice the move.