cPanel/WHM Site Migration
cPanel/WHM Site Migration
Method 1: WHM to WHM with root access
What you need:
- Old Server's
- IP Address
- Secure Shell (SSH) access enabled
- Username of hosting account
- Server Root Password
- If root user is not allowed to login, you need another SSH user and password that can SU to root.
How to do it:

WHM to WHM Cpanel Account Transfer with SSH access
All you do is login to the New Server's WHM and choose the option Copy an account from another server. Fill up the form and hit the Transfer Account button and wait until the process is done. Remember this is a browser even, do not cancel, reload, close this browser, wait until you see the status if it is completed or if it failed. If this fails, you can try method 2.
Method 2: WHM to WHM with account login and password
What you need:
- Old Server's
- IP Address
- Domain Name of account to transfer
- Username of account to transfer
- Password of account to transfer
How to Do it:

WHM to WHM cPanel Account Transfer with Account Username and Password
Login to New Server WHM and navigate to Copy an account from another server with account password. Fill up the form and click on Copy Account. Again like in the procedure above, do not close, reload, cancel this process. Wait until it says it is successful or if it fails.
If both method 1 and method 2 failed and you wish to try again, you will have to delete the initial compressed backup file. This will be saved at the /home/ folder of the account, above and not inside public_html. Login to your old hosting account's FTP or use cPanel's file manager to delete this backup file.
Sometimes errors in creating the backup file is caused by the limited disk space the account currently has. Login to the old server WHM and modify the account to have a larger disk space so it can save the backup file of the account better.
Method 3: Manual Backup and Restore with WHM access on New Server
If you do not have WHM access because you are on a share hosting environment and you are only limited to cPanel access only or you do have WHM access but your hosting service disabled the copy accounts function, you might need to do manual backups and restore on cPanel.
What you need:
- Old Server:
- Account Username
- Account Password
- cPanel Access
- New Server:
- WHM Access
- WHM Login
- WHM Password
- SSH with File Uploading Enabled
- FTP to Main Server Account
How to do it:

cPanel Backup Function
Login to the Old Server cPanel and click on Backup. Once you click that you will see the button: Download or Generate a Full Web Site Backup. Click on this button and this may take a while to finish and can run in the background with the browser closed. So you might want to enter your email address when prompted which will send out an email alert when the backup is complete.
Once completed, you can login back to cPanel and go to back up and you will see a download link to the backup file. Alternatively, you can login to FTP and download the backup file you will find in the home folder, outside of public_html. This file may be in these file name formats: cpmove-username.tar.gz or username.tar.gz or backup-date-time_username.tar.gz
Login to the New Server by SSH or FTP, and navigate to: /home and upload the backup file there.
Once uploaded, login to the New Server WHM and click on Restore a Full Backup/cpmove file.

cPanel Backup File Restoration in WHM
Type in the username of the account that was backed up and click on the Restore button. Again, do not cancel, close, or reload the browser. If ever this fails and you attempt to retry doing this, you may need to terminate the failed account if it was created, if ever it was not even created, you might need to delete the user name and DNS entries manually.
Method 4: Manual Backup and Manual Restore
What you need:
- Old Server:
- Account Username
- Account Password
- cPanel Access
- New Server:
- Account Username
- Account Password
- cPanel Access
How to do it:
This starts out the same like in Method 3 above, the difference is you do not have WHM access and you will need to restore your backup file within cPanel also. One important step here is ideally, the new cPanel account would have the same username and same password. And when new MySQL databases are made, the same database name, username and password will also be used so this avoids updating any PHP configuration files. Once you have the backup file, simply login to the New Server cPanel account, go to Backup and you can upload your backup file here under Restore a Home Directory Backup and the Restore a MySQL Database.

cPanel Restore Backup
If you do not have the same login and password, the actual username is always appended to the beginning of all database names in a cPanel server setup. So if you have a different username, you have a different database name. So if you have any dynamic scripts that use MySQL, you may need to figure out where the database configuration file is and you may need to update the information.
Transfer is over, what do you do next?
Once the site is transfered and you need to change your DNS settings of your domain, it is best to follow these guidelines:
- Do not disable/terminate the hosting account in the old server. DNS changes do not propagate instantaneously everywhere. Some people may still be seeing the old server and some may see the new server. If you disable the old server too early, some people might be seeing Server not Found or Error 404s. Probably 30 days is good enough especially if you are paying a monthly contract on the old server, it is just natural to extend it for another 30 days.
- Due to the same reason, emails might land in two different servers and you might end up not seeing some of the old emails. On the old server, edit the email MX entry to the new servers IP address. This assures that all emails go to one single place.
- When setting up your email accounts on a email client software like MS Outlook or Thunderbird, using the POP3 settings like mail.domain.com might still be connecting to the old server. Use your IP address instead so you are making sure you are connecting to the new server.
Problems Fix
My site was going up and down yesterday and was getting high server loads. It can be due to any 1 of the sites on the server, endless loops, hacking attempts, massive spam email flow, etc. I didn't even bother figuring out what the problem was. I just started migrating the whole account to any server. I just changed my DNS and will now do updates on two servers while the DNS has not yet fully propagated.
Server downtime is considered also to be a negative ranking factor when dealing with SEO. There are several people that have written about this:
- Effects of server downtime on SEO
- How downtime can kill all your SEO efforts
- The Truth Server Downtime and True Cost
- Moving Servers or Expecting Downtime? Protecting Your SEO Work
- How website downtime can impact on your SEO
Having said that, here were the measures I have taken to make sure I have a seamless transition in migrating my site.
The SEO book by real SEO Experts
November 19th, 2009 - 14:38
The option to copy an account using account password should be used after other options have been exhausted. The other methods are very reliable thus should be pursued first.
With regards to DNS, if both servers are running cPanel/WHM version 11.23 or later, there is an option to have DNS records on the old server updated automatically after each account is transferred to the new server. This way for those who do not have updated DNS information, when their traffic hits the old server, the old server automatically directs them to the new server, thus curbing downtime and mail issues
I notice you are logged into WHM using an unencrypted connection (via the screenshots). I recommend using WHM with an encrypted (SSL) connection. You can do this by going to https://SERVER:2087 where SERVER is any IP address or domain associated with the cPanel/WHM server. Using a plain text connection while transmitting root login credentials for your server (and later the root credentials for a remote server) is not ideal for preventing others from knowing those credentials.
November 19th, 2009 - 15:48
Thanks so much David! Good information.