From time to time you may wish to move your entire WordPress blog with all its posts, comments, images, themes and widgets over from one web hosting service to another.
In this post I’m going to show you step by step how you can move a live WordPress blog and domain from one webhost to another without needing to delve into the mySQL databases or edit any php files.
This could help you move to a more economical hosting deal, find a faster and more reliable hosting company or help you escape from that nightmarish overselling company with the frontline support ticket service from hell, and there are plenty of those around!

ManageWP.com
As a blogger using WordPress, messing about with web hosting is something I prefer not to have to do, but unfortunately it frequently becomes a necessity. Good web hosting companies come and go, and last year’s bargain can soon become this year’s nightmare as far as technical support and hidden limitations are concerned. Imagine if we could just copy our blogs from one host to another just like switching phone networks or changing insurance companies? That would turn web hosting into a simple commodity which you could chop and change as often as you like, following the best deals or the best service, checking out new ones on a monthly basis to see how well they perform and switching back whenever you felt like it. Well I think we are almost there now, and this is how I did it most recently using a new web service called ManageWP which is presently in beta and promises to continue providing a free account for up to 3 ( or maybe 5) blogs indefinitely.
Here are the steps you need to follow:
How to Move a Self-Hosted WordPress Blog and domain from one web hosting to another using ManageWP
- Select the blog you wish to move from within ManageWP, and click the “Backup Now” button (see ).
- Go to File Manager or ftp in the old host CPanel and find the backup file just created, in WP-content eg public_html/blogname/wp-content/e51f790672adfc64dd712f17a9ac3/mwp_backups/blogname.com_manual_full_2011-10-17_d12569cceea51195afee02b3db.zip (see ).
- Download that backup file to your computer.
- Go to CPanel at the new host and run Fantastico or Scriptaculous to create a new WordPress blog with the same name at the new host, domain top level
- In File Manager or ftp, Save a copy of the new wp-config.php file just created under wp-admin.
- Now at your domain registration provider, switch over the dns to point to the new hosting and wait for it to propagate
- When the new empty blog is showing in the browser and in ManageWP dashboard, remove blog from ManageWP then re-add – (to add the manage-wp-plugin and reset the IP details etc)
- In ManageWP, select the new blog then Options then Backup and run a backup
- in File Manager, navigate to the newly created backup file and upload the old one to the same folder
- Still in File Manager, rename the uploaded backup file to the name of the new backup just created.
- in ManageWP, Restore from backup – ( now you get a Database Error because wp-config.php is looking for the old database names) so….
- replace wp-config.php with the one saved from (step 5) the newly created WordPress.
That’s it, it worked! You may need to deactivate and reactivate the manageWP plugin to get ManageWP to recognise the newly restored blog again.
To summarise, Backup the blog from the old host, create a new blog on the new host, then switch the dns over. When the new blog is live, re-add it to manage WP and do a backup. Then replace the backup just created with the one from the old blog and restore, but put back the wp-config from the new blog. Deactivate the ManageWP plugin and re-add the moved blog to ManageWP dashboard again.
This has been the first in a series of posts about using ManageWP to help organise and maintain multiple WordPress blog by Andy Roberts at DARnet