How to move your WordPress site
While this is not something we particularly cover here, I try and help out whenever I’ve got some tips. I thought I would share the issues encountered when I moved Pocketables and theITbaby from their old broken hosts to new hosts, which subsequently broke.
One option was completely free, one cost $40.
I do not claim to be an expert at WordPress. I have just been using it daily since 2010 and fighting it daily since 2012.
Preparing to move your WordPress
First, let’s talk preparation. Get Cloudflare for your website. It’s a free service. Even if you don’t keep it, you can use it to switch back and forth quickly between the new and old websites in the event of a catastrophe. It’ll also help out with DDOS, SSL (which you’ll need,) caching, basically it’s a good thing and I do not know how they offer it for free.
Alternately fight your host, get SSL on your own, get site shut down when you get DDOSed.
Make multiple backups. I’d advise using UpdraftPlus for one. If you can download an image from your old host, do that. It’s better to have a few backups sitting around taking up disk space than find out a couple of months later that your entire 2011 images directory wasn’t caught by Backup Plan X.
Pick a movement option
The two sites I deal with were Pocketables and theITbaby. Pocketables had next to no free disk space and database issues. This was extremely problematic because it was not on a Cpanel install, and most backup/sync software backs up locally first, which would crash the system, then we’d have to get someone to delete the thing. That could take weeks. We also had no access to anything except the admin page.
For a no-disk space install and not being able to, or particularly wanting to increase it on the old Pocketables server, we went with Vaultpress, which is part of Jetpack’s backup. I believe it cost $40 a year. As near as I can tell there was no large usage of local resources as I never saw the disk space budge during the three days it took to backup the site initially.
Yes, three days. Pocketables was 25 gigs or so at that point. Vaultpress chugged along stopping a couple of times when there were connection issues, but nothing major.
For theITbaby, after some failures with UpdraftPlus (I don’t blame UpdraftPlus for these, I’ll go into that later) I chose Duplicator (free). In twelve minutes it made three files totalling about 3 gigabytes locally that I had to download and upload to the new site. I used WinSCP for file transfers, but you can use whatever you want.
Fight the bugs
With VaultPress I had to contact support numerous times. We had firewall issues, we had potential directory permission issues, but most of all we had 22 gigabytes worth of data and had to do a manual SQL import when VaultPress couldn’t execute remotely. Some of this was not their fault, but I couldn’t see why they were having SQL import issues as I was able to execute the things they said were failing.
That SQL command was pretty simple and was in the VaultPress documentation. Pocketables came up. We had a few errors, but most I could google easy fixes and edit in WinSCP.
With UpdraftPlus a site restore ended up giving us the dreaded Error 500 – Internal Server Error. No details after restore. This could have been from many things, and I fought it for a while and gave up, re-rolled the server, tried again and determined it was when the database got restored we started getting it. Tried a few more things. Gave up.
Tried Duplicator, downloaded the three files, uploaded to the new server, went to do the install.php like it asked and nothing worked. Blank page. I looked at the source and this was not a PHP file. Renamed it to install.php.gz and then unzipped it and bam, PHP installer there. Entered in the local database info I had from my Cpanel and bam.
After Duplicator’s restore was done there were a few issues. I couldn’t update plugins, which was resolved by editing wp-config.php and changing the FTP credentials. The weird issue where new translations were always found popped up again and I ended up renaming the translations directory which fixed it for me.
Update all the things
At these points I switched the Cloudflare on each of these to point to the new hosts. Then on the cloudflare Crypto tab I set SSL to full, Always use HTTPS to on, opportunistic encryption on, automatic HTTPS rewrites on. Removed the lines in my Windows hosts file which pointed to the new site and started working with the newly live, fully SSLd sites.
I had to contact Vaultpress support again to get the new site recognized as the right place, but this was no biggie.
Check and make sure your new backup scheme works. Don’t have a backup scheme? Make one. Plenty of free things out there.
Turn off the old sites
Somewhere in this world exists an old version of Pocketables with all the plugins that talk to the internet disabled. We don’t own the server it’s on, and nope, they still haven’t done anything with it. Disable the plugins, change the password, hang up your captain’s hat and turn the light out when you leave.
What all happened?
Pocketables has posts dating back to 2006. WordPress as a piece of software predates that by three years. Something in the past 12 years broke hard but mostly it was a normal WordPress with a database and storage issue and some hardening configuration by a company that did not specialize in WordPress.
theITbaby was a bitnami virtual machine image from 2012. It was configured a bit in 2012 and went into production as an HTTP-only site. HTTPS returned a whole different site, the Apache config never seemed to work properly, and things such as W3 Total Cache just failed for no reason I could tell. By the time I started attempting to debug the issues that particular VM was not being supported, so it ended up a five year ride of “what, why would they have done that?”
theITbaby had WordPress issues where many of the configuration options were grayed out and required editing wp_config.php to get things to change (such as to not say www.theitbaby.com/wordpress/2015/01/here-is-a-title ) – the server that hosted theITbaby had 24 logical processors, two physical ones, 24 gigs of free RAM, and for reasons unknown that Bitnami install wouldn’t respond in under two or three seconds with 0 load.
theITbaby needed database conversions that UpdraftPlus’s free edition was not doing in order to avoid the 500 server errors. Duplicator handled that.