Caliency.
Web Development

How Much Does a Website Cost to Build in 2026?

Why the same website gets quotes five times apart, the items no build price contains, and the cost that runs because the platform underneath you ages.

C

Caliency

13 min read
3D illustration on a mint-green background: an empty browser window standing upright, a price tag hanging beside it, and loose coins scattered in front.

The honest answer to "how much does a website cost" is the same as it is for an app: almost entirely on scope — and scope is the thing that is not yet settled when most people ask.

That is why nearly every pricing guide you will find gives you a range instead of a number. It is worth saying plainly why those ranges are so wide: the people publishing them intend to quote you later. A range with five times between its ends commits its author to nothing.

We do it differently, and that is the only reason this guide can be written without a range. Caliency publishes fixed prices for defined scopes on the web development page. So instead of inventing a market average, this guide does something more useful: it explains what actually moves the number, the items no build price contains, and the cost the platform underneath you imposes even when your site does not change.

Key Takeaways

  • Quotes for "the same website" diverge because they are usually not quotes for the same scope. The gap is a specification problem, not a margin problem.
  • SSL is no longer a line item: Let's Encrypt states that "anyone who owns a domain name" can obtain a trusted certificate "at zero cost" (Let's Encrypt).
  • Maintenance is not optional: each PHP branch gets two years of active support and two of security fixes, and security support for PHP 8.2 ends on 31 December 2026 (php.net).
  • Selling into the EU makes accessibility a budget line: Directive (EU) 2019/882 applies to services provided to consumers after 28 June 2025 and explicitly covers e-commerce services (EUR-Lex).
  • A fixed price protects you only if scope was fixed first. Otherwise it is an hourly contract with extra paperwork.

Why the same website gets quotes five times apart

They are almost never quotes for the same website. Two proposals can describe work that sounds identical and price it five times apart, because they are quietly answering different questions.

Six questions explain most of the gap:

  • Is the design custom, or a purchased theme? A theme is not a bad choice. But it is usually the single largest line item separating two quotes, and both of them will write "modern design". You have to ask which one it is.
  • How many unique page templates are there? Not pages — templates. Twenty product pages sharing one template is one piece of work; twenty distinct layouts is twenty. This is why comparing quotes by page count misleads.
  • Who writes the content? Copy, photography, product descriptions. If it is not in scope, the project does not finish — it waits on your desk. That, not anything technical, is the most common reason a built site never launches.
  • Is it multilingual? A second language is not twice the pages. It is a separate content workflow, a separate URL structure and hreflang. Adding it later costs more than building for it from the start.
  • Who updates the content afterwards? A site you will edit is built differently from a site your developer will edit. An admin interface and a content model are real work and cannot be compressed into one line reading "CMS setup".
  • Who pays for post-launch fixes? Bugs that surface in real browsers with real users are a certainty, not a risk. Whether they are billable is a contract question, not an engineering one.

Ask two agencies those six questions and their "identical" quotes will stop being identical. That is the useful exercise — far more useful than comparing the numbers on the cover.

What these decisions mean technically is covered in the website development guide and the WordPress versus custom comparison.

What no build price contains

Whatever you pay to have the site built, some items sit outside it. These are the items with published numbers, which is where this guide can be precise.

Domain and hosting. Both are recurring commitments that continue for the life of the site. What each one actually does, and what depends on what, is explained without jargon in domain, hosting and DNS.

Business email. info@yourcompany.com does not arrive with the domain. It is a separate subscription, billed per user. A small amount, but one that becomes a surprise if it is missing from the first budget conversation.

SSL — not any more. This item is here to be removed from your list. Let's Encrypt states that "anyone who owns a domain name" can obtain "a trusted certificate at zero cost" (Let's Encrypt). If you see a separate SSL line on a quote, ask whether it is a fee or a service. Either can be legitimate — but the certificate itself does not cost anything.

If you sell: platform subscription and payment fees. Shopify's published plans start at $19 per month on annual billing (Basic); the same plan is $27 billed monthly. Grow is $72 monthly or $54 annually, Advanced is $399 monthly or $299 annually, and Plus starts at $2,300 per month. Using a third-party payment provider adds 2%, 1%, 0.6% or 0.2% depending on the plan (Shopify). With WooCommerce the plugin itself is free, but it carries its own hosting, payment and extension costs — the WooCommerce, Shopify and custom comparison separates what actually differs.

Paid theme and plugin licences. On WordPress these usually renew annually, and they stop receiving updates when they lapse. A plugin that no longer receives updates is not a free plugin. It is a deferred problem.

Content. Copy, photography, product images. Not being in scope does not make it free; it makes its cost your time, which is usually the most expensive kind.

The cost nobody prices: the platform underneath you moves

This is the section we most want clients to hear before they sign, because it is what turns a finished website into an unfinished commitment.

A website is not a building. It sits on a software stack that ages on its own schedule.

The most concrete example is PHP. Each PHP release branch receives two years of active support — bugs and security issues fixed in regular releases — followed by two more years in which only critical security issues are fixed, for four years in total. Security support for PHP 8.2 ends on 31 December 2026 (php.net).

Read that as a budget line. Every site standing on WordPress or WooCommerce runs on some PHP version, and that version has an expiry date. Your site will not break on that date — that is the trap. It will keep working perfectly. Then one day an unpatched vulnerability appears, and it is sitting on your site.

The same logic applies to theme and plugin updates, browser behaviour changes and platform major versions. None of it originates in anything you did to your product. What genuinely belongs in a maintenance scope is itemised in website maintenance.

So while "what does it cost to keep the site running" has no single number, it does have a shape: whatever it costs to have someone competent available when a version deadline arrives.

Selling into the EU makes accessibility a budget line

If you sell to consumers in the European Union, this section is a cost item rather than a best practice.

The European Accessibility Act — Directive (EU) 2019/882 — applies to services provided to consumers after 28 June 2025, and the services it covers explicitly include e-commerce services: services "provided at a distance, through websites and mobile device-based services by electronic means and at the individual request of a consumer with a view to concluding a consumer contract" (EUR-Lex).

What matters for the budget is this: accounted for during the build, accessibility is largely a design and markup discipline. Retrofitted after launch, it is a rebuild line. Same outcome, two very different prices. Which requirements actually change what is covered in web accessibility.

If a quote does not mention accessibility at all, that does not mean it is free. It means it is not in scope.

Speed is not a feature, it is a scope decision

Quotes say "fast website". Speed is not one line item. How images are processed, how fonts load, how many third-party scripts run, and whether pages render on the server or in the browser are all architectural decisions, and all of them are priced.

Fixing them afterwards costs more than building them correctly, because most are decisions that become hard to change once other things are built on top. The Core Web Vitals guide explains what each metric actually measures and how it is genuinely fixed.

The practical move: when you see "fast" on a quote, ask which metric is being targeted, at what threshold, and how that will be verified at handover. A speed promise with no measurable threshold is not a promise.

A fixed price protects you only if scope was fixed first

Fixed-price contracts are sold as client protection, and they can be. But the protection comes from the sequence, not the label.

A fixed price attached to a scope that is still moving is an hourly contract with extra paperwork: every change becomes a negotiation, and you conduct that negotiation from inside a project you are already committed to.

The real value of fixing the price first is that it compresses every scope decision into the one week when decisions are still cheap — before templates are drawn, before the content model is built, before anything is constructed on top. That week is uncomfortable. It is also the highest-leverage week in the project.

That is why our pricing fixes scope and fee together in the contract.

What to ask before you sign

You can evaluate any proposal, ours included, with a short list. None of these questions requires technical knowledge.

  1. What exactly is in scope — as a list I can tick off at handover? If it is described in adjectives, it is not a scope.
  2. How many unique templates are there? An answer in page count does not answer this question.
  3. Is the design custom or a purchased theme? Both are legitimate. Not knowing which is not.
  4. Who writes the copy and who supplies the photography?
  5. Whose account will hold the domain, hosting and email? The answer should be "yours" from day one — ownership of code and accounts is not something to negotiate later.
  6. What is covered after launch, and for how long? Are version updates included?
  7. What is not included? The most useful and least asked question on the list. A proposal that cannot answer it clearly has not been thought through.

If a proposal answers those seven without hedging, the price on it means something. If it cannot, that price is a guess in a suit.

In short

A website costs whatever its scope costs; plus recurring items like domain, hosting and email; plus platform and payment fees if you sell; plus the maintenance that runs because the software underneath you ages. Anyone giving you a firm number without knowing your scope is guessing, and anyone giving you a five-fold range is deferring the conversation.

We publish ours: the website pricing page states what each fixed price covers and what it does not.

If you want a real number for your own scope, tell us what you need built — and if we think what you need is smaller than what you asked for, we will say so before quoting rather than after. If you would rather pin the scope down before asking for prices, the seven steps in how to build a website make that easier.

Got a project in mind?

We'll scope it and give you a fixed price on one call.

Start a project →