How Much Should You Charge for a Small-Business Website?
7 min read
A practical pricing framework for freelancers selling websites to local businesses, with project ranges, cost floors, and the mistakes that shrink your margin.
Pricing a website for a local business is not about finding the market average and matching it. It is about knowing your own cost floor, scoping the job tightly, and quoting a number the owner can connect to what their business gets back.
This guide gives you a working framework: realistic project ranges for local-business sites, how to compute the minimum you can charge without losing money, and the quoting mistakes that turn a decent price into a bad job.
Quick answer
For a fixed-scope brochure site for a local business, freelancers typically charge between 1,500 and 8,000 USD depending on scope, experience, and market. To find your number:
- Work out your cost floor: the hours the job will take, times the hourly rate you need to cover your time and tools.
- Add the value the site creates for the client: one new job or booking can be worth more than the entire website.
- Quote a fixed project price with explicit scope, not an hourly estimate.
- Present one number with a payment schedule, not a menu of options.
Never quote below your floor. A project priced under cost is worse than no project.
What local-business websites actually sell for
Public pricing guides cluster around consistent ranges. Clutch's website cost guide and WebFX's web design pricing overview both put a freelancer-built small business site in the low-to-mid thousands, with agencies above that. In practice, for the kinds of sites solo operators sell to local businesses:
- A simple one-page or three-page site with a contact form: 800 to 2,500.
- A five-to-ten-page brochure site with services, reviews, and a quote form: 1,500 to 5,000.
- The same scope with copywriting, photos, or local SEO work included: 3,000 to 8,000.
- Anything with online booking logic, a catalog, or e-commerce: 5,000 and up, and it stops being a "simple local site."
These are market reference points, not your price. Your price comes from the framework below. If your floor plus margin lands at 2,200 for a five-page site, that is your number even if a competitor advertises 1,500.
Start with your cost floor, not the market
The cost floor is the lowest number you can charge without paying the client to let you work. Compute it once and reuse it:
- Estimate the hours the job will actually take, including the kickoff call, collecting the client's materials, the build, revisions, the handover, and the admin around it.
- Multiply by the hourly rate that covers your living costs, software, taxes, and the unpaid weeks between projects. If you have never computed this rate, take what you would accept as a salary, divide by roughly 1,000 billable hours a year, and treat that as the absolute minimum.
- Add your direct costs: stock photos, fonts, plugins, hosting you pay for, and anything else the project consumes.
A five-page site that takes you 25 hours at a 60-dollar floor rate with 50 dollars of direct costs has a floor of 1,550. Quote below that and you are subsidizing the client.
Price the outcome, then check it against the floor
Local-business owners do not buy pages. They buy the phone ringing. A plumber who lands one boiler replacement a month from the website recovers a 3,000-dollar site cost quickly. That is what lets freelancers charge thousands for a site built in days.
Use value to set the ceiling and the floor to set the minimum:
- Ask on the discovery call what a new customer is worth to them. Most owners know this number.
- Frame your price as a fraction of what the site returns in its first months, not as hours of your labor.
- If your value-based price is below your cost floor, the job is mis-scoped or the client is mis-fit. Shrink the scope or walk away.
Quote a fixed project price, not an hourly rate
Hourly quotes fail in both directions for fixed-scope local sites. If you finish fast because your process is efficient, you earn less for being good. If the job drags, the client watches the meter and every revision becomes a negotiation.
A fixed project price with a written scope fixes this:
- The price covers the deliverables listed, and only those.
- Revisions are bounded: state how many rounds are included.
- Anything outside the list is a written change with its own price.
- Payment is scheduled: a deposit before work starts and the balance at launch. A common split is 50 percent upfront and 50 percent at go-live.
The web design proposal template shows how to write this scope so the owner can sign it without a second meeting.
What to charge as a beginner
If you have no portfolio yet, you have a proof problem, not a pricing problem. Two approaches work:
- Do your first one or two projects at the low end of the market range, but still at or above your cost floor, and be explicit that this is an early-portfolio rate. "Cheap" attracts clients who treat the site as disposable; "early rate, full process" attracts owners you want as references.
- Build a complete preview for a real local business before they pay anything, then sell the finished preview at a normal price. The preview-first approach replaces a portfolio with something better: the client sees their own site, not a stranger's.
What never works is building for free in exchange for "exposure." You get no portfolio piece you control, no reference that respects your rates, and a client who expects free work forever.
The ongoing revenue most freelancers forget
The build is the entry ticket. The recurring revenue is what makes the business stable:
- Hosting and maintenance: a monthly package covering hosting, updates, backups, and small content changes. Even a modest monthly fee across a dozen clients outearns chasing a new build every month.
- Content updates and seasonal changes, billed per change or inside the package.
- Periodic redesigns: a site you built three years ago is a warm lead for a refresh.
Quote the monthly package on the same call as the build, as a separate line item, so the owner decides on it while the site is new. The website audit checklist also helps here: a documented audit at handover shows what ongoing maintenance protects.
Quoting mistakes that shrink your margin
- Quoting before the scope is written down. Every page, form, or integration that is not specified in writing becomes unpaid work.
- Offering a range like "somewhere between 2,000 and 4,000." The client hears 2,000; you were thinking 4,000.
- Discounting without removing scope. Lower the price only by removing deliverables, so the client trades something real for the discount.
- Bundling the first year of hosting and maintenance into the build price for free. You have just made your recurring revenue invisible and set its value at zero.
- Competing with the 500-dollar nephew quote. The buyer for that price is not your buyer, and arguing about it costs you the call.
Where Opportunora fits
Opportunora is built around exactly this workflow: it finds local businesses with weak or missing websites, generates a reviewable preview site, publishes only when you approve, and creates the invoice from the won deal. Because production takes minutes instead of weeks, your cost floor drops and a mid-range market price becomes a healthy margin. The product walkthrough shows the steps, the pricing section explains how plans work, and you can start a free trial to try it on one town.
Frequently asked questions
Should I charge hourly or a fixed price for a website?
Use a fixed project price for defined scopes like a local-business brochure site, and hourly only for open-ended work like ongoing changes or consulting. Fixed pricing rewards an efficient process; hourly pricing punishes it.
How much should I charge for a simple one-page website?
For a single-page site with a contact form for a local business, 800 to 2,500 USD is a common freelancer range. Compute your cost floor first; if your process is fast, a one-page site can still carry a price that reflects what a working online presence is worth to the business.
Do I need a deposit before starting?
Yes. A deposit, commonly 50 percent, before any work starts filters out non-committed clients and covers your early hours. Never hand over a live site before the balance is paid.
What if a client says my price is too high?
Remove scope, not price. Offer a smaller version of the site at a lower number, and let the client choose between scope levels. If they only want the lower price for the same scope, they were not going to be a good client.
Should my quote include hosting and maintenance?
List them as separate line items with their own prices. Bundling them into the build price makes your recurring revenue invisible and impossible to raise later.