So, you’ve logged into the back end of WordPress and seen the notice at the top asking you to update WordPress.
Updates mean better security and new features. All very good things.
It sounds like a good idea, until it’s not.
What Does the “Update” Button Do?
Clicking the update button simply downloads the new package and removes the old package. What happens after that depends on the software that is being updated.
Some updates are very minor, and may only contain small code adjustments and bug/security fixes. You can normally differentiate these fixes based on version number. For example a minor update would go from version 5.4.2 to version 5.4.3.
Major updates can include a substantial change to the codebase of the software, and may also trigger major updates to the database. There is generally a higher risk when it comes to updating major version releases of software. An example of a major release would be going from version 5.4.2 to version 6.0.
What Can Go Wrong?
There are a number of things that could go wrong when updating plugins, from something small like a simple visual issue, to something big like a corrupted database causing the entire website to go down in a blazing fire. Let’s take a look at some of the most common issues when a plugin/core update goes wrong.
Broken Functionality
When updating software, you could also be introducing new bugs from the software. This may cause your website to break. If the software you’re updating does something simple like change the colour of a button, then it’s not such a big deal. If the software does something major, like manage an entire eCommerce store on your website, then it could be a much bigger deal.
Side note: please don’t install a plugin just to change the colour of a button.
Plugin Incompatibility
This ties into the broken functionality I mentioned above. There can be cases where two plugins can conflict with each other. These conflicts can happen for a variety of reasons like using the same function or class names, using the same WordPress hooks, loading different versions of the same JS/CSS libraries, and many more. Issues like this need to be reported to the plugin developers to be fixed. If you have updated a plugin that has created a conflict, you will need to restore a previous version of the plugin until a fixed version is available.
Website Goes Down
Sometimes an innocent click of the update button can bring a whole website down. There are many reasons this can happen:
- The new code in the updated plugin may contain a fatal PHP error.
- If the server is already under load, updating a plugin could cause it to exceed the resource limits and crash the server.
- The updated plugin may need to perform database changes, and in the process it could corrupt the database.
- During the update process the files could become corrupted or incomplete.
- The updated plugin may require new versions of other software/frameworks that aren’t available, causing it to break.
There are a number of other reasons a website could go down because of an update, and checking the errors and server logs will help to identify the exact cause.
Backward Compatibility
There may be multiple pieces of software on a website that rely on each other to run correctly. Sometimes updating a plugin to the latest version as soon as it comes out can break functionality of a separate plugin on your website, which creates a breaking change.
Additionally, major software updates can sometimes create a one-way compatibility issue. Once you upgrade to the latest version, the plugin may make changes to your website that prevent you from rolling back to previous versions. This becomes problematic when the new version causes website issues and you need to downgrade. In these cases, restoring from a full website backup may be your only solution.
Stuck In Maintenance Mode
I’ll add this one because it is a common issue for WordPress beginners, particularly on slow/shared hosting environments. When WordPress is updating a plugin it adds a file to the server called ‘.maintenance’. This file shows a very basic and uninspired maintenance page to anyone who is trying to view the website while software is being updated. When the update is complete, WordPress should delete this file, however if there are server issues or other errors, it can cause this file to remain and thus your website will be stuck in ‘maintenance mode’ until it is removed.
You can fix it easily by removing the ‘.maintenance’ file, however you will need access to your server files to do this.
Before You Update WordPress, Do This
Check the Changelog
All plugin and core updates will have a changelog attached. The changelog tells you what has changed between the old version and the current version. It will also let you know about any breaking changes, or things you need to take into consideration before updating the software.
Create a Backup
The general rule of thumb before doing anything on a website is to take a backup. It’s a good insurance policy, and depending on the size of the website will only take a minute. You should always make sure your backup system works, so make sure you test restoring a backup before putting all of your faith in your backup system.
Update on Staging First
If you have a large number of updates, or a plugin with a major update, it’s a good idea to perform the updates on a staging website first so that you can test to make sure everything is working as expected before pushing the updates on your live website. Some people may disagree with me, but you don’t have to always update on a staging site first. If the update is only minor, and the software is from a reputable and quality developer, then it should be generally safe to update on a live site. Just make sure you have that backup ready, and try to do it during low-traffic hours.
After You Update WordPress, Do This
Purge the Cache
If you have a cache in place then your website will be serving a static version of your website that could be hours, days, or even weeks old. So after you have performed your updates, make sure you purge the cache so that you are seeing the latest changes on your website.
Test Thoroughly
Whether you have updated on a staging website or a live website, make sure you test your website. If you have some key functionality on your website, ensure it is all still working as expected (even if it is unrelated to the software you just updated). Make sure you have cleared/disabled that cache before you start testing, otherwise you could be wasting your time or missing issues that you can’t see.
What if You Just Ignore the Update?
You should never completely ignore software updates, that’s a recipe for disaster. However there can be times where it is sensible to wait before hitting the update button. Here are some considerations when deciding whether to update immediately, or wait.
Security
It’s very common for software updates to contain security fixes. In some cases the vulnerabilities that have been patched in the latest version may already be getting exploited on live websites, and yours could be next. So when you see an update is available, check the changelog to see if there are any ‘security’ tags in there, and if so consider making the update a priority.
Compatibility
There are times when you have plugins which provide add-ons or extend the functionality of another plugin. If the main plugin gets an update which breaks the functionality of an addon/extension plugin, you may need to wait until any other dependent plugins have been patched to be compatible with the latest version of the original plugin.
If you’ve postponed core or plugin updates for an extended period (months or even years) attempting to jump multiple major versions at once (such as from v2.5 to v6.4) can be particularly risky for your website. During such lengthy intervals, the codebase typically undergoes substantial changes, including significant database structure modifications. When you update incrementally as new versions are released, these gradual codebase and database changes are handled smoothly through each update’s migration processes. However, making such large version jumps bypasses these incremental transitions. The update mechanism may not be designed to handle such dramatic changes all at once, potentially causing major compatibility issues, database corruption, or complete site failure.
Support
If you are having problems with a plugin and need support from the developer, they typically won’t help you unless you are running the latest version of the plugin. If you are using an old version of the plugin and there is an issue/bug you need help with, it’s possible that it was fixed in the latest version.
Features
If you don’t update, you don’t get the latest features in those updates. No surprise there.
When It’s Okay To Wait
It’s not always a good idea to jump on to a new update immediately, and there are a few times when you may want to hold off before hitting that update update button.
Major Releases – If the update is a major release (e.g version 3.0) it may be a good idea to wait for a few point releases (e.g. 3.0.2). A major release is more likely to contain bugs, and these will get resolved within the proceeding days/weeks after release.
Compatibility – As I mentioned previously, if you have other plugins that extend the functionality of the plugin that need updating, you may need to wait until those plugins have been updated to be compatible with the new version.
Critical/Complex Websites – If you have a very large or complex website, and there is a new version of a plugin that plays a key role in that website’s functionality, you may want to wait and do more extensive testing before deploying the update.
An Easy Option if it’s All Too Stressful
Who ever thought that clicking a button could be so stressful? Fortunately, this is one of those owning-a-business jobs that is really easy to hand off to someone else.
If you’re on a care plan with your website team that includes done-for-you updates and maintenance… let them click the button for you (and deal with the repercussions). Our clients get a monthly report that tells them about any platform/plugin updates we took care of. And if there’s ever any dramas, we troubleshoot them right away.