CLOUD
Guides

Hosting Migration Checklist: 15 Essential Steps

CLOUD|June 28, 2025|4 min read|663 views
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.

Share