Moving web hosts is a lot like moving to a new house. There's quite a bit of preparation and work involved, however, it is very much possible to do yourself.
Below are steps that outline the basic process in order to set up your site on your new hosting service.
Before you begin
- Please note that this is a general guide only. There may be a lot of variables unique to your specific needs that we cannot account for here.
- We cannot assist with performing or troubleshooting a self-migration, so if in doubt, consider seeking advice or assistance from your web developer, or consider having us perform the migration for you.
- We can show how to put your website data on our hosting, but we cannot provide specific instructions for obtaining that data from your existing host. If you need such details, or require the username and passwords to access that data (which you will), contact your existing host for this information.
- Differences between your previous host and your new host may mean that your website won't work properly straight away. Changes to the website, or the configuration in your cPanel account may be necessary before things work 100%.
- If you have an SSL Certificate, you will need to provide us with your Certificate, Private Key and Intermediate Certificate so that we may install it on the server for you.
Rules of thumb
- Installation is the reverse of removal, so if you're not sure how to get something from your existing host, consider the inverse action of the migration steps.
- It is easiest to have your old and new hosting active concurrently. This way you can avoid a lot of downtime.
- These days, many websites are driven by a CMS such as WordPress. Such CMS are more than just raw files, they utilise databases as well, with MySQL being the ubiquitous choice. You will need to be considerate of this when assessing your needs and performing any migration.
- Migrating your site outside of business hours, such as overnight or during weekends, is a sensible time to minimise any impact on website and email availability.
- DNS changes take time to propagate - in other words, the "cutover" from the old server to the new. They are not instant, and this is not something we, or any web host for that matter, has any control over - it's just how the Internet works. However, you may be able to drop your TTL values in advance which should help speed up the propagation process.
- Moving email data is only necessary if using IMAP for your email accounts. If using POP, you can usually get away without migrating email data - you would only need to set up the email accounts themselves on the new hosting.
- If you're changing any particular details, such as DNS records, Name Servers, Database names, etc., it is wise to note down the existing values before you change them. This will help you avoid getting stuck in a pickle if you need to revert such changes, or refer to such details later on, should something go wrong.
Migrating your site – cPanel to cPanel
Our servers run cPanel. There is a high probability that your existing host also does. If so, both we, and your existing host, will give you a username and password to log in to a particular URL such as:
|Please note: |
Depending on your site and data, the size of the backup may be very large, and it could take a while to both download and upload between both servers.
Begin by logging in to your existing server's cPanel, at the address your existing host provided.
When logged in, access the “Backups” section.
Then, click on the “Download” button beneath Home Folder under the Partial Backups heading.
This will download a .tar.gz file to your computer. Make a note of the name and location of this file.
Next, log in to your new cPanel account, using the Temporary cPanel URL, username and password provided in your welcome email. If you have a Reseller service, you would log in with the cPanel details that you create in WHM.
Then, as before, access the Backups page.
Finally, use the Restore options on the right-hand side. Click the button to locate the .tar.gz file downloaded to your computer, and then click “Upload”. This will upload the Home Directory backup and restore all of the files.
You will note that cPanel allows you to save separate backups for MySQL Databases, email forwarders and email filters. If you want to migrate this data also, repeat the same steps for each relevant backup.
Migrating your site – Manual Migration
If coming from a non-cPanel server, or if you have a particularly large amount of data, you may need to perform a manual migration.
These steps assume that the website files are already on your computer.
Within your cPanel account, there are several folders where cPanel stores various data. Your website files itself must live inside what is called the web root or document root. This is a folder called /public_html/.
You can use two methods to upload files to this folder:
- cPanel's File Manager
- Using FTP
Copying Files – cPanel's File Manager
To access File Manager, log in to cPanel and access File Manager under the Files heading.
On the pop-up, select Web Root and click “Go”.
File Manager lets you browse various folders and gives you tools to upload your files. All of the buttons are fairly self-explanatory.
Copying Files – FTP
If using FTP, you will need an FTP Client. FileZilla is a popular choice, though there are many others. When you have downloaded and installed your FTP client of choice, configure it to connect to the hosting server or IP provided in the welcome email, along with your cPanel username and password.
You may then use FTP to locate files on your computer, and upload them to the server. Again, you want to put website files in the /public_html/ folder.
Migrating MySQL Databases
If moving from one cPanel server to another, you may use the Backup / Restore functionality to do this for you, as described above. Otherwise, in order to migrate a database, you must export or "dump" the database from your existing server (this should be exported as a .sql file), create a database on the new server, and then import the data.
There are two areas of note in cPanel on your new server, they are MySQL Databases and phpMyAdmin.
Click on the MySQL Databases page to create a database, create database users, and then give those users access and permissions to those databases.
When that is set up, you may then use phpMyAdmin to import the data from the Import tab.