Well, first, let me tell you what to do:
Make a complete copy of all files to your local computer. Heck, make two. Download it once to your local hard drive, and then download a complete copy of everything under public_html onto an external plugged-in hard drive or thumb drive or whatever you’ve got.
- You can use an FTP client to do this. I use Transmit, a much-beloved Mac App that’s been around a long time.
- You can also do it from the command line. Use rsync. Automate it. Script it. Cron job it. Stop thinking about it. That’s half the battle with back-ups.
Poke around in those copies to make sure everything is there. Pay special attention to the wp-contents directory, because that’s where all the images you upload are stored. It’s always where your plug-ins are based, and where your themes live. If you overwrite this directory without a backup copy, you’re in trouble.
When you do upload the new version of WordPress and your FTP offers you the option to MERGE or REPLACE the wp-contents directory as it exists with the updated version, go with MERGE. If you REPLACE, you’ll delete everything first. You don’t want that.
Long story, short: That’s what I did a couple weeks back. I REPLACED instead of MERGED, and I thought I had a back-up already when I didn’t. I made a second one, which I thought had finished. I didn’t double-check either backup. I didn’t have the complete wp-contents directory backed up in either place. I lost it all. Plug-ins and themes aren’t a big deal. This blog is run on a standard theme, with not too many adjustments. I re-found it quickly and installed it. Turns out, that was the German version of it. I had to track down the English version, but that was easy enough.
Thankfully, my wonderful hosting provider (the ever-awesome BoilingPoint.com was able to restore from a daily back-up. And since I hadn’t posted anything new in the last day, it was a full recovery after that.
So, take it from me: Make a full and complete back-up. Back up more than you think you’ll ever need. Do it regularly. Do it particularly just before updating the supposedly easy “One Click” WordPress upgrade, which always endangers your files, no matter how blase they try to make it seem to be.
Failing all that, create a static blog engine. I’m trying… I actually have one that works to create the front page and the 6000 individual pages that would make up this blog. But the archives aren’t implemented yet, which are turning out to be a bit of a pain in the butt. Someday, I’ll have time to get back to that.