Security

How to Keep Website Software Updated Without Breaking Anything

Outdated plugins and themes are a leading way sites get hacked. Learn a safe update routine with backups, staging, auto-updates and a plan for abandoned code.

By Zebra Hosting Cloud

Software has bugs, and some bugs are security holes. When a vulnerability in a plugin, theme or content management system is published, attackers begin scanning the internet for sites that still run the old version. Applying the update closes the hole. Skipping it leaves your site on a list that automated tools read faster than any human can.

Many site owners delay updates because they fear something will break. That fear is reasonable, and the answer is a routine that makes updating safe, not avoiding updates.

What needs updating

  • The content management system itself, such as WordPress core.
  • Plugins and themes, including inactive ones. Inactive code is still on the server and can often still be reached.
  • The PHP version. Unsupported PHP versions stop receiving security fixes.
  • Libraries bundled with a custom site, such as npm and Composer packages.
  • Server software if you manage a VPS or dedicated server: the operating system, web server, database and control panel.
  • Third-party scripts and services that you load from outside.

A safe update routine

  1. Back up first. Take a full backup of files and database, and know how to restore it. Updates without a backup are a gamble.
  2. Read the changelog for major version updates, since they can change behaviour or drop support for older PHP.
  3. Update on a staging copy if the site earns money or is complex. Test the key journeys: home page, forms, login, search, checkout.
  4. Update one thing at a time where possible, so if something breaks you know which update caused it.
  5. Test after each update, logged in and logged out, on desktop and mobile.
  6. Check for errors in the PHP error log and the browser console.
  7. Roll back if needed, using the backup, and report the bug to the plugin author.

Automatic updates: yes, with limits

WordPress can install minor core releases, which are mostly security fixes, automatically, and you can enable automatic updates for plugins and themes individually. For small sites with a backup in place, automatic updates for security releases and well-maintained plugins are usually safer than doing nothing. For a shop or complex site, prefer a short, regular manual window: update weekly on staging, test, then apply to production.

ComponentSuggested approach
WordPress minor releasesAutomatic
Trusted, well-maintained plugins on a simple siteAutomatic, with backups
Major version updatesManual, tested on staging
E-commerce and membership pluginsManual, tested on staging
PHP versionPlanned upgrade on staging, before the old version loses support

Know when something is abandoned

A plugin that has not been updated for a long time, or has been removed from its official repository, is a risk. Signs include no updates for a year or more, unanswered support requests, and a "not tested with your version of WordPress" warning. Replace it with a maintained alternative, or remove it entirely. Fewer plugins mean fewer things to update and fewer places for a vulnerability to hide.

Reduce the amount to update

  • Delete plugins and themes you do not use instead of leaving them deactivated.
  • Choose well-supported plugins from reputable developers with regular releases.
  • Avoid nulled or pirated premium software, which is often infected.
  • Remove old test installs and forgotten subdomains.

Stay informed

Subscribe to security announcements for the software you use, or use a monitoring service or plugin that alerts you to known vulnerabilities in installed plugins. When a critical vulnerability is announced for something you use, update that day. Add a recurring weekly slot to your calendar so updating is routine, not a reaction.

Plan for PHP version changes

Each PHP release has a limited support period, after which it no longer receives security fixes. Running an old version leaves known holes unpatched no matter how diligent you are with plugins. Check which PHP version your site uses in Plesk (the knowledge base shows where), then compare it with the versions the PHP project currently supports. When your version is approaching its end of life, test the site on the next supported version on a staging copy first, because old plugins and custom code sometimes rely on removed features and can show errors or blank pages.

  1. Clone the site to a staging subdomain and set it to the newer PHP version.
  2. Turn on error logging and click through every key page and form.
  3. Update or replace any plugin that logs deprecation warnings or fatal errors.
  4. Switch the live site over during a quiet period, and keep the previous version selectable for a quick rollback.

What to do when an update breaks something

Stay calm and work methodically. Restore the backup if the site is down and customers are affected, then investigate on staging. If a single plugin update caused the problem, check its support forum for the same report, roll back that plugin to the previous version if you must, and contact the developer. Note which version works so that the problem is not repeated at the next update. A short log of what you updated and when will make this kind of troubleshooting far quicker.

Updates and your hosting plan

Your platform should make updating safer, not harder. On Zebra Hosting Cloud, Plesk lets you choose PHP versions per site, and you can take backups before changes. If you want a fresh start or a managed move to a new, current setup, the team moves your site free through the migration service.