Moving a website to another host can be a stressful and frustrating experience. To help webmasters for a smooth and correct transfer, I have created this guidelines. Please read carefully to avoid costly mistakes. If you are not sure, check out list of webhosts that helps transfer.
The guides below can be DIY without knowledge of your current hosting provider and your visitors will not experience downtime.
Step 1 : Find a new webhost.
Step 2 : Findout who can manage/update your domain name information.
Step 3 : Backup all files & database.
Step 4 : Setup your new host with files & database.
Step 5 : Modify database config file.
Step 6 : Create email addresses.
Step 7 : Test, Test, Test.
Step 8 : Do the actual switching.
Step 9 : Check error logs, observe.
There are hundreds of quality web hosts, find what you need. Check out my shared hosting vs VPS, Top 10 Web Hosting, Best cPanel host. Cheap web hostings. Hope this helps.
Generally, this is what you should look for.
- Good technical support / service – 24×7 real support, not those outsourced support. Host with online chat, phone support is desirable.
- Hosting space – most host now claim offer unlimited space but the fact is their backup has upper limit. But generally if you use less than 5GB, I think it is alright.
- Data transfer limit – Most shared hosting offers unlimited bandwidth but reality is it is limit by hardware capacity & cpu usage. It just that they do not put a meter on your usage.
- CPU usage – if your site is simple with average 2 pages view per second, you are safe with shared hosting, if your sites (e.g. Drupal) which uses more processing power, it is better for you to get a VPS.
- Database – If you are using MySQL then most host comes with it, else you better check your new host support it.
- Control Panel – Easy to use control panel (e.g. cPanel) is desirable.
Step 2 : Findout who can manage/update your domain name information.
- Do you have access to the domain registration control panel ? If yes, Perfect, because you are require update the DNS setup of your domain to do such transfer else find out from your web designer or current webhost.
- You can also find the required information from “welcome email”. The email which contain the login/password information or whatever you need to know about your current web host.
Step 3 : Backup all files & database.
- The easiest & best way to backup all your files (exclude database) is to download it from your current web host control panel. e.g. If you are using cPanel, complete backup of your site is available at cPanel – > Files -> Backups .
You can one click download all your files to a tar.gz file (the easiest way!!)
- You can also download the entire database using the same method above.
- If you are using some other control panel, check out their respective support to complete the same task.
- Their support is worthless ?! Use FTP to download the entire home directory and Backup database using phpMyAdmin.
Step 4 : Setup your new host with files & database.
If you have signup for a new web host, most probably you have received a welcome email which contain all control panel login, password, ip address, DNS setting (e.g. ns1.yourhost.com, ns2.yourhost.com) and a temporary url (e.g. http://209.xx.22.xxx/~urname/ ) . You got what you need, follow steps below to setup your new host.
- Copy / upload your backup files to the new host using an FTP client.
- You may extract your files from your control panel if you are using cPanel. or SSH into your server to do the same or contact the technical support to extract it for you (perfect time to test how reliable is your new host)
- Create a new database from your control panel, a new user if required. Copy/save the database name/username/password to a safe place.
- Upload your mysql backup via phpMyAdmin (up to 8MB of file) or FTP it to your server and ask tech support to import it to your database.
Step 5 : Modify database config file.
If you are using some scripting like WordPress, Drupal or some kind of CMS, forum script, most probably you have to update the file accordingly or your site will not work.
- If you are using WordPress, edit wp-config.php file according to database name, user login/password you obtained in Step 4.
- If you are using Drupal, edit site/settings.php file.
- If you are using Joomla, edit configuration.php file.
There are many more script available but I can’t list all above, you can always google “yourscript name database config file” for solution.
Step 6 : Create email addresses.
To make sure you don’t miss any email messages during the transition, you may want to set up your new email account right away. Whatever you do, make sure you are still able to access your old email account at the same time because you might receive email messages at both accounts for 2-4 days.
Follow your new host’s recommendations for setting up your email account using Pop 3 or smtp. If you use autoresponders, forwarding or aliases, you can usually set those up in your control panel. If your previous host has a mailing list functionality, you will want to export all the contacts and populate your new mailing list software or site with those contacts before switching sites.
Your new site is not live yet, your visitors can’t see your new site. Test it carefully, things to check includes :-
- Links and pages, If you are using relative paths you should be able to view your site from the temp. url given by your new host else if you use absolute paths, clicking your page link might send you back to the existing host file.
- Check forms and script – make sure it works. If your form does send out email, check and make sure it works.
- You know your website the best, test, test, test before going live !
Step 8 : Do the actual switching.
Finally, this is the virtual switching from old host to new host, your visitors will starts visiting your new site + old site from immediate to next few days.
The key to switching the web hosts is your DNS information – get it from your welcome email, you should able to see pair like below
NS1.YOURNEWHOST.COM 124.xx.65.33
NS2.YOURNEWHOST.COM 124.xx.65.34
Login to your domain name control panel (may be different from your hosting control panel). Locate Manage DNS function. change it to the pair of DNS you need. Once this is updated, the changes will propagate to the world in the next 24~72 hours.
During this period of time, you will have certain web visitor visit old host, some visiting new host. How to tell if it is new ? you can add a new page to new host and check it from your browser. If you can see it meaning you are already browsing your new site.
Repeat the testing step if you want.
Step 9 : Check error logs, observe.
Login to your control panel to read error log, see if there is any unexpected error. Fix it if any. Observe your email accounts, web form, web traffic and etc for another week.
If everything ok, you may proceed to cancel your old host.