Total cost of ownership: three years, not the launch price
The launch price is one line of a three-year bill. How to build the full picture, which lines suppliers leave out, and why cheap builds cost most.
The short answer
The price on the proposal is the launch price. The cost of a website is what you pay for it over its life: the build, then every month of hosting, licences, maintenance, changes, incidents and the time your own people spend on it, and finally what it costs to leave. Over three years the launch price is one line of five. The other four are hosting, maintenance and updates, the fixes and small changes, and the work a weak foundation forces later; a proposal that shows only the first is showing a fifth of the question.
The sum takes an hour and changes decisions.
The lines in the sum
| Line | What goes in it | Often forgotten? |
|---|---|---|
| Build | The proposal price, plus content, photography and anything excluded | Exclusions |
| Hosting and domain | Monthly, times thirty-six | Rarely |
| Licences and plugins | Theme, page builder, plugins, content system fees, premium apps | Usually |
| Maintenance | Updates, security, backups, monitoring; a monthly scope or hourly | Usually underestimated |
| Changes | Landing pages, new sections, integrations you will want | Always |
| Incidents | Outages, hacks, broken forms, emergency fixes, lost business | Almost always |
| Your staff’s time | Coordinating vendors, chasing, explaining, testing | Almost always |
| Cost of leaving | Rebuild if the site cannot move; migration if it can | Always |
How to do it
- One column per option. The proposals you are comparing, or your current site versus a rebuild.
- Fill every line, honestly. Where a supplier did not state a running cost, ask. Where you do not know an incident cost, estimate conservatively and note it.
- Multiply the monthly lines by thirty-six.
- Add the cost of leaving. Can the code and content move? If not, a rebuild goes in the column.
- Read the totals. Then read the incident and staff-time lines separately, because those are the ones that hurt.
What the approach does to the sum
- Static site in code you own, on a modern platform. Higher build, low hosting, no licences, maintenance as a predictable scope, few incidents, cheap to leave.
- Content system with plugins. Lower build, moderate hosting, plugin and theme fees, maintenance that must happen monthly, more incidents, moderate to leave.
- Page builder. Lowest build, monthly platform fee forever, limited maintenance needs but limited control, incidents mostly platform-side, expensive to leave because nothing exports.
What this means for you
Never compare launch prices alone. Build the table, fill every line, multiply the monthly ones, add the cost of leaving, and compare totals. Then look at who owns the code and the accounts in each column, because that decides the last line. The site that is cheapest to own has three properties, and they are checkable rather than promised: the code is yours, the platform needs little maintenance, and one named party is accountable for keeping it that way. Any option that misses one of the three pays for it in a later line.
Frequently asked questions
Why three years?
Long enough for running costs, maintenance and at least one significant change to show up, and roughly the life of a business website before it needs a serious refresh. Five years works for software. One year hides everything that matters.
How do we estimate incident costs?
Look at the last three years: outages, hacks, broken forms, lost email, emergency fixes. Count the hours and any lost business. If the honest answer is 'we do not know', use a conservative estimate and note that the option with monitoring and a maintenance routine reduces it.
Is the most expensive build always the cheapest to own?
No. A build can be expensive and also poorly structured. The pattern that holds is that the approach decides the running cost: static, owned code on a modern platform is cheap to run regardless of what the build cost, and a heavy platform with plugins is expensive to run regardless of how cheap the build was.