Over the past year I have moved a reasonable number of WordPress sites between different servers and hosting companies (around 10), and I picked up some tips and tricks along the way.
First of if you search around the web for advice on how to move a WordPress blog you’ll probably get a recommendation to backup all the site files and databases, transfer the site files, and then restore the database on the other server.
While this works, I think it’s unnecessarily complicated, especially if you are transferring a small site (i.e., with 300 posts or fewer, and no special sections like a forum). Not to mention that playing around with databases is always tricky, and if you are not tech-savvy you might screw things up.
A better and simpler solution in my opinion is to use the Import/Export feature on WordPress. Here’s the step by step guide:
- Login via FTP to your old (i.e., the one you are moving from) WP install and download the whole /wp-conten/t directory.
- Login to your old WordPress dashboard and use “Export” function (located under “Tools”). Choose the “All Content” option, to export both posts and pages.
- Put a fresh WP install on your new server/hosting plan.
- Delete the /wp-content/ folder on your new server, and upload the one you had downloaded from your old server.
- If you had changed the “Permalink Structure” on your old server, do that as well on the new one.
- Now login to the WordPress dashboard on your new server and use the “Import” function (again under “Tools”) to import all your posts and pages.
- Check that everything is working fine by opening the homepage of your new WP install (you can do this using the IP address of your hosting account). If everything is working fine update the nameservers of your domain name to point to your new server).
This method is easier in my opinion, and it has one big advantage: you start with a clean install, meaning that any hacks or compromises you might have had on your old WP install will be gone.
Next week I’ll post about moving larger WordPress sites. Those might not work with this method because your export XML file will be too large, and you might not be able to upload it via the WordPress import feature.