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.

3 minread 699words last updated

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

LineWhat goes in itOften forgotten?
BuildThe proposal price, plus content, photography and anything excludedExclusions
Hosting and domainMonthly, times thirty-sixRarely
Licences and pluginsTheme, page builder, plugins, content system fees, premium appsUsually
MaintenanceUpdates, security, backups, monitoring; a monthly scope or hourlyUsually underestimated
ChangesLanding pages, new sections, integrations you will wantAlways
IncidentsOutages, hacks, broken forms, emergency fixes, lost businessAlmost always
Your staff’s timeCoordinating vendors, chasing, explaining, testingAlmost always
Cost of leavingRebuild if the site cannot move; migration if it canAlways

How to do it

  1. One column per option. The proposals you are comparing, or your current site versus a rebuild.
  2. 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.
  3. Multiply the monthly lines by thirty-six.
  4. Add the cost of leaving. Can the code and content move? If not, a rebuild goes in the column.
  5. 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.

Written by the CivSec S.M.A.R.T team

We build and run websites, software and AI systems for businesses. We write about what we see in that work, in plain language, and we update articles when things change.

Last checked . Spotted something outdated? Tell us.

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.