TODAY is WP Release Day. Sarah "Sassy" Vaughn is just about to hit 10's of millions of websites. If you manage WordPress websites and have no idea what I'm referring to, you're already doomed.
OK. Maybe I’m being a little dramatic, but I was inspired by my previous post on Google’s Mobilegeddon to write about WP Release Days.
Release Day’s are days when a new WordPress version becomes available. TODAY is WP Release Day. If you’re reading this post, most likely today is a release day, or a release day is coming up very soon.
In the past, WP Release Days would cause less drama, but since WordPress now installs with auto-updates out-of-the-box, many people are caught off guard when they log in and notice things are all different (or… GASP! broken!). It’s important to note though, that auto-updates only apply to security patches (as a rule), they are NOT applied to major point releases like 4.6, 4.7, or even 5.0.
Because I do WordPress support professionally, and moderate several heavily trafficked WordPress groups, I see a lot of the WP Release Day dramas played out live. It’s painful to hear about because often these folks are responsible for client sites, and their clients are the one’s suffering.
But what provokes this post is the blame that is always, inevitably placed. Without fail, every WP Release Day starts and ends with expletives thrown at “WordPress”. Here’s a laundry list of scapegoat statements:
Everything was fine before this release. WordPress shipped a bug!
The last thing I need right now is WordPress screwing up all my client sites!
They could at least give us a heads up before pushing these crappy updates on us!
Varying forms of that is how we celebrate WP Release Day. It’s like Festivus. More or less.
All of these grievances are misguided and inaccurate. It really boils down to one simple thing.
If you are responsible for managing websites, either prepare for Release Days, or stop managing websites.
I hate to be so blunt, but it’s really the bottom line. Managing a website means exactly that: Manage it! If you aren’t prepared, then you can only blame yourself.
So let’s go one-by-one to explain why there’s one finger pointed at WordPress and four pointing right back at you (cheesy, but it works).
I can’t prepare for new releases because I never know when they’re coming
There’s LOTS of ways to know when releases are coming. Here’s just a few:
WordPress.org frickin’ Blogs about it
Here’s the link: https://make.wordpress.org/core/
It’s that simple, subscribe and pay attention.
Core commiters throw a frickin’ party in Slack
Join Slack, and pay attention. Here’s how to join Slack.
Here’s a preview of the party they threw today. Look at all the fun emoji’s!
Watch new releases progress in Trac
Trac is where all issues and new features of WordPress are “tracked” and discussed in detail. I’ll admit, this is by far the most difficult and geekiest way to see when updates are coming, but it’s effective and educational. But here’s a few resources to give you a head-start:
- Tom Ewer’s post on Embracing WordPress Trac
- Lamosty.com’s piece on using Trac
- A fun personal story of working with Trac
So really, there’s no excuse. You can be fully informed of when new releases are coming, and if you manage even one WordPress site yourself, then you are responsible to be informed.
OK Fine. I know when it’s coming, but I can’t prepare because the new version isn’t available for me to test.
You absolutely can test in advance. Here’s several ways to do that:
- The WordPress Beta Tester plugin allows you to update any WordPress site with the latest development version of WordPress.
- WordPress Core is synced with a Github Repo.
Ya, but I can’t run that Beta plugin on my clients sites! You’re crazy!
Whoah, whoah, whoah, whoah.. WHOAH!
No one said anything about testing releases on live sites. If you are responsible for managing your clients sites, you better be developing them locally or at minimum with a live staging or development site. Here’s some resources on that.
- How to Use Desktop Server — this is a really easy tool to develop all your sites locally, and even deploy them live with your changes.
- How to use Local by Flywheel — this is a great tool for developers, freelancers, agencies, particularly when you want to test against different versions of PHP or MySQL or support local SSL certificates.
- Installing VVV — this is another local development tool. A bit more robust than Desktop Server. Great for emulating live environments.
- The WordPress Developer Intro to Docker — Some Devs swear by Docker. This is a good intro to it.
- Can’t decide between VVV or Docker? You’re not alone. Delicious Brains breaks it down for you.
If you’ve never done local development before, yesterday is as good a time as any.
But I need more time. I can’t plan my life around when updates are going to be pushed to my sites
First off, yes there is such a thing as “auto-updates”, but that’s not what we’re talking about here. Those are security only updates and are REALLY good for you — it’s basically free code.
For major point releases (4.8, 4.9, 5.0, etc), those are never auto-updated, so you can run that update whenever you like. Test it somewhere safe, and don’t ever feel pressured to force an update if you’re not ready.
Particularly if you’re a small eCommerce site or NGO running donations — don’t risk your big campaigns on WordPress updates. Wait and do them safely on YOUR schedule.
Regarding auto-updates, if that whole idea just makes you feel insecure you can disable them with one line of code:
define( 'WP_AUTO_UPDATE_CORE', false );
Put that in your wp-config.php and smoke it. Done. Now you can sit on your old WP Core versions as long as you like, just don’t blame me when your clients are like “Why does it say I need to update WordPress?”
OK. But listen, every time WordPress updates it breaks something. It’s terrible!
Now we’re venturing into the ever so slightly more understandable complaints. I totally get how it might seem to be that way. But let me ask you this:
Q: What’s worse than a website manager who doesn’t prepare for a new WordPress release?
A: A plugin or theme author who doesn’t prepare for a WordPress release.
“WordPress” is not breaking your sites. WordPress is just fine, and most likely it’s even more stable, a bit quicker, a bit more secure. That’s what iterative development does to code. The problem is that you hit “Update” with all your outdated plugins activated.
So here’s a quick run-down of how to update without breaking your sites:
- Backup your sites, including databases.
- Deactivate all your plugins. All of them. Say Bye-bye Dolly.
- Then update all your plugins, and all your themes. You might see some Translations get updated too (Props to the GlotPress community!)
- Now update Core. You should be TOTALLY fine.
- Now activate each plugin one at a time. No Bulk options here. One at a time.
- If you hit a problem, now you know EXACTLY which plugin author to come charging after for breaking stuff, and you know exactly how to get your site working fine again… keep that plugin OFF.
Alright… I’m feeling a little schooled now, but the truth is I manage a ton of sites and what you described is a ton of time. I hate having to do this all the time.
Ya. I get that. That makes sense. But again, this is your JOB. You asked to manage all these sites. If you aren’t getting paid enough to spend this time, then go work on that before you hit “Update.”
But honestly, the best way to deal with that is to use one of the really awesome services that do all of that for you. Here’s a few:
All of these services tackle this problem from different angles, and each excel in different ways. Do some research just by googling “InfiniteWP vs ManageWP” and there’s tons of very opinionated articles about each of these.
BONUS: If you want more of a set-it-and-forget-it setup, where you pay someone else to do all this dirty-work for you and your clients, then definitely hit up the folks at WPSiteCare.com They do all of this for you for a fee.
OK. You’re Right. I’m out of excuses.
I know. That’s why I wrote this. Thanks for reading. Go ye, and update WordPress fearlessly!