Everybody asks what a website costs to build. Almost nobody asks what it costs to keep, and that is the number that decides whether you still like the site in year two.
This is the whole bill, line by line, with the published price of every piece and a link to where it says so. Nothing here is my price except the part that is my time.
The short version. The machinery a small business site runs on costs somewhere between $6 and $16 a month. Card processing is separate and only charged when you actually get paid. Everything above that is somebody's labour — mine, an agency's, or your own evening.
The bill, line by line
Your domain — about $1 a month
A .com costs what the registry charges, plus whatever your registrar adds on top. Verisign, which runs .com, charges registrars $10.26 a year wholesale, rising to $10.97 on 1 November 2026. Add ICANN's 20¢ — up from 18¢ on 1 July 2025 — and $10.46 is the floor for anybody.
Registrars that sell at that floor exist: Porkbun publishes $11.08 a year, the same price for a renewal as for a new registration, and Cloudflare Registrar states plainly that it "does not mark up domain prices at all" and that customers "only pay the price charged by registries and ICANN."
Registrars that do not sell at the floor also exist. Wix renews a .com at $21.35 a year. It is the same domain. This is the cheapest, cleanest example of platform markup you will find: roughly double, for a commodity nobody can differentiate.
What I do: clients buy their own domain on Cloudflare, in their own name, and add me as a user. There is a step-by-step guide to that in this library.
DNS, the CDN and the SSL certificate — $0
The padlock in the address bar is free and has been for years. Let's Encrypt issues certificates at no charge to hundreds of millions of sites, and Cloudflare issues and auto-renews a free certificate to every domain on it, including the free plan: "By default, Cloudflare issues — and renews — free, unshared, publicly trusted SSL certificates to all domains added to and activated on Cloudflare." (Cloudflare's own docs.)
Cloudflare's free plan also carries the DNS, the CDN and DDoS protection. For a local business site, there is nothing to buy here. If somebody is charging you for an SSL certificate, ask them what it is for.
Hosting and the database — $5 to $15 a month
This is the only line that genuinely varies, because it is metered. The sites I build run on Railway, which bills by the minute: $20 per vCPU per month ($0.000463 per vCPU-minute) and $10 per GB of memory per month ($0.000231 per GB-minute), plus $0.05 per GB of traffic out and $0.15 per GB-month of disk. A plan is $5 or $20 a month and that amount of usage is included in it.
In practice a five-page site for a local business sits at the bottom of that — call it $5 — and a site carrying a database, an owner's dashboard, uploaded photos and real traffic runs nearer $15 in a normal month and more in a busy one. A busy month is a good month. It means people came.
What I do: hosting is billed to clients at cost, with no markup, exactly as it lands on my invoice. It is variable by nature, so I do not pretend it is a fixed fee.
The emails your site sends — $0 at this size
Order confirmations, booking reminders, "somebody filled in your contact form" — those are transactional emails, and they need to come from something that isn't a Gmail address if you want them to arrive. Resend's free tier covers 3,000 emails a month, 100 a day, across 3 domains. A local business site does not come close to that. Paid plans start at $20 a month at 50,000 emails, which is a problem worth having.
Your own email address — free, unless you want a mailbox
[email protected] costs nothing if your domain is on Cloudflare. Email Routing is free on every plan, and it forwards any address on your domain — hello@, bookings@, your own name — into an inbox you already read. The caps are far past what a local business needs: 200 routing rules per domain and 200 verified destination addresses. You can reply from the address by adding it to Gmail as a send-as alias.
What free forwarding does not do is hold mail. There is no mailbox on the other end, no shared inbox two staff can work from, no calendar or shared drive. When you need those, that is Google Workspace at $7.00 per user per month on an annual commitment, or $8.40 month-to-month — and at that point it is a business cost you would have anyway rather than a website cost.
Most of the businesses I build for never leave the free version.
Taking card payments — nothing fixed, a slice of each sale
Stripe charges 2.9% + 30¢ per successful card charge in the US, with no monthly fee and no minimum. International cards add 1.5%, currency conversion adds 1%, and a disputed charge costs $15 whether you win it or lose it. Bank debits (ACH) are 0.8%, capped at $5.
The fee is proportional, which is the point: it is nothing until you sell something.
New accounts wait for the first payout — Stripe's docs say it "typically schedules your initial payout to complete within 7–14 days" — and after that US payouts settle in 2 business days.
So what is the real number?
The site itself: roughly $6 to $16 a month, of which about a dollar is the domain and $5–15 is metered hosting. Email on your own domain is free unless you want a real mailbox, and card fees are on top, only when you get paid.
That is the machine. Two things are worth saying about how small it is.
The first is that it is small because of decisions made while building it, not by luck. Hosting is metered, so a quiet month bills like a quiet month. The domain sits at an at-cost registrar in your name rather than a reseller's. There is no platform underneath taking rent or a percentage, and no line on the bill that exists to be marked up. A site can just as easily be built so that its monthly cost is $60 and most of that is somebody's margin — that is a choice too, and it is made on your behalf before you ever see an invoice.
The second is that the number is yours to check. Your domain, your Stripe, your Google Business Profile and your email are all in your own name, so you can log in and read the real bill rather than take my word for it. The one exception is hosting: the site runs on my Railway account, and the usage is passed through at what it costs me, with the invoice shown to you on request. If you would rather hold that account yourself and add me to it, say so on the first call — that is a fine way to do it and it changes nothing about the price.
What the bill does not include is a person.
The part that is labour
Everything above runs itself until it doesn't. A dependency needs updating, an opening time changes, a photo needs swapping, a form starts failing silently. Somebody does that work, and the only question is who.
The published US agency rate cards put maintenance at $35–$100 a month for a small business site and $125–$500 for a business one, with hourly work at $150. WebFX's own named managed plans start higher again, at $350 a month. Treat all of those as positioning rather than research — every one is an agency quoting its own rate card, and there is no independent survey of this market that I could find.
Mine are on the hire page: $69, $129 or $249 a month for an hour, two hours or four hours of my time plus updates and reviews, or $75 an hour with no plan at all and a one-hour minimum.
Hours are the only part every one of those options has in common, so pricing them per hour is the comparison that flatters me least — it throws away the updates and the reviews and counts nothing but the time:
A plan is the cheaper way to buy my time, and the updates and the scheduled reviews come with it rather than being billed. It is still optional — the site does not stop working without one — but if you expect to ask for anything in a given month, the plan costs less than the hour would.
Four things to watch for on somebody else's quote
Hosting with a markup. "Hosting: $49/month" on a site that costs $8 a month to run is a 6× margin on somebody else's computer. Ask what the underlying bill is. It is knowable.
A charge for an SSL certificate. See above. Free.
A domain you don't own. If the domain is registered to the agency, the monthly price is not the problem — the exit is.
A monthly fee with nothing behind it. A care plan should say how much of someone's time it includes. If it does not name an amount, it is a subscription, not a service.
What this means if you are deciding
If you are comparing a custom site against a DIY platform, compare the whole bill over a few years rather than the headline. A platform's monthly fee replaces most of the lines above, and then adds its own: a domain at double cost, a plan level you need for one feature, and in some cases a percentage of every sale on top of the card fee. I have written that comparison out with the arithmetic here.
And if a number in this article looks stale, it probably is. Every source is linked below with the date I checked it. Go and look.




Comments