After six years with the same company, I’d finally decided to change webhosts. I really did love the little company I’d been using, A Small Orange. They weren’t the quickest I’d encountered when it came to tech support tickets, but they did always respond within 24 hours and things were always resolved quickly after that. They did a great job when a billing error cropped up, and they’ve kept my site running solidly all this time with only a few short periods of outage. At the time I chose them, prices were very competitive and they had good ratings.

But, I’d decided I really needed to update my site to be more secure. HTTPS instead of HTTP is a necessity, especially now that Chrome is coded to always use it and warns when a site doesn’t. I didn’t want people to be put off from my site due to such a warning. Unfortunately, the old host didn’t provide any free SSL certificates for the conversion. I’d have to pay them a steep cost for one, or get a free one and figure out how to load it myself. I’d already tried the latter process, and it hadn’t gone well, so I didn’t want to hoe the same row again. It would be cheaper and less pain overall just to move the site to a new provider.

After research, I picked the new provider, one with fantastic ratings and an excellent 3-year introductory cost (super cheap). Their plan also come with far more storage and bandwidth than my old plan. Then I waited several months to pull the trigger. Why? Because if there’s one thing I know, changing webhosting is always a Process (capital P required). It’s been twenty plus years since I first started messing around with websites, and I don’t think that fact has really changed.

Now, to be fair, the new host did provide a migration tool. I could install it in my WordPress site and run it, and it would take care of everything for me. Bing, bang, boom… no muss, no fuss. I installed it, ran it, and took care of other business while it did its thing.

It didn’t work right.

Not good.

Once the domain names were switched to the new DNS servers on the new host and I checked my site, I could see that it was broken. Pictures missing, posts missing. Not only that, but when I went to the new secure version (HTTPS), it didn’t point to my site at all. Instead, it kicked me over to someone else’s domain entirely. Ouch. That was a very bad sign.

I spent hours trying to fix it myself. I tried exporting the old site in different ways and importing it to the new site. When that didn’t solve the issue, I contacted tech support at the new site. Wonderfully responsive, I had them on chat in seconds. And two different tech folks tried valiantly to fix the issues, but ultimately they were only able to reinstall WordPress, leaving me with nothing left of the old site. Six years of posts, images, comments… gone. Just a brand new site with no data, no formatting.

Very not good.

I don’t blame them, though. I had a complicated site, with lots of plugins, and it was old. That WordPress install was first launched in 2015 I believe. It’s been updated to stay current over the years, but the SQL database that WordPress runs on was equally as old, and likely had issues. Possibly even some corruption. Transferring old files to a new server is never as straight forward as we like.

I wanted my old stuff back, though. That’s a lot of good writing I didn’t want to lose. I set up a little web server on my own computer, downloaded WordPress to run on it, and began experimenting with the backup files I’d downloaded. Each time I tried to use one of two different full backups, it failed. Weird. They were each taken different ways. One was backed up from WordPress itself using a common, popular plugin. The other was backed up from the web server directly. One of them should have worked.

Alright, if the full backups didn’t work… what about a partial one? What if I just moved some of the folders in the backup directory instead of all of the folders? I tried that as well, and while the site continued to work this time, it continued to also be the newly installed copy of WordPress with none of my stuff. This was mainly because I didn’t know what I needed to know about where WordPress was storing my files.

Aha. SQL. The bane of all normal people who have a life they want to live, WordPress runs on a complicated SQL database. It’s here that all posts and comments are stored (even the previous versions before you edited them), pointers to media files, etc. But if the SQL database was messed up, I couldn’t import the whole thing (and yes, I tried just that, and it failed again). So, I logged into the old web server at the old host and did a little google research at the same time. I figured out which tables within the database held posts, and comments, and any of the other stuff I might really need. Pictures were contained in a separate series of folders, but references to them were attached to the tables in the SQL database.

Alright, I had a place to start. I could test each table individual and see if any of the ones I needed was the problem. Hello phpMyAdmin.

phpMyAdmin interface
No regular user ever wants to deal with this

One by one, I exported the tables I needed. Then I had to import them into the test WordPress SQL database I’d set up locally, testing each first before importing the next. And I had to reinstall the template I’d been using that gives my site it’s overall look. At that point… hey, it’s working again! Sort of. Some (many) of the images remained missing. Not full success, but I’d gotten 75% of the way there, which was a good sign.

So, I dug into the image issue. Turns out that the “full” backups I’d made had NOT downloaded everything, despite saying they did and returning no errors. Whole folders of images were missing when I compared what I had with what was loaded up on the old host. I had to go through the entire list of sub-folders (one for every month of every year) to figure out which of the many pictures I’d uploaded hadn’t come down with the backups. Then I manually copied each of those folders from the old host down to my local system individually. Slow pain the ass.

At last… functionality was restored on my test rig. I then had to repeat the uploads to the new webhost, after performing a clean reinstall of WordPress again. All the SQL tables, which then had to be renamed to match the new hosts naming conventions (after renaming the existing tables from the base install that they would replace). All the pictures that were missing, making sure to put those folders in the right place.

All told, starting Tuesday after work, and continuing again in the wee hours of Wednesday morning after a few hours of frustrated sleep, I spent roughly ten hours getting things functional on the new host. And even then, there were still missing plugins that gave my site additional functionality that had to be reinstalled and tested. But, it’s MOSTLY back to the way it was before. The newsletter remains down and out (new host doesn’t allow them anyway, so I’m looking at alternative solutions), some things are missing from the sidebar, but all in all I feel like I’m no longer scrambling to get a functional website and I’m back to playing around with the site and trying things out when I feel like it and have time.

Here we are, many years down the road into web hosting, and there remains huge problems with transferring sites from one host to another. It may go smoother for other folks, but it should be easy enough to take your files off one server and plop them onto another. Unfortunately, there are different versions of operating systems, different database programs with different versions, the applications like WordPress that manage your data, etc, and that makes these sorts of transfers hit and miss. Computers are whack, y’all. Software is a constantly moving target, and you need everything on both ends to be identical (or nearly so) to make a transfer smooth.

The only good thing – and it’s something that still makes me happy – is that I figured it all out on my own and resolved the issues. My tech support skills remain intact, though I’ve moved away from that as a career. It always brought me joy when I figured out a difficult technical problem and repaired a system. Apparently, it still does. So, while I may swear and shake my fist at the computer while it’s happening, I take pride in the end result and working through the difficulties.

Glad you’re here! And glad my website is a place you wanted to stop by. A lot of work goes into these things, and the only thing I ask in return is your eyeballs.

And a clean SQL database.

Leave a Reply