This is a distinction that matters more than most business owners realise, and it comes up in almost every conversation I have with someone who hasn’t had active support for their ExpressionEngine site in a while.
The site is working. Pages load, content can be updated, forms submit. From the outside, everything looks fine. But working and maintained are two very different things, and the gap between them has a cost that compounds over time.
The serviced car analogy
The closest equivalent I can think of is a car. A car that hasn’t been serviced in three years might still get you from A to B. The engine runs, the brakes work, you can drive it. But the oil hasn’t been changed, the brake pads haven’t been checked, and the timing belt is overdue. It works, but it isn’t maintained. The risk isn’t that it breaks down today. The risk is that when something does fail, it’s more serious and more expensive than it would have been.
A website follows the same logic.
What goes wrong when nothing is actively maintained
PHP versions move forward. Your hosting provider will eventually upgrade the server to a newer PHP version, and your EE installation may not be compatible with it. When that happens, the site stops working. Not gradually: it either works or it doesn’t.
Security vulnerabilities accumulate. ExpressionEngine receives security updates, but those updates only help you if you apply them. An unpatched installation becomes progressively more vulnerable over time.
Addons drift out of compatibility. The third-party addons your site depends on are maintained by independent developers. They release updates, drop support for older EE versions, and occasionally stop maintaining a product entirely. If you’re not tracking this, you won’t know until something breaks.
Third-party integrations change. If your site connects to Stripe, Mailchimp, HubSpot, or any other external service, those services change their APIs. An integration that worked perfectly two years ago may be relying on an endpoint that’s been deprecated.
The compound interest problem
The longer a site goes without maintenance, the more work is involved in bringing it back to a properly maintained state. Each missed update makes the next one more complex. A site that’s one minor version behind is easy to update. A site that’s three major versions behind, with outdated addons and PHP incompatibilities, is a significant project.
This isn’t unique to ExpressionEngine. It applies to any software-dependent system. But because EE sites tend to be business-critical and often involve custom development work, the consequences of deferred maintenance are typically more acute.
What ongoing maintenance actually looks like
It doesn’t need to be intensive. For most sites it means monitoring, applying updates when they’re available, keeping an eye on addon compatibility, and having someone who knows the site well enough to act quickly when something needs attention.
The cost of doing this properly is a fraction of the cost of dealing with the consequences of not doing it.
If you are not sure whether your site is actually being maintained or just still working, get in touch with Karl to find out.
Most business owners have no idea what state their ExpressionEngine site is in. They know it’s working, they can add content, and the contact form still sends emails. Beyond that, it’s a black box. Problems can accumulate quietly over a long period before they become visible.
It is more common than most people realise. A business has been running an ExpressionEngine site for years, the relationship with the agency that built it gradually fades, and eventually there is no-one actively looking after the site. Understanding why this happens helps you know what to do about it.
Delaying an ExpressionEngine upgrade is easy to justify. The site still works, the budget is committed elsewhere, and nothing has broken yet. But delays in this area follow a predictable pattern, and the costs accumulate in ways that are not immediately visible.
Most clients come to us when their site has started to feel like a risk rather than an asset. Whether the agency relationship has ended, an upgrade has been delayed, or the site has simply grown beyond what it can handle, a conversation costs nothing.