In this article we’ll go over the basic process of taking multiple cPanel accounts, and merging them into one account. You can only have multiple cPanel accounts on a VPS or dedicated server plan, so if you’re looking to downgrade your account to a shared-hosting plan you would need to first consolidate your accounts down into one.
In our example below we have two cPanel accounts userna1 with the domain PrimaryDomain.com and userna2 with the domain AddonDomain.com. We’ll be merging the AddonDomain.com domain into the userna1 account so that both domains can be accessed from the same cPanel account.
cPanel creation is no longer unlimited. Learn more about cPanel Pricing Changes and related FAQs.
If you happen to have root access on your server, you might be interested in our more advanced article on merging multiple cPanel accounts into one account using SSH.
Our AddonDomain.com domain is a WordPress site so we’ll need to be sure we also grab the MySQL database so we can set it up under the userna1 account.
Warning: merging cPanels containing WordPress sites can have unusual effects on WordPress site configuration. This is especially true of WordPress security plugins. Consider temporarily deactivating your plugins while merging cPanels. After the merge, reactivate and reconfigure them to work correctly on the new cPanel account.
- First grab all of the content for AddonDomain.com via FTP using the userna2 username.
- In this example we’re connected using FileZilla, with the server’s files on the right-hand side, and our local folders on the left. You’ll want to hold down Ctrl on your keyboard and then click on the etc, mail, and public_html directories to select them all, then drag them over to a new folder you’ve setup on your local computer.
- Now we want to also generate a backup of our MySQL database that we need for the site, in order to do this you’ll want to Login to your cPanel.
- Once logged in, navigate down to the Files section then click the Backup link.
- Under the Download a MySQL Database Backup section, click on userna2_wrdp1.
- Next you’ll want to log into WHM so that we can modify our AddonDomain.com site temporarily so that we can attach it to our other cPanel account.
- In the top-left Find box type in modify, then click on Modify an Account.
- Select AddonDomain.com, then click on Modify.
- In the Primary Domain: field add a -temp.com suffix to your domain, so in this case we use AddonDomain-temp.com. Then scroll to the bottom and click on Save.
- Still in WHM in the top-left Find box type in List, and then click on List Accounts.
- Now click on the cPanel icon for the PrimaryDomain.com account with the username userna1.
- Under the Domains section, click on Addon Domains.
- Now type in AddonDomain.com as the new domain name, and choose a FTP username and document root for the site as well then click on Add Domain.
- Now that the domain has been added to our userna1 account, you’ll want to connect via FTP again to that account. Then navigate to the etc directory in both window panes, and finally drag the AddonDomain.com directory from your local computer to the server’s etc directory.
- Next navigate to the mail folder in both window panes, and again drag the AddonDomain.com directory from the local computer side to the server side.
- Finally navigate in both windows to the public_html directory, then on the server side navigate into the AddonDomain.com directory that we created when creating the addon domain. On your local computer side hit Ctrl-A to select all of the files, then drag them over into the remote side.
- Now that you have all of your website data loaded under the userna1 cPanel account the next thing you need to do is restore your MySQL database that you backed up. To do this login to your cPanel with the userna1 username.
- Under the Databases section click on MySQL Database Wizard.
- Now in this case I already know the userna1 user has one WordPress site and database already, so I’ll be naming my database userna1_wrdp2, then click on Next Step.
- I’m also going to set my database username to userna1_wrdp2, give that user a password then click on Create User.
- Finally on the last step of the database wizard, click on ALL PRIVILEGES to check everything, then click on Next Step.
- Next we need to restore our database backup, so click on Return Home to get back to the cPanel home screen.
- Back at the cPanel home screen, under Databases, click on phpMyAdmin.
- In the left-hand menu, click on our userna1_wrdp2 database.
- Now at the top click on the Import tab.
- Next click on Choose File to browse your local computer for the database backup we saved earlier, for our example it would be called userna2_wrdp1.sql.gz. Then click Go.
- You should see the import was successful by the green status bar at the top stating the import successfully finished, and there should now be tables on the left-hand menu as well.
- Now because we switched cPanel usernames from userna2 to userna1 we need to update any database configuration scripts to use this new user so when we git rid of the old one it still can function on its own.
Back in cPanel, under the Files section click on File Manager.
- Navigate to the document root for AddonDomain.com.
- Right-click on the wp-config.php script then click on Edit, then in the Text Editor pop-up you can just click on Edit again.
- For WordPress the database configuration lines look like the following:
/** The name of the database for WordPress */
define('DB_NAME', 'userna2_wrdp1');
/** MySQL database username */
define('DB_USER', 'userna2_wrdp1');
/** MySQL database password */
define('DB_PASSWORD', 'wordpress1');You’ll want to edit this with the new credentials you just created, so that it looks like:
/** The name of the database for WordPress */
define('DB_NAME', 'userna1_wrdp2');
/** MySQL database username */
define('DB_USER', 'userna1_wrdp2');
/** MySQL database password */
define('DB_PASSWORD', 'wordpress2');After making your changes click on Save Changes.
- Finally you can log into WHM once more to remove the olnel, ud standalone account.
- In the top-left Find box, type in terminate, then click on Terminate an Account.
- Click on the AddonDomain-temp.com domain, then click on Terminate at the bottom of the page.
You should now have successfully merged your AddonDomain.com site from the userna2 account into the userna1 account. You can keep repeating this process to get multiple cPanel accounts merged down into one in case you wanted to manage them all from a single cPanel login, or you were looking at downgrading to a shared-hosting account.
This literally does not work – for a wordpress site running wordfence you’ll get an error 500 issue
For Wordfence specifically, there are a number of installation files and entries that need to be removed or deactivated before the site files are moved. Please take a look at this write-up from Wordfence for more information.
Had site issues after the move because of the Wordfence plugin – absolute nightmare doing this because you have to reconfigure your sites – this article doesn’t mention this at all – you only find out after you’ve followed the steps – having to do this though because Cpanel are now charging per domain – more admin for site owners and we have to pay for the privilege – ridiculous.
Sorry to hear that you ran into trouble while dealing with the recent cPanel licensing changes. The cPanel licensing changes have affected everyone in the industry, including us. Merging sites can have issues with 3rd party plugins, especially security related ones. I am updating the article to reflect this fact.
I followed the steps given here exactly, but the addondomain site was all broken and funny looking after the merge. After spending some time with the support team, they helped me fix the problem. The site name in wp_options table was defined incorrectly.
After spending some time with the support team, they helped me fix the problem: The site name in wp_options table was defined incorrectly. Correcting this resolved the issue.
I’m posting this here in hopes it may help someone else experiencing the same issue.