» Sign up with your new webhost and do not cancel you existing old hosting account. Make sure that you don’t let them know that you will be cancelling.
» After you have the details for the new existing account and your website is working from the old host server. Now you can start the migration of your website data from old host to the new host via old host FTP and then download all the files. After this connect to the new host FTP and upload all the files.
» Make sure to backup any databases on the old webhost and then upload the backup files via FTP to new webhost. The databases restoration can be done via phpMyAdmin of cPanel or SSH. The emails from the old host can be archived by making connection of each email address with POP3 by doing so all the old email will be downloaded to your local machine/computer. The new host will be able to receive the new emails but the old emails as already downloaded to your local computer would be available only locally.
» If you are having cPanel as hosting control panel in both old and the new host, then if provided by the new host your old emails may also be transferred.
» When on both the hosting account you have a copy of your website, it is now time to change the DNS of your domain.
» After you have confirmed the files on both of the hosting account. You may then update the Nameservers that are provided by the new host in your domain control panel.
» After the change to the DNS has been made, it will take around 48 hours approximately for your website to load from the new hosting server. In the meantime there will be a global DNS propagation of your website and it would be loading randomly from the old or the new host servers.
» Once the 48 hours is over and the DNS you updated is fully functional, your website is loading from the new host. You may contact your old host and cancel your old hosting plan.
Note: to reduce the time taken for propagation, after the website content is transferred, create an A record in the existing DNS. This will redirect all the visitors to the new web server, it is much quicker than time required for the propagation of the nameservers. For delivery of emails to the new servers make a MX record by doing so we avoid the waiting time for email delivery during propagation. It is wise to have MX records and A records pointing to the new hosting servers. After this is done the Nameservers can be changed according to you anytime.