What Drives the Cost of a WordPress Website, and What a Written Quote Should Itemise
Written by Usama Afzal, founder and director · Published
A WordPress website has no single cost, because the software itself is free and the money goes into everything built around it: design, custom functionality, integrations, content and the work of keeping the site running. This guide lists the drivers that move a quote, shows which line items make a quote expensive, and gives a checklist of what a written quote from a WordPress developer should itemise. It contains no prices on purpose. A figure published without your scope would mislead you, so Website Prism quotes every project in writing instead.
Why a price without a scope tells you nothing
WordPress.org describes the software as open source and releases it under the GPL, and its download page lists "Free" among its traits. That settles one question and opens another. If the software costs nothing, then every figure on a quote is one of three things: someone's labour, a licence for a paid theme or plugin, or a third-party service such as hosting. A quote is only as meaningful as the list of those three things behind it.
Here is a hypothetical to show why the same headline can hide very different work. Imagine two businesses that each ask for "a WordPress site with eight pages". The first has a finished logo, supplies all the text and photos, and is happy with a ready-made theme. The second wants a bespoke layout for every page, a booking form that writes to a calendar, a members-only area and thirty pages of old content moved across with every old address redirected. Both requests say "eight pages". The work behind them is not comparable, and a developer who quotes both at the same level is either losing money on one or overcharging the other.
That is the position of this article: judge a WordPress quote by its list of deliverables, never by its total. A total you cannot decompose cannot be compared, negotiated or challenged.
The nine drivers that move the quote
Almost every difference between two WordPress quotes traces back to one of the rows below. Use the last column as a set of questions to put to each developer.
| Driver | What changes the amount of work | Question to ask every quote |
|---|---|---|
| Layouts, not pages | The number of different page designs matters more than the number of pages. Fifty articles on one template is cheap; ten pages with ten layouts is not. | How many unique templates are included? |
| Design source | An existing theme, an adapted template, a design you supply, or a design created from scratch are four different jobs. | Who creates the design, and how many rounds of changes are included? |
| Custom functionality | Anything a theme and standard plugins cannot do needs code that someone must write, test and later maintain. | Which features need custom code, and which use an existing plugin? |
| WooCommerce complexity | Simple products are routine. Variations, subscriptions, deposits, shipping rules, tax rules and wholesale pricing each add configuration and testing. | Which product types, shipping zones and payment methods are in scope? |
| Integrations | Each connection to a CRM, booking system, accounting package or email platform adds authentication, field mapping and failure handling. | Which systems connect, and what happens when one is unavailable? |
| Content | Writing, editing, photography and loading content into the site is labour whoever does it. | Who writes and uploads the content, and by when? |
| Moving an existing site | Old addresses must map to new ones so visitors and search engines do not hit dead pages. | Is a redirect map included, and who checks it? |
| Hosting and security set-up | Server choice, backups, security settings and email delivery have to be set up before launch. | Who owns the hosting account, and what is configured at launch? |
| Ongoing care | Updates, backups and fixes continue after launch whether or not they are in the build quote. | Is care included, optional, or left to me? |
If you read only one row, read the first. Layout count is the driver that people most often leave out of a brief, and it explains more of the gap between quotes than any other.
What makes a line item expensive
Within a single driver, cost is not spread evenly. A few features take disproportionate effort, usually because of testing, edge cases or the number of people they affect. This table shows what usually separates a cheap version of a feature from an expensive one.
| Line item | Usually modest when | Usually costly when | Why the gap exists |
|---|---|---|---|
| Contact form | One form, email notification only | Conditional fields, file uploads, CRM sync, spam controls tuned to your traffic | Each rule is another path to test, and failures are silent |
| Product catalogue | A small catalogue entered by hand | A large catalogue imported from a spreadsheet or another platform with variations and images | Data cleaning takes longer than data loading |
| Checkout | Standard checkout, standard payment gateways | Custom fields, delivery date selection, tax edge cases, multiple currencies | Money flows must be tested for every path |
| Search and filtering | Default site search | Filters by several attributes with fast results on a big catalogue | It becomes a data and performance problem, not a design one |
| Logins and member areas | A single role who sees one extra page | Several roles, gated content, payments tied to access | Permissions errors are security errors |
| Multiple languages | One extra language with translated pages | Several languages across products, forms, emails and checkout | Every piece of text becomes a maintained copy |
| Design | A theme adapted to your brand | Bespoke layouts with custom motion and illustration | Original work cannot be reused across pages |
| Redirects | A new site on the same addresses | Many changed addresses from a site that already earns search traffic | Mistakes here cost visitors you already have |
The pattern is that effort follows variety, not volume. A hundred similar items are usually cheaper to build than five items that each behave differently.
The quote-itemisation checklist
A quote worth accepting can be audited line by line. Before you sign anything, check that it states each of the following, or states plainly that the item is excluded.
- Pages and templates: a named list of pages and the count of unique layouts.
- Design: who creates it, what you receive, and the number of revision rounds.
- Theme and plugins: each named, with whether it is free or paid and who holds the licence.
- Custom code: every feature that is coded rather than configured, described in one sentence each.
- Online store: product types, shipping zones, tax handling and payment methods.
- Integrations: each connected system and the data that moves between them.
- Content: who writes it, who uploads it, and what happens if it arrives late.
- Migration: what is moved from the old site and whether a redirect map is included.
- Mobile and browser testing: which devices and browsers are checked.
- Performance and security set-up: what is configured before launch.
- Accounts and access: which accounts are in your name, and what transfers to you on completion.
- Launch: who switches the domain and what is checked afterwards.
- Training and handover: how you learn to edit the site.
- Exclusions: the work that is not included, written down.
- Change process: how extra requests are scoped and approved before work starts.
- Payment terms: what is due at which milestone.
- After launch: what support, if any, is included and for how long it is described.
The "exclusions" line is the most revealing. A quote with no exclusions is not complete; it is vague, and the gaps will be filled later with additional charges.
Costs that sit outside the build quote
Several recurring costs belong to you, not to the developer, and a clear quote separates them from the build.
- Hosting. WordPress.org lists what a host needs: a current PHP version, MariaDB or MySQL, a web server such as Apache or Nginx, and HTTPS support. Ask the developer which host is assumed and in whose name the account is held.
- Domain name. Renewal terms are set by the registrar, and it is best registered in your own name.
- Paid themes and plugins. Licences differ: some are one-off and some renew for updates and support. Ask for a list with renewal terms.
- WooCommerce extensions. The WooCommerce plugin page says the core plugin is free but that paid upgrades and support exist, and it describes a mix of free and paid extensions. Which ones your store needs is a quote line, not an afterthought.
- Payment providers. They set their own fees and approval rules. Read the provider's terms, not the developer's summary.
- Email delivery, stock images and fonts. Small individually, easy to forget collectively.
- Care after launch. Updates and backups need an owner. See website maintenance and support plans for what a care arrangement usually covers.
When the cheaper route is the right one
The argument so far could be read as "more scope, more cost, so hire a professional for everything". That is not always true, and here is where it is wrong.
If you need a small brochure site, you have your content ready, and a well-built existing theme covers your layout needs, then most of the work is set-up and content loading. Paying for bespoke design or custom code there is paying for something you will not use. A tighter brief, a theme chosen for fit and a modest build is the correct answer, and a developer who pushes a bigger one is selling, not advising.
The same logic applies to ecommerce. If you sell a handful of simple products with standard shipping, the default WooCommerce checkout and a mainstream gateway may be all you need. Complexity should enter the quote only when your business actually has the complexity. If you are weighing platforms before deciding, our ecommerce website development page explains how we compare WooCommerce, Shopify and custom builds.
Fixed itemisation also has a limit. When the scope is genuinely uncertain, such as a project that depends on an integration nobody has tested, a short, separately scoped discovery step followed by a firm quote is more honest than a guess dressed up as a fixed figure.
Red flags in a quote
- A single total with no breakdown, and a reluctance to supply one.
- "Unlimited" revisions or "unlimited" pages with no definition of either.
- No mention of who owns the hosting, domain and licences.
- No exclusions listed.
- Paid plugins bundled in with no names or renewal terms.
- A price that arrives before anyone has asked about your content, integrations or existing site.
- Promises about search rankings or traffic. Nobody controls those, and a quote that says otherwise is not a serious one.
How to compare three quotes in practice
- Give all three the same one-page brief, covering pages, layouts, design source, store needs, integrations, content ownership and any existing site.
- Lay the responses side by side against the checklist above, one column per developer.
- Mark every blank. A blank means "excluded" or "forgotten", and you must find out which.
- Ask each developer to explain their largest line in plain words. If they cannot, the line is padding or the scope is unclear.
- Only then compare totals, and only for the rows that match.
If you want a rough picture before talking to anyone, the project cost estimator collects your requirements into a request that we answer with a written quote.
Get your brief quoted in writing
Send us your brief, even a rough one, through the contact page and ask for a written quote. Website Prism Ltd is a registered England and Wales company, and the work is delivered remotely by a team in Pakistan. We do not publish prices; we itemise the scope so you can see what each part involves before you decide.
How we work: refund policy · terms of service · about Website Prism
Related Services