In part 1 we got a site ready to move – now it’s part 2, and the transfer:
- Snap it all. This time to make things easier, I did screen shots of every page in every section in WordPress admin I had made changes in. In Windows, select the window, use Alt-PrtScn to snap a shot, then select and open Irfanview’s window, and Ctrl-V to paste in it. Then click the Save As button on top to save as a snap. I set aside a directory, and just kept increasing the file names by 1. Later, Irfanview will let you scroll through these snaps easy, making compares simple. Of course, if any page has data in it, like long text, then I copied and pasted that into a text file with a note so I could find it again (and save THAT file frequently!)
- Export your blog’s posts. ‘Nuff said – you don’t want to enter them again. Although one time I did help recover a client’s site from cached Google pages, I wouldn’t recommend it…
- Change your site/Change your nameservers. You have the data, you have the blog entries, you have the nuts and bolts, time to go. Set up your domains on your new host, and point your blog’s nameservers to your new site. I also like to put a simple file on each domain so I know when I’m looking at the new (index.html, saying something like ‘be back soon’).
- Say goodbye to the old. This is the hardest part. The new site will appear quite quickly online as everyone sees the new nameserver entries (called DNS propagation). However, with the old sites active, there’s still some online give and take (technical term). What this means is you might be switched to the old site from time to time. The easiest (but most painful) solution is to shut down the domains on the old cPanel. A trick: Go into FTP, and rename the blog’s directory or move the files if possible, and then close down the site on the (now empty) directory. This keeps the files handy just in case…
- Email ahoy (or, swab the poop decks). Until DNS propagates, you’ll likely be looking at the old site (or nothing). This is a good time to set up your email accounts from the old site, so they transfer properly. Also, use this time to dig into cPanel and copy over more settings. I find flipping through the old and new email sections in cPanel the easiest way, so that I remember forwarding, redirects, catchalls, and other settings. You might also want to do this for cron jobs (if any), and other cPanel settings that affect your site. Also, remember to clear your browser cache and (possibly) reboot your machine to help get it unstuck from the old site. Once that happens, and you’re looking at the new, you should be good to go on.
- Say hello to the new. Install WordPress. Likely, you’ll need to set up a new MySQL database, or perhaps you have a setup system like Fantastico to do most of it for you. No matter what, you should end up with that plain vanilla ‘Hello World’ site (or sites).
- Upload anything needed. This is where you rebuild the site outside of WordPress: any file directories, your upload directories, and so on. Basically, anything outside of the usual WordPress install, and just about anything within the WordPress /wp-content/ directory is needing a restore or rebuild. What you copy and what you reinstall (like plugins and themes) is up to you. For example, I copied plugins of my own, downloaded the ones I could from the WP plugin site, and filled the /uploads/ directory from my backups (with the exception of /cache/, which is a caching directory that the Super Cache plugin will rebuild). In my case, two problems: As I mentioned, my wife’s blog was missing most of the uploads directory (which made me glad I didn’t delete the old site’s directory when I killed it!), and I had trouble getting the NextGen Gallery plugin to work. In the end, I copied the gallery images to the same location in /wp-content/ they used to be in, activated the plugin, then went in and (via phpMyAdmin) removed the relevant SQL tables (xxx_ngg_gallery, xxx_ngg_pictures, and xxx_ngg_album, where xxx is the table prefix for the blog), and replaced them with the originals from the old site. I still had to re-add albums to my posts, but at least the images transferred without me needing to reenter all 120+ images!
- Set up everything BUT the posts. It may sound counter-intuitive, but if for example you don’t have your pictures transferred, then the posts will look funny, so save them for last. I installed all the plugins, then called up Irfanview, and scrolled through all the screen shots, matching old settings to the new install. The end result was everything synced except the data…
- Call in the posts. Now you can import the posts. Oddly enough, this is not a builtin feature with WordPress anymore, so you’ll have to download the plugin first, then import. If everything exists, you should be OK, but of course, expect error messages. In my case, I got errors for every image I didn’t export (didn’t need to, since they were in the /uploads/ directory I copied already).
- Verify. Go through as much as you can, double-checking. Verify the new site looks right.
- Backup. Make sure you backup the new site – just in case. It’s easier to restore from a configured new site than the old one you had to tweak. Besides, backups are cool, right?
That’s about it. Likely, you will find many, many other items cropping up when you do your transfer, since every site is a little unique. If so, my apologies for not being able to cover your specific situation; I mainly wrote this to keep track of it for my next transfer, since I was caught yet again, even though I transferred a year ago (my issue was DNS propagation, and I forgot I had to kill the old site or my browser would sometimes go there instead of the new – which made for some weird errors).
In any case, I don’t recommend a transfer lightly. However, sometimes it’s worth it – for me, it was 80% off of Hostgator’s rates for three years, meaning I won’t have to move again until 2018 at the earliest (I hope), and so won’t have to think about WordPress transfers until then…
…which is why I wrote this – hope it helps you not think about WordPress as much as possible, too.