Delaying a Craft CMS 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 build in ways that aren't visible until the upgrade finally happens.
The gap between versions widens
Craft has moved through several major versions, Craft 3, Craft 4, and now Craft 5, each with real changes underneath: new PHP version requirements, updated dependencies, and now a shift to running on Laravel. A site upgraded steadily through each version is a straightforward project every time. A site that skips two or three major versions in one go has to absorb all of that change at once, and every version it's fallen behind adds to the size and risk of the eventual project.
More plugins fall out of support while you wait
Craft plugins are built and maintained by independent developers through the Plugin Store, the same as any third-party software. Every year a site goes without an upgrade increases the odds that one of its plugins has been abandoned, has stopped supporting the current Craft version, or needs replacing outright. Replacing a plugin often means more than a code change: retraining editors, rebuilding a workflow, or recreating functionality the plugin used to handle with no direct equivalent left.
Technical debt becomes harder to separate from the upgrade
Sites built several years ago often carry customisations nobody documented at the time. By the time an upgrade finally gets commissioned, the person who understood those decisions has usually moved on, and the project stops being a straightforward upgrade. It becomes an exercise in working out what the site actually does before anyone can safely touch it.
Emergency upgrades cost more than planned ones
The most expensive version of this is the forced upgrade: a hosting provider drops support for the PHP version the site needs, a plugin stops working after a server change, or a security issue forces the question. At that point there's no time for staging, testing, or a controlled rollout. Work done under that kind of pressure costs more and carries a higher risk of something else breaking on the way.
What planned maintenance actually looks like
The alternative is a maintenance arrangement where the site gets reviewed on a regular schedule. Core and plugin updates happen in a controlled environment, get tested, and go live in a planned way rather than a scramble. Issues get caught while they're still small. Spread over three years, that approach typically costs a fraction of what a deferred upgrade ends up costing in year four.
If you've been putting off a Craft CMS upgrade, get in touch with Karl to find out what it's costing you.