Hosting Migration Checklist: 15 Essential Steps

Migration without planning = downtime and losses. 15 steps from backup to final testing — ensuring smooth migration without surprises.
Hosting Migration: 15 Steps You Cannot Skip
Migrating your website or application from one provider to another is a sensitive operation. A single mistake means site downtime, data loss, or email that stops working. A clear and organized hosting migration checklist protects you from all of this.
This list covers every step from planning to verifying a successful migration — whether you are moving a simple your website site or a complete system with multiple databases.
Planning Phase (Before Any Changes)
Step 1: Inventory Everything on the Current Server
Before starting, document everything:
- Number of sites and file paths
- Databases with names and sizes
- Email accounts and their messages
- SSL certificates (source and expiry date)
- Cron jobs and scheduled tasks
- Current DNS records (copy them completely)
- Installed software and versions (PHP, MySQL, Node.js, etc.)
Step 2: Choose the New Provider Carefully
Key criteria:
- Server location (if your clients are in Saudi Arabia, choose a Saudi server)
- Available specs (RAM, CPU, storage)
- Hosting type (shared or VPS)
- Technical support and communication channels
- Backup policy
- Pricing and contracts
Step 3: Create Your Account at the New Provider
Register, pay, and obtain login credentials. Do not begin migration until the new server is ready and tested.
Backup Phase (Do Not Skip)
Step 4: Take a Complete Backup
- All website files (public_html or /var/www)
- All databases (mysqldump or phpMyAdmin export)
- Configuration files (.htaccess, php.ini, nginx.conf)
- Email messages (if needed)
Important: Store the backup in a third location (not the old server, not the new one). Google Drive or an external disk.
Step 5: Document Current DNS Settings
Copy all DNS records exactly:
- A records
- CNAME records
- MX records (email)
- TXT records (SPF, DKIM, DMARC)
- Any other records
You need this information if something goes wrong — you can revert to old settings immediately.
Migration Phase (Execution)
Step 6: Prepare the New Server
- Install the same software versions (PHP, MySQL, etc.)
- Create users and databases
- Install control panel (if shared hosting: cPanel)
- Apply basic security settings (firewall, fail2ban)
Step 7: Upload Files
- Use SCP or SFTP for direct transfer between servers
- Or upload from your backup
- Verify file permissions after upload
Step 8: Import Databases
- Create the database and user on the new server
- Import the backup
- Update configuration files (like application config or .env) with new connection details
Step 9: Test on the New Server Before Changing DNS
Use your local hosts file to point the domain to the new server on your machine only:
# In hosts file
123.456.789.0 yourdomain.com
Browse the site and verify:
- Homepage loads
- Admin panel works
- Forms submit
- Images display
- SSL works
Switchover Phase (The Critical Moment)
Step 10: Take a Final Backup
Just before changing DNS, take one last backup from the old server. Reason: between the first backup and now, new data may have been entered.
Step 11: Change DNS
Update the A record to point to the new IP address. Be aware:
- DNS propagation takes 2-48 hours
- During this period, some visitors reach the old server and some reach the new one
- Do not delete anything from the old server during this period
Step 12: Reconfigure Email
- Create email accounts on the new server
- Update MX records
- Update SPF, DKIM, and DMARC records
- Test sending and receiving from an external account
Verification Phase (Do Not Rush)
Step 13: Monitor the Site for 72 Hours
After changing DNS:
- Check the site every hour on the first day
- Test all core functions
- Monitor error logs
- Verify email delivery
Step 14: Reinstall SSL
If using Let's Encrypt, renew the certificate on the new server after DNS propagation. Paid SSL certificates require manual reinstallation.
Step 15: Keep the Old Server for 30 Days
Do not cancel the old server immediately. Keep it for 30 days as a safety net:
- In case you discover a missing file
- In case some data did not transfer
- In case you need to revert to old settings
After 30 days without issues: cancel the old server.
Common Mistakes to Avoid
| Mistake | Result | Solution |
|---|---|---|
| No backup | Data loss | Step 4 |
| Changing DNS before testing | Site broken for everyone | Step 9 |
| Forgetting MX records | Email stops working | Step 12 |
| Deleting old server immediately | No rollback possible | Step 15 |
| Not updating config files | Database connection errors | Step 8 |
Final Advice
Migration is a technical process that requires focus. If you are unsure, involve your developer. CLOUD offers free support sessions for client developers during migration — guidance is free, execution is the developer's responsibility. This ensures migration is done correctly the first time.
Get Started
Want to try it yourself? Choose the right hosting plan or build your custom server with the specs you need.
