A shallow galvanised metal tray with a wire handle, sitting on a pale stone surface and crowded with worn steel spanners of many sizes lying across each other, one of them wrapped round the middle with scarlet tape, an illustration of website technical debt piling up unsorted

A business website usually becomes expensive to maintain long before anyone decides to replace it. The cost arrives as website technical debt: plugins added and never removed, customisations made in a place the next update will overwrite, and upgrades postponed because the last one broke the contact form. None of it shows on the page. All of it shows in the invoice, in how long a small change takes, and in how reluctant everyone has become to touch anything.

The seven signs below appear in the bill rather than in the browser. Three or more means the site is charging you interest, and the answer is usually a revamp of the parts carrying the debt rather than a rebuild of everything.

What website technical debt actually is

The term comes from software. Ward Cunningham coined the metaphor, and Martin Fowler’s summary puts the cost plainly: the extra effort it takes to add new features is the interest paid on the debt. On a business website the debt is anything that makes the next change harder, slower or riskier than it needs to be — and the interest is paid in developer hours you did not plan for.

It is not the same thing as maintenance. Maintenance is the work you schedule; debt is what accumulates when that work is deferred, or when the plan covers plugin updates and nothing else. We have written separately on what a maintenance plan should actually include. This is about recognising the bill in a site that never had one.

Some debt is a deliberate and sensible choice: a shortcut taken to open an online shop before a festive season is fine, provided somebody wrote down what was skipped. Debt you chose and recorded is a decision. Debt nobody remembers taking is a surprise invoice.

A squat clear glass jar on a pale stone surface, filled with mismatched steel screws, nuts and washers heaped above its rim, a few spilled onto the surface to its left and a single scarlet screw lying alone to its right
A length of grey rubber hose lying in a shallow S-curve right across a pale concrete surface, wrapped with three separate bands of scarlet tape at intervals along it, a part-used roll of the same tape resting on the surface at the right-hand end

The seven signs, and what each one costs

1. Updates are postponed because the last one broke something

The clearest sign of all. Someone updated a plugin, the enquiry form quietly stopped sending, and updates now happen only when they cannot be avoided. Every month of deferral widens the gap between what is installed and what is current, and it is that gap which turns a ten-minute update into an afternoon of untangling.

2. Nothing can be changed without a developer

Adding a service, swapping a photograph on the homepage, correcting the opening hours in the footer. If any of those needs a quote, the site was built in a way that locks its owner out. The bill is the smaller half of that problem: the site also drifts out of date between paid jobs, because nobody raises a purchase order to fix a typo.

3. The plugin list only ever grows

Twelve plugins doing nine jobs. One WhatsApp button was replaced by a second WhatsApp button and the first was never deleted, one has been deactivated for a year, and one was abandoned by its developer three versions of WordPress ago. Each is code somebody else wrote, with its own update cycle and its own licence renewal. Count the active plugins on your site, then count how many a visitor would notice if they disappeared tonight.

4. The same problem is fixed more than once

A change made directly in a theme file rather than in a child theme is erased by the next theme update and paid for again. If the phrase “reapplied the fix” appears anywhere in your developer notes, that is interest, not principal.

5. Changes are made straight on the live site

No staging copy means every change is tested by customers. It also means nobody dares attempt the update that would clear three of the other signs on this list, so the caution compounds along with the debt. Staging costs little on most Malaysian shared hosting plans, and going without it is rarely a saving.

6. The software underneath is past its supported life

WordPress recommends PHP 8.3 or newer and will still run on 7.4, while warning that end-of-life versions expose a site to vulnerabilities. On the PHP side, only the 8.2, 8.3, 8.4 and 8.5 branches still receive security fixes, and 8.2 loses even those at the end of December 2026. If your hosting control panel still shows 7.4 or 8.0, that is not a preference left alone — it is a deadline that passed. The same applies to a premium theme whose licence lapsed.

7. The invoice is all firefighting and no improvement

Take twelve months of website spend and sort every line into two columns: kept it working, and made it better. A site in reasonable health leans towards the second. When almost everything sits in the first column, the website is absorbing budget that was meant to grow the business.

A dense knotted heap of pale natural rope piled on a pale stone surface, with one thin scarlet cord threaded through the tangle and emerging from its right side to run straight out to the edge of the frame

Why the bill rises even when nothing on your site changes

A site left completely alone still gets more expensive, because the ecosystem around it keeps moving. Patchstack’s State of WordPress Security in 2026 counted 11,334 new vulnerabilities across the WordPress ecosystem during 2025, 42% more than the year before. Ninety-one per cent of them were in plugins and nine per cent in themes. WordPress core accounted for six, all low priority.

Two figures there matter more than the headline. Just under half, 46%, were not fixed by their developer before the vulnerability became public, so updating promptly is necessary but not sufficient: a plugin whose author has gone quiet is a liability however diligent you are. And 1,966 were high severity, more than the previous two years combined.

Core itself is well looked after: a security team of more than fifty people reviews and patches WordPress, and critical fixes reach older versions automatically. The exposure sits in the extensions somebody chose, which is another way of saying it sits in sign three.

Paying the debt down without rebuilding the site

None of this argues for starting again. On most business websites the debt sits in a handful of places, and a revamp that keeps the platform, the URLs and the content that already earn is cheaper than a rebuild that discards all three.

  • Write the debt down before fixing any of it. One page: every plugin and the job it does, the theme and its licence status, the PHP version, what breaks on update, and which changes need a developer. An hour of listing is what makes the next quote honest.
  • Get a staging copy first. Nothing else on this list is safe without one, and most hosts include it in the plan you already pay for.
  • Remove before you update. Deleting four plugins nobody uses is faster and safer than updating them, and it shortens every update after this one.
  • Move the customisations somewhere an update cannot reach. A child theme, or a small site-specific plugin, so the same fix is never bought twice.
  • Raise the PHP version on staging, one branch at a time. The control panel change takes a minute; the testing is the actual work, and far cheaper than meeting the incompatibility on the live site.
  • Decide what the site should cost to run in a year. Then judge each proposed fix against that figure rather than against the last invoice.

If several signs describe your site, the wider diagnostic of when a refresh is no longer enough is the sensible next read, and the revamp or rebuild decision covers the one case where the debt is not worth repaying: a platform that cannot be brought back to a supported state at all.

Frequently asked questions

How much website technical debt is normal?

Every working site carries some. The useful test is not how much exists but whether anyone can name it. If the person responsible can list what is installed, what breaks and what was skipped, the debt is managed. If nobody can, it is compounding.

Is it cheaper to keep patching or to revamp?

Compare twelve months of upkeep against what a scoped revamp would cost, and include the changes you wanted but never requested because they were too expensive to ask for. Patching wins when the site is sound and one or two things are wrong. Once three or more signs apply, patching usually costs more over two years and leaves you with the same site.

Do I have to update plugins if the site is working?

Yes, because “working” describes today only. Vulnerabilities are published against versions rather than against sites, so an unpatched plugin becomes a known way in the moment it is disclosed. Turn on automatic updates for the plugins you trust, keep a staging copy for the ones you do not, and delete anything you cannot justify keeping.

Where iRevamps fits

We are usually called in when the invoices stopped making sense, not when the site stopped working. The first thing we produce is the list described above: what is installed, what it costs, what breaks, and how much is worth carrying forward. Our web development and design work then repays the debt in the order that costs the business most, keeping the URLs and the content that already earn their place. If this pattern sounds like your website, tell us what the last twelve months of website spend went on.