Recently I needed to move one of my sites from one SiteGround account to another. I thought it would be a free service and asked for SiteGround team’s help but unfortunately they returned to me saying it would cost me 50$, so I decided to do it myself and it was actually very very easy. I don’t know why they charge so much for such an easy job. Assuming you have already backed up your database and website files, below are the steps to move your WordPress site between SiteGround accounts. Actually, this procedure should work for any managed hosting provider using cPanel and for moving your WordPress site between different managed hosting providers.
1.Create an empty database on the target account that you wanna transfer your WordPress website to.
2.Launch phpMySQL on the target account and click your newly created empty database. Import your database backup into this empty database.
3.Create an add-on domain using cPanel. This also creates the folder into which you will paste your site files.
4.Transfer your site files into the folder that was created in the step above (add-on domain folder).
5.Add a new database user and give it complete control over your database, then add this user to your new database.
6.Edit your wp-config.php file. You will need to update the entries for your database connection e.g. database name, database user and database password.
7.Check if your wp-config file has any entries added by any of the installed plugins and check if these lines have hard coded directories that belong to your previous account. Update them as needed. WP Super Cache adds such lines to your wp-config.
8.Finally, change the nameservers of your domain in your registrar’s control panel and that is it. Just wait for the changes in your nameserver records to take effect.
Hope this helps.