Most freelance web designers set their rates by guessing. They pick a number that feels roughly fair, stick to it out of habit, and never revisit whether hourly or project-based billing actually suits the work they do. That guesswork shows up later as underpriced projects, awkward scope conversations, or invoices that don’t reflect the hours actually spent.
The choice between hourly and project-based pricing isn’t just an admin detail — it changes how you negotiate, how clients perceive your work, and how much you earn for the same skill. Most freelancers settle on one model early and never question it, even when a project clearly calls for the other. This matters most once you’re taking on the kind of work covered in the step-by-step guide to building a WordPress website, where a client’s scope can range from a five-page brochure site to a full build with e-commerce.
The Actual Math, Worked Through
“Calculate your baseline hourly rate” is standard advice, but it stays abstract until you run real numbers through it. Say you want to earn €70,000 a year and your business costs (software, insurance, a portion of taxes set aside) run another €15,000 — that’s €85,000 you need to actually bill. Out of roughly 2,000 working hours in a year, admin, marketing, unpaid pitching, and the gaps between projects typically eat far more than people expect; 60–70% actually billable is a realistic range for an established freelancer, less for someone still building a pipeline. At 65%, that’s 1,300 billable hours. €85,000 ÷ 1,300 ≈ €65/hour — and that’s before accounting for slow months, which is exactly why most freelancers who “do the math once” still end up under-billing: the calculation assumes every one of those 1,300 hours actually gets booked, which real years rarely deliver evenly.
That €65/hour baseline is what every project quote gets built from, even the ones you’ll ultimately bill as a fixed fee — a project-based quote with no hourly number underneath it is just a guess wearing a fixed price.
Turning That Into a Project Quote
Say a client wants a five-page brochure site with a contact form and basic SEO setup — work you estimate honestly at 20 hours. At €65/hour that’s a €1,300 hourly-equivalent. If the scope is genuinely well-defined (the client already knows exactly what pages they want, content is ready, no ambiguity left to resolve mid-project), you can quote slightly above that — say €1,400–1,500 — because you’re being paid for the certainty and speed you bring, not just logged hours; deliver it efficiently in 16 hours instead of 20 and the extra margin is yours. If anything about the scope is still soft — “and maybe a blog section, we’ll see” — quote closer to a worst-case estimate instead, 24–25 hours’ worth, because that ambiguity is exactly what will eat the difference if you guess low.
Which Model Actually Fits the Work
Hourly billing protects you when scope keeps shifting — every extra hour is paid for — but it caps earning potential in the other direction: work faster and you earn less for the same result, which punishes exactly the efficiency clients are paying you for. It’s the right default when the scope is genuinely unclear at the outset (a client says “make it better” with no specifics, or you’re troubleshooting a site with an unknown cause), and for ongoing maintenance retainers, where the work varies month to month and a fixed fee would either overcharge or underpay depending on what comes up.
Project-based pricing flips the risk the other way: quote a fixed fee, deliver efficiently, and the extra margin is yours — but underestimate the work and you absorb the loss yourself. It fits once deliverables can be listed in advance (a set number of pages, a specific feature list, a defined launch date), and clients generally prefer it too — a fixed number is easier to budget against than an open-ended hourly estimate, and it removes the awkwardness of a client watching the clock.
Whichever model you use, decide revision handling before the work starts, not after a dispute. For project-based work, specify a set number of revision rounds in the contract and bill additional rounds hourly — this single habit prevents more pricing disputes than any rate calculation, since it’s usually scope creep, not the base rate, that turns a profitable project unprofitable.
Keeping the Number Honest Over Time
Revisit the hourly rate at least once a year — most freelancers under-charge simply because they never update the number they started with, while costs and experience both keep climbing underneath it. Track actual hours on project-based work for the first few months of using this model; it’s the only real way to know whether your 20-hour estimates are landing anywhere near reality. Freelancers Union’s resources page links to a rate-transparency database worth checking against peers occasionally, since pricing in total isolation makes it easy to drift well below market without noticing.
Beyond hourly and project-based, some freelancers eventually move to value-based pricing — charging against the measurable outcome a project delivers rather than the time it took. That works once you have a track record and case studies to point to, but it’s hard to justify early on without that evidence. For most freelancers still building a client base, project-based pricing for defined builds plus hourly billing for retainers and one-off fixes covers the vast majority of situations, and it’s a foundation value-based pricing can layer onto later. Quote project work in writing, including what counts as a change request versus what’s included — that’s what your contract should formalise, and it’s worth checking your invoicing process lines up with whichever model you settle on.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.