So I switched hosts for this site. At first I tried to let my new host do the migrating for me, but they kept having trouble logging in to the old host to do the work. I know there is a lot that can go wrong when doing this, but I bit the bullet and tried it myself anyway. Here are the steps I took (in brief):
- Used WordPress to export the current site. This gives you an XML file that you will use later.
- I then logged in to my old host and found the database management area. I made a backup of the database for my site and saved it on my local machine. We’ll need that later too.
- To make things clearer for me, I went to my new host and installed a clean version of WordPress. This helped see the appropriate file structure.
- Then I logged back into my old host and tar’d and zipped up the whole site and downloaded it locally.
- I uploaded that tar’d and zipped file to my new host and untarred/unzipped it so that all those files ended up in the same place as the files from that dummy clean install of WordPress.
- At my new host I created a new MySQL database and imported that database from step 2. Note the name and user of this new database.
- I changed the nameservers to my new host at my domain name provider (my old host).
- Waited a little while to let that new nameserver information propagate…
- At my new host, I used their file manager client to edit wp-config.php with the correct database information (see this page for details).
- When I was able to find my site on my new host, I went into the admin area and imported that xml file from step 1.
- Then in my settings, I had to fix the permalinks. Just chose the one you used before and save it, even if it looks like it is already selected.
- Boom. Done.
There’s obviously a lot of detail I may have left out, but hopefully this might help someone else in the future (maybe me if I migrate again!).