Maybe your old web hosting provider has a very poor technical support, or excessive web server down time, or may be not even meeting your basic hosting requirements or otherwise you discover a cheaper web hosting service etc. Many a time people do tolerate less than great service from their hosting provider merely because it can be really painful to move your site, considering your domain name and your email accounts with minimum downtime for you and your site visitors. It can be like moving your home real messy and sometimes even lots of other problems. In spite of all the reasons, now that you have found a new web hosting service and have decided to transfer your website from your current web host to the new web host. You need to fallow certain step-by-step guide to achieve a painless and hassle free movement to your new web hosting provider.
Firstly, you need to download all current files used in your web site including graphics, html files etc that may be used in your site. Also make sure when you are transferring your files you may want to keep the directory structure exactly as it is on your web server. Ideally, it is better to plan the transfer process at least one month before you terminate your old web hosting plan, this will give you sufficient time to perform a smooth transfer. If you try to transfer in less than one month time frame, may probably put your website in risk of inaccessible.
What type of site do you have, basic html or with lots of specific features? You need to consider your site needs, before selecting a host that can provide what you need. These days many hosts do allow you to either handle the domain name change yourself or otherwise. Your domain name should not get switched faster than you can get your new files transferred, so you may as well want to handle the domain name change yourself. Your new web hosting account usually will be set up within 24 hours.
While you are waiting for your new web hosting account to be ready, you need to take a backup all your web files on the old web hosting provider. Make sure you take a backup of anything and everything you can. Try and save at least 2 copies one for you to work with, and the other as an archive. It is advisable not to underestimate how easy it is to make a copy of these files because it is possible you may just simply mess it up. You may already have all the files of your website on your local computer; however, it is always advisable to backup all your files from the old web server. You can also create a directory structure that is similar to the old one on your web server and download the files into the respective directory.
Before you make changes to your domain name, make sure you load up all the files to your new host using temporary login information. Most hosts do provide temporary login information prior to your domain name resolving to the new account. Even though they won't really work yet, you can still go ahead and set up all the email accounts that are used on your domain. Do not forget to create a "catchall" address just in case you miss out someone - at least their email will not bounce back.
It doesn't matter what registrar you used to register your domain, you can initiate the name change. Technically speaking the only thing that changes in your record is the name server information. Updating the technical contact info on your domain name record to your new host is also a good idea, although that is not mandatory.
Depending on your domain registrar, you need to get one or more emails confirming the domain name change. Once the change has been initiated it usually takes around 24 to 48 hours for you and your users to see the change. This period is generally called propagation. All the DNS servers around the globe take the same amount of time to "catch up" and take note of your domains new location. Once the propagation course is completed you are free to safely cancel service with your previous host.