Buying software
What custom website development actually costs, and what moves the number
Why quotes for the same brief differ by a factor of ten, which parts of a project genuinely drive cost, and how to compare proposals that are not describing the same thing.
Ask five agencies to quote the same brief and you will get five numbers that look unrelated. This is not because four of them are wrong. It is because "a website" describes an outcome, not a specification, and each agency has silently filled in the gaps differently.
This piece is about what actually drives the number, so you can read a quote and understand what you are being charged for.
Pages are the wrong unit
Almost every enquiry we receive describes scope in pages: "about eight pages, maybe ten". It is a reasonable way to think about a site and a poor way to price one.
What costs money is templates. Twenty pages built from four templates is less work than eight pages that are each laid out differently. A blog with two hundred posts is one template. When you describe scope, count the number of genuinely different page layouts, not the number of URLs.
The six things that move the number
1. Distinct page types
As above. Every additional layout is design time, build time and testing time across every breakpoint.
2. Integrations
Each external system you connect to — payment gateway, CRM, ERP, shipping provider, accounting software — adds work that is easy to underestimate. A documented API with a sandbox is a day or two. An undocumented one, or a legacy system with no API where data has to be exported and imported, can be a fortnight.
If your quote does not mention integrations by name, it probably does not include them.
3. Content readiness
This is the largest single cause of a project costing more than estimated, and it is almost never the agency's doing. A build runs to plan when copy and images arrive as agreed. When they do not, the team waits, and waiting is expensive whether or not anyone invoices for it.
Before you sign anything, be honest with yourself about who is writing the content and when. If the answer is "we will sort it out", add time and money to whatever number you have been quoted.
4. Custom logic
Anything where the behaviour is specific to your business rather than standard: a booking rule, a pricing calculation, a multi-step approval, a discount that only applies in certain conditions. These are usually where the real value of the project sits, and they are also where estimates go wrong, because the rules are rarely written down anywhere before someone asks.
5. Migration
Replacing an existing site is not the same as building a new one. Someone has to audit what is there, map every old URL to its new equivalent, move the content, and verify that the redirects work. Skipping this is how a company loses the search rankings it spent years earning.
A quote that treats a rebuild identically to a new build has either not thought about migration or is not including it.
6. Compliance
Accessibility conformance, GDPR obligations, sector-specific rules, data residency requirements. Each carries specific work. Mention them at the briefing stage — retrofitting compliance costs several times what building it in does.
Why the same brief gets wildly different quotes
Four common reasons, all worth checking for:
- One quote is for a theme customisation and another is for a custom build. These are different products at different prices, and both can be the right answer.
- One includes content, photography and SEO setup, and another assumes you supply all of it.
- One has assumed the simplest reading of an ambiguous requirement and another has assumed the most complex.
- One intends to win the work at a low number and recover it through change requests. This is common enough to watch for.
How to compare quotes properly
Send every agency the same written brief, and include the awkward parts rather than the flattering summary. Then ask each of them the same four questions:
- What have you assumed that is not in my brief?
- What is explicitly not included?
- What would make this cost more than you have quoted?
- Who owns the code, and where does the repository live?
The answers will tell you more than the numbers do. An agency that answers the first question with a list has read your brief properly. One that says "no assumptions" has not.
Fixed price is not always the safe option
Fixed price feels safer, and for a clearly defined project it usually is. But a fixed price on a vague requirement means the supplier has priced their risk into the number, and every change becomes a negotiation. If you genuinely do not know what you need yet — which is normal for a product rather than a brochure site — a dedicated developer arrangement is often cheaper in total and far less adversarial.
The short version
- Count templates, not pages.
- Name every integration before you ask for a price.
- Be honest about who is writing the content.
- Ask what has been assumed and what is excluded.
- Treat a rebuild as a migration project, not a new build.
- Confirm code ownership in writing.