Why Switch Hosting Providers?
There are many valid reasons to migrate your website: slow load times, unreliable uptime, poor support, or simply finding a better deal. Whatever your reason, a careful migration plan ensures you move without losing data or search rankings.
Before You Start: Migration Checklist
- ✅ Sign up for your new hosting account
- ✅ Note your current DNS settings (A record, MX records, CNAME records)
- ✅ Download a full backup of your website files
- ✅ Export your database
- ✅ Record all email accounts and forwarders
Step 1: Back Up Your Entire Website
Log in to your current host's cPanel and navigate to Backup Wizard. Create a full backup that includes:
- All website files (public_html folder)
- MySQL databases
- Email accounts and forwarders
- Cron jobs
Download the backup to your local computer. Never skip this step.
Step 2: Set Up Your New Hosting Account
After signing up with your new provider (such as Flyhost), log in to cPanel. Add your domain as an addon domain if it isn't your primary domain.
Step 3: Upload Your Website Files
Use cPanel's File Manager or an FTP client like FileZilla to upload your website files to the public_html folder on the new server.
Tip: For WordPress sites, you can also use a migration plugin like Duplicator or All-in-One WP Migration to handle files and the database in one step.
Step 4: Import Your Database
- In your new cPanel, go to MySQL Databases and create a new database and user.
- Assign the user full privileges to the database.
- Open phpMyAdmin, select the new database, and click Import.
- Upload the
.sqlfile you exported from your old host.
For WordPress sites, update the wp-config.php file with your new database name, username, and password.
Step 5: Test Your Website Before Changing DNS
This is the most important step for zero-downtime migration. Test your new site before changing your DNS, using the hosts file method:
- Find your new server's IP address from cPanel.
- Edit the
hostsfile on your computer (Windows:C:\Windows\System32\driverstc\hosts; Mac/Linux:/etc/hosts). - Add a line:
NEW.SERVER.IP.ADDRESS yourdomain.com www.yourdomain.com - Visit your website — you'll see the new server version while everyone else still sees the old one.
- Test all pages, forms, and checkout flows.
Step 6: Lower Your DNS TTL
Log in to your domain registrar or current DNS provider and reduce the TTL (Time to Live) to 300 seconds (5 minutes). Do this 24 hours before the switch — this ensures DNS changes propagate globally within minutes when you're ready.
Step 7: Update Your DNS Records
Point your domain's A record to your new server's IP address. Also update MX records if you're moving email hosting.
Step 8: Wait for DNS Propagation
DNS propagation typically takes 15–60 minutes when TTL is set to 300 seconds. Use a tool like dnschecker.org to monitor propagation across different countries.
Step 9: Cancel Your Old Hosting
Wait at least 72 hours after DNS has fully propagated before cancelling your old hosting. Keep access to the old account temporarily in case you need to recover anything.
Common Migration Mistakes to Avoid
- ❌ Not backing up before starting
- ❌ Forgetting to update
wp-config.phpwith new DB credentials - ❌ Cancelling old hosting immediately after changing DNS
- ❌ Forgetting to migrate email accounts
- ❌ Not testing the site before updating DNS
Migrate to Flyhost — Free Website Migration Service
Flyhost offers free website migration for all new customers. Our technical team handles the entire process — files, database, email, and DNS — with zero downtime guaranteed. Just raise a support ticket after signing up and we'll do the rest.
Conclusion
Migrating a website sounds daunting but is straightforward when broken into steps. Back up first, test before switching DNS, and keep your old account active for a few days. With the right approach, your visitors won't notice a thing.