The WordPress and Joomla logos showing breakage when updates go wrong
09 Apr

Keeping a CMS website updated is an important part of maintaining it. Updates fix security vulnerabilities, correct bugs, add or improve features, and help software remain compatible with the technical environment around it.

Yet almost anyone who has managed websites for long enough has encountered an uncomfortable situation: everything worked before an update, and something did not work afterward.

A layout may change. An extension may produce an error. Part of the administration interface may stop responding as expected. In more serious cases, the website may become partly or completely unavailable.

It is natural to blame the update, but the underlying cause can be more complicated. A CMS website consists of components that must continue working together as each one evolves. An update can expose an existing compatibility problem, introduce a new incompatibility, or reveal a customization that depends on something that has changed.

NOTE: An update-related problem does not necessarily mean updating was a mistake. It means something in the website or its technical environment needs to be identified and brought back into compatibility.

Understanding these relationships makes updates easier to plan, troubleshoot, and recover from when the result is not what you expected.

A CMS Website Has Multiple Software Layers

Updating Joomla, WordPress, or another CMS may look like a single maintenance task, but the website itself is not a single piece of software.

Several layers contribute to the finished site:

  • CMS core
  • Extensions or plugins
  • Templates or themes
  • Template overrides and other customizations
  • Custom code
  • PHP and other runtime software
  • Database software
  • Web server and hosting configuration
  • External services and integrations

These layers do not necessarily come from the same developer or follow the same release schedule. Joomla core may be updated while an extension is still adapting to the new version. A hosting provider may introduce a newer PHP release while an older plugin still depends on functionality that has changed. A template may be current while a custom override based on an older layout has never been revised.

The website works when the relevant pieces remain compatible enough to operate together.

This is why update problems are often better understood as compatibility problems rather than simply as broken updates.

An Update Changes One Part of a Connected System

Suppose a CMS update changes a function used by extensions. The CMS itself may be working exactly as intended after the update, but an extension written for the previous behaviour may no longer interact with it correctly.

The same principle applies in the opposite direction. An extension update can change its output, which may affect a template override. A newer PHP version can handle older code differently. A database change can expose assumptions made by custom code written years earlier.

These are dependency relationships.

Some are obvious. An extension may state that it requires a particular Joomla version or minimum PHP release. Others are less visible because they are created through customization or simply through years of operating the website.

A site with many historical dependencies therefore has more relationships to consider whenever one component changes.

This connects directly with Why Website Maintenance Gets Harder as Sites Grow. As dependencies, configuration, customizations, and technical history accumulate, determining what a particular change might affect can require more work.

Updates Can Expose Existing Compatibility Problems

Some update failures originate in conditions that were already present before the update occurred.

An extension might rely on functionality that has been deprecated for several releases. A template override might be based on markup that the CMS is replacing. Custom code might produce warnings under a newer PHP version even though an older version tolerated it.

The website can continue operating while these conditions exist because the surrounding software has not yet changed enough to expose them.

When an update finally removes old functionality or changes an interface, the problem becomes visible.

From the site owner's perspective, the sequence is simple: the website worked, an update was installed, and then something failed. Technically, however, the update may have exposed a dependency that was already approaching the end of its compatible life.

This distinction matters because reverting the update may restore the website temporarily without solving the underlying issue.

Updates Can Also Introduce New Problems

Not every update-related failure comes from an old problem inside the website.

Software updates can contain bugs. A new release may behave differently from what an extension developer expected. An API can change. Markup can be altered. A compatibility issue may only become apparent after software is used across a wider variety of real websites.

Even well-tested software cannot reproduce every possible combination of hosting environment, extension, template, configuration, and custom code before release.

This is one reason maintenance should include a recovery plan rather than assuming every update will always succeed.

It is also why diagnosing what changed is more useful than adopting a general rule that updates are either safe or dangerous. Most updates are necessary parts of operating a supported website, but any meaningful software change deserves an appropriate level of preparation.

Extensions and Plugins Create Additional Compatibility Relationships

Extensions are one of the main advantages of a CMS. They let site owners add forms, ecommerce, security features, backups, search tools, publishing features, integrations, and many other capabilities without developing everything from scratch.

Each extension also becomes another component that must remain compatible with the rest of the website.

An extension may depend on:

  • a supported CMS version;
  • a minimum or maximum PHP version;
  • particular database capabilities;
  • another extension or library;
  • specific CMS events, APIs, or output;
  • an external service that can change independently.

The number of extensions alone does not determine whether a site will be difficult to update. Five poorly maintained or heavily interconnected extensions can create more trouble than twenty well-maintained components with clearly defined purposes.

What matters is the quality and condition of the dependencies.

This becomes particularly important when an extension is abandoned. The software may continue working for months or years, but future CMS, PHP, or server changes can eventually make continued use impractical.

WordPress sites provide a useful example of how plugin dependencies can accumulate. The article How Plugin Dependencies Create Risk on WordPress Sites examines that relationship in more detail.

Templates and Overrides Can Be Affected by Updates

Templates and themes occupy an important position between CMS output and what visitors see in their browsers. Changes at either end of that relationship can affect the finished layout.

Template overrides deserve particular attention.

In Joomla, an override can customize output from the CMS or an extension without directly editing the original files. This is powerful because the customization can survive normal software updates. However, surviving an update does not guarantee that the override remains compatible with the output it replaces.

For example, the CMS or an extension may update its standard layout while the site's override continues using an older version of that structure. Depending on what changed, the override may continue working normally, lose a new feature, produce incorrect markup, or require revision.

Custom CSS and JavaScript can have similar dependencies. A selector may rely on a particular class or element structure. A script may expect an interface that changes in a newer release.

NOTE: Customization is not inherently unsafe. It simply creates additional code or configuration that may need to be reviewed when the software it depends on changes.

PHP, Databases, and Hosting Environments Matter

CMS maintenance extends beyond the CMS itself.

Joomla, WordPress, extensions, templates, and custom code execute inside a server environment. PHP versions are updated and eventually reach end of support. Database software changes. Web servers and security configurations evolve. Hosting companies modify infrastructure and available features.

A website can therefore encounter compatibility problems even when the CMS itself has not just been updated.

For example, moving to a newer PHP version may expose outdated code in an extension. A server configuration change may affect file permissions or request handling. A database upgrade may reveal a query or data assumption that previously went unnoticed.

This is why it helps to think of the hosting environment as another dependency rather than merely the place where website files are stored.

When troubleshooting an apparent CMS update problem, it is worth knowing whether PHP, database software, server configuration, caching, or other infrastructure changed around the same time.

Custom Code Can Preserve Old Assumptions

Custom code is often written for the exact state of a website at a particular point in time.

That can make it extremely useful, but its compatibility depends on the assumptions made when it was created.

A custom plugin may use a CMS API that later changes. A script may depend on an extension's output. A template modification may expect a particular HTML structure. Code written for an older PHP version may need adjustment as the language evolves.

The difficulty increases when nobody currently maintaining the website knows that the customization exists or why it was introduced.

This is another reason documentation matters. Knowing that a site contains custom code, where it is located, what it changes, and what it depends on can substantially reduce the time required to investigate an update problem.

Why Two Similar Websites Can Update Differently

Two websites can run the same version of Joomla or WordPress and still respond differently to the same core update.

One may use different extensions. Another may contain template overrides. Their PHP versions may differ. One may have custom code while the other stays close to the CMS defaults. Their configuration histories may have developed in completely different directions.

Even two sites that began from the same installation can diverge considerably after several years.

This is why another person's successful update does not guarantee an identical result on your website, and someone else's failed update does not prove the release will cause the same problem for you.

The relevant question is whether your own combination of software, configuration, customization, and hosting environment is compatible with the change.

Preparation Makes Updates Easier to Manage

The purpose of update preparation is not to make every update complicated. Routine maintenance should remain routine when the website and the update allow it.

Preparation simply provides a way back if something unexpected happens.

Depending on the importance and complexity of the site, useful precautions can include:

  • having a recent, usable backup;
  • knowing how the site would be restored if necessary;
  • reviewing release notes and compatibility information;
  • checking important extensions and templates for known issues;
  • confirming relevant PHP and server requirements;
  • testing significant changes before applying them to a production website;
  • checking important site functions after the update.

Not every small maintenance release requires an elaborate testing process. The level of preparation should reflect the website's importance, complexity, customizations, and ability to tolerate downtime.

A small personal site and a busy ecommerce website do not carry the same operational risk.

IMPORTANT: A backup is most useful when you know it is complete and have a practical way to restore it. Simply having a backup file does not by itself guarantee recoverability.

Review What Changed Before Troubleshooting Everything

When a problem appears immediately after maintenance, changing several more things at once can make diagnosis harder.

Start by identifying what actually changed.

Was the CMS updated? Were several extensions updated during the same session? Did the template change? Was PHP upgraded? Did the hosting provider make an infrastructure change? Was configuration modified at the same time?

Reducing the problem to a smaller set of possible causes makes troubleshooting more systematic.

Release notes and compatibility documentation can also provide useful context. If an update intentionally changed markup, an API, a configuration option, or a minimum software requirement, the unexpected result may already have an explanation.

The objective is not to prove that one component is at fault. It is to identify which relationship stopped working as expected.

Avoiding Updates Usually Creates a Different Risk

After a difficult update experience, postponing future updates can feel safer.

That strategy has limits.

Delaying updates can leave known security vulnerabilities unresolved and allow the gap between the site's current software and supported releases to grow. Eventually, a future maintenance session may need to cross several versions at once while also dealing with newer PHP, database, extension, or template requirements.

That can make the eventual transition more complicated rather than less.

Regular maintenance tends to keep changes smaller and provides more opportunities to identify a dependency before it develops into a larger compatibility or migration problem.

This does not mean installing every release immediately without review. It means treating updates as a normal operational responsibility rather than something to avoid indefinitely.

The broader maintenance approach is covered in Why Website Maintenance Should Be Routine.

Updates Are Changes That Need to Be Managed

A CMS update should not be viewed as either a routine button click that can never cause trouble or a dangerous event that should be avoided whenever possible.

It is a software change inside a connected system.

Most of the time, supported components continue working together, and the update is uneventful. When something does go wrong, the cause may be an existing dependency, an outdated extension, a template override, custom code, a server change, a newly introduced software issue, or a combination of several factors.

Understanding those possibilities makes maintenance less mysterious.

Instead of asking only, "Did the update break the website?" a more useful question is, "What changed, and which part of the website no longer works with that change?"

That shift does not prevent every update problem, but it provides a much better starting point for preparing, diagnosing, and recovering when one occurs.

Article Comments

Comments are for discussion and clarification, not support requests.


Copyright © 2026 GeJay Media. All Rights Reserved.
Go To Top