WordPress updates seem pretty simple at first glance.
You log into your website and check for updates to WordPress and the themes and plugins you’ve installed. New updates will probably be available if you haven’t checked for them in at least a week. Select everything to be updated and click the ‘Updates” button.
You’re done! And it’s so easy. What could go wrong?
What Can Go Wrong When You Update Your WordPress Site?
Lots of things can go wrong during software updates for WordPress and just about anything else. Running updates on live sites without prior testing is never a good idea. WordPress is a live application that will crash when an update fails, introduces an incompatibility, or creates a fatal error.
Maintenance Mode During WordPress Updates
During the update process, your site goes into maintenance mode. At that time, everyone trying to load a page on your site will get a white screen with a small window that says, “Briefly unavailable for scheduled maintenance. Check back again in a minute.” Everyone browsing your site then will see this screen.
Worse, if an update times out and your server stalls, your site might stay stuck in maintenance mode, locking you (and everyone else) out. A good WordPress host will prevent the lockout from being permanent, but your site may be down for a short time.
Fatal Errors During WordPress Updates
Compatibility issues and plugin conflicts are the most likely culprit if an update triggers a 500 Server Error or the infamous “White Screen of Death.” Your WordPress website runs on a specific version of WordPress Core alongside your plugins and themes. They all require compatible versions of a web server, database, and PHP on the host server. They all need to maintain compatibility with WordPress and each other.
With any new WordPress version release, incompatibilities may surface between it and your site’s oldest plugins, themes, and server environment. It’s possible to break WordPress with a fatal server error during updates due to these incompatibilities. Upgrading may result in downtime if you’re not careful to anticipate compatibility problems.
How to Safely Update Your WordPress Fundraising Site: Seven Essential Steps
With the proper techniques and precautions, updating your WordPress website will go smoothly every time with zero downtime. Here are the seven essential steps to ensure you’re handling updates properly:
These really are essential steps. Every one of them matters. They may vary in how you apply them for your organization, but anything less rigorous would be irresponsible, especially for complex, high-value, high-traffic, multiuser, or multisite instances of WordPress. The more parts you have in motion, the more careful you need to be.
1. Find Out What’s New in the Updates You’re Making to Your WordPress Site
Understanding what is changing in software updates lets you know what to expect. You will better understand what might break and what to watch out for.
Ahead of all updates to WordPress Core, there is a lot of communication about the upcoming changes and the contents of the new release. The same is true for well-established themes and plugins. They want you to know about upcoming changes and how to cope.
WordPress core has a Field Guide for all new major and minor releases. No matter how simple, every type of WordPress software has a “changelog.txt” file summarizing all the changes in each new version.
You can get these details for a plugin by visiting the Installed Plugins page in your WordPress dashboard and clicking on the “View details” link for any plugin. (Themes work the same way. Visit Appearance › Themes and select “View details.”)
You should keep in touch with not only the WordPress project but the plugin and theme developers whose products you use. Most have newsletters or will at least share documentation and updates on their websites about new releases. Keeping up with the code you use will prevent you from having any unwanted surprises.
2. Take a Complete Website Backup
When you take a backup of your website, you ensure that you have a working copy stored away safely. This backup is your safety net. If your website breaks while you are updating your themes, plugins, and WordPress Core you can quickly restore it to its “last known good” state with a backup.
You should have an automated, offsite backup system for your website. Whether you use a backup plugin or rely on your host for backups, you should have new backups automatically generated every day. Then keep an archive of at least 30 days of backups. Your site and data may call for more backups if there are frequent changes or high-security needs.
3. Create a Private Test Environment
Using your backup snapshot, deploy it to a private staging site on the web, or create a local test environment on your computer. Some WordPress hosts simplify this process and provide all the tools you need for staging and deployment — such as Nexcess Managed WordPress plans.
You may prefer to set up a test site hosted alongside your live or “production” site on the same host. That arrangement ensures the “test” and “private” server environments will be identical, down to the server level. If you use a standard local development tool like Local for WordPress, set up your test site to use the same approximate server stack as your live site.
However you choose to set it up, your staging or local test site should be an exact copy of your live website.
4. Apply the Updates in Your Test Environment
This step is very simple. Just remember to apply only one update at a time.
As you apply each update, quickly refresh a relevant public-facing page to ensure no obvious errors or unexpected outcomes have emerged.
Start with themes and then move on to plugins. Finally, update WordPress. If something breaks, you will know the cause has something to do with the last software you upgraded.
Your host may provide visual comparison tools to help identify even the slightest visible changes to your site after a software update. Nexcess’s Managed WordPress and Woocommerce hosting plans come with this feature built-in. Services like Versionista and Visualping may also come in handy.
5. Test Critical Pages and Functionality
Once you’ve completed all updates and resolved any issues on your test site, do a deeper dive. The visual comparison tools mentioned above can help immensely, but there’s no substitute for live user testing.
Test your most critical content and critical functionality, like donation forms.
Test key interactive elements, e-commerce, and forms of any kind.
An update might change and degrade user experience without necessarily breaking functionality, so test from the perspective of not-logged-in visitors and registered (logged-in) users.
6. Perform Diagnostics and Audit Your Plugins
This is a good time to do a quick performance analysis to make sure your site is not getting slower. Tools like Google Pagespeed Insights, Pingdom’s Speed Test, GTmetrix, and WebPagetest will reveal any major slowdowns. Diagnostic plugins can help you pin down the cause of any slowness. WP Debugging, Query Monitor, and Debug Bar are standard developer tools for this purpose.
For minor updates, you may skip this step, but it’s important to periodically audit the plugins and themes you’ve installed and assess your site’s performance.
As you review your installed plugins and themes, look out for the following:
Themes and plugins that are not being maintained will eventually develop vulnerabilities, leaving your website at risk. Remove themes and plugins that their authors and owners have abandoned. You can find alternatives in places like AlternativeTo.
You can assess the status of any theme or plugin by visiting their official websites, social media accounts, or the plugin/theme marketplace. Reach out to the owner or lead developers — they’ll often reply.
While some plugin and theme developers notify users about updates through blog posts and social media, others do this through emails. It’s possible you missed an update by not following the proper channels. If so, make sure you do it in the future!
Many commercial WordPress plugins and themes use a premium subscription model where you subscribe and make annual payments to continue receiving updates beyond your first year. Make sure you wish to renew and have done so. Sometimes an expired credit card will block updates after a subscription has lapsed.
7. Update Your Live WordPress Site
The final step is your moment of truth. You have two options: 1) push the tested updates from your staging site to live or 2) perform the same updates again, but this time apply them directly to the live site.
If much time has passed during your testing phase and your website has changed significantly from visitor transactions or new content your team has published, you’ll want to take the latter approach. Run the updates you’ve tested directly on the live site.
On relatively simple, static sites, you may prefer to push the verified test site to live using your preferred staging and deployment tools.
In either case, keep a fresh backup snapshot ready if you need to make an emergency rollback. After notifying your team and primary constituents, it’s best to take this last step at a time when your site is least active with visitor traffic.
Note that any plugin-based or server-side caching you actively use may retain cached versions of old pages that do not reflect your updates. Visitors may get a stale cached version of your site for a while after you make your updates. To prevent that, you may wish to turn caching off when applying updates or else flush all caches after you’ve made the updates.
If you have any caching problems, check our documentation on common WordPress caching issues.
Don’t Wait to Update, But Do Take Care!
WordPress updates are vital. You need updates to secure and maintain your fundraising website. Using current software will give donors and visitors the best experience.
That said, running every update as it comes without preliminary testing is a terrible idea. You should always plan a scheduled and publicly announced maintenance period (outside of business hours) so your team and primary users know what is happening. Finally, you should have a quick recovery plan and backup system if something goes wrong.
While it’s critical to maintain timely updates on your WordPress site, downtime directly impairs your team’s mission and work. It can diminish your brand. Downtime is even more costly if you take donations or sell things through your website.
Updates won’t be a source of downtime if you follow the steps and take the recommended precautions.
This content was originally published here.