Occasionally I am asked by potential customers how they can transfer their website to our web hosting. There seems to be a lot of confusion as to how to go about doing this, so I figure this would make a good how to article. The first thing you need to do is decide what web hosting package you will need. Once you decided on a package you can begin to do the following steps:

Domain Registrar

In order to move your site you will need to change DNS Servers. It is not necessary to transfer your domain to your web host, but if your previous host is also your registrar, you might want to move your domain registration to a third party registrar to avoid conflicts with your previous host. It is never a good idea to move a domain that expires in less than a month, so always renew your domain at your current registrar and then move it. This way you do not risk losing your domain due to expiration.

Purchase Hosting Package

Your next step is to purchase the hosting package you want. This way you can have access to your new account via the IP address, right away. You want to get the new hosting account ahead of time. Most hosts expect you to renew before your account expires, so if you know you are moving your hosting, it is best to get the new account three to two weeks ahead of time, so you have plenty of time.

Transferring Your Files

There are multiple ways to move your files over to the new account. If your current host is a standard cPanel web host, cPanel’s Backup Panel offers the best possible way of moving your site. In the Backup Panel you can do two types of backups: Full backups and Home Directory backups. A full backup file can only be restored on your new host by your web host. For most small sites, a Home Directory backup is good enough. You can download the Home Directory backup to your own home computer. You will want to make sure that the backup file is less than 50 megabytes. It is best to have a 15 megabyte backup file, because large backup files will timeout when you try to restore them. If you have a large gallery or directory with image files, it is best to FTP these down to your home computer and remove them before creating a backup. This way your backup file is smaller. Once you have your backup file, you will need to connect to the new cPanel account by IP address and in the Backup panel, restore your backup file. It is important to note, that it is best to use the same username on your new account, this way setting files will not need to be changed. If your username is different you will run into some unexpected problems. If you are using any databases, these databases must be backed up individually and restored individually on the new account as well. Lastly if you have any subdomains these cannot be added in your new account until your old account is deleted, so you must wait to set these up.

If you are not transferring between cPanel host accounts, then the default way to transfer files is via FTP. Download all your files down from your current host and then transfer them via the IP address of your new account through FTP. Databases will still have to be backed up and restored individually.

You should add database usernames, so that your web site scripts can access their respective databases.

Changing DNS Servers

Now that you have moved your site files over, you need to change DNS Servers. This is done at your Domain Registrar. Each registrar uses their own custom site panel, so all I can say, is you need to find out how to do this exactly. It is best to change the DNS Servers overnight, so initiate the change in the evening hours and let the changes propagate around the Internet overnight.

Delete Your Old Account

At this point all that is left is to delete your data from the old account and notify the host that you are canceling the account. Once your account is removed from your old host the new account will show up immediately since DNS was already changed.

Final Changes

Once your new site is up, you just need to verify that all your website scripts work, that all pages are accessible, and that there are no errors. You can now also setup your subdomains and any email accounts you had. Once you are satisfied that everything is working, it is a good idea to make a backup.