Plan the migration
Confirm that the new hosting environment supports your website's software, runtime versions, database, and required extensions. Check storage, resource limits, backups, and access credentials before starting. Choose a low-traffic period if possible.
Make a complete backup
Back up website files and databases, and verify that the backup can be read. Document configuration values, scheduled tasks, redirects, and any external integrations. Email may be hosted separately, so identify its current provider and preserve the relevant DNS records.
Copy and test on the new host
Transfer the files and database, then update configuration values such as database credentials and application paths. Use a staging URL or hosts-file test where possible to check the site before changing public DNS. Test login, forms, checkout, uploads, and other important functions.
Switch DNS carefully
When the new copy is ready, update the required DNS records or nameservers. If appropriate, lower the DNS TTL ahead of time to make the planned switch easier to manage. Keep the old hosting active until the new site and all essential services have been verified.
Check HTTPS, email, and background tasks
Confirm that the TLS certificate works, email records remain correct, and scheduled tasks or integrations are running. Monitor logs and error messages after the switch. Some DNS caches may continue directing visitors to the old server for a while.
Keep a rollback plan
Keep the original backup and hosting account until you are confident the migration is successful. If a critical problem occurs, use your documented rollback plan rather than making rushed changes without a backup.