A static website is a stack of finished pages. It can show a customer anything you want them to read, but on its own it cannot take a payment, book a time on your calendar, or hold a customer login. Each of those jobs runs on an outside service you plug in, and every one of those services has a published price.
What static actually means
Mozilla’s developer documentation says it plainly. “A static site is one that returns the same hard coded content from the server whenever a particular resource is requested.” A dynamic site, the same page says, “can generate and return content based on the specific request URL and data.” That page was last modified on June 23, 2025.
Read that again with your own business in mind. Every visitor to your drain cleaning page gets the exact same file. The page does not know who is looking at it. It cannot look anything up. It cannot save a word of what somebody typed.
That is not a bug someone forgot to fix. It is the trade you made. Nothing runs while the customer waits, so nothing can fail while the customer waits, and there is no login screen sitting on the open internet for a stranger to guess at. What you give up is the ability to do work at the moment of the click.
The four jobs it hands off
Nearly everything a contractor asks for after the site is up falls into one of four buckets.
- Taking money. Deposits, invoices, a card on file.
- Booking a slot. A customer picking Tuesday at 10 on your real calendar.
- Customer logins. An account area with past jobs or old invoices in it.
- Keeping what someone typed. Even a plain contact form has to send that message somewhere off the page.
That last one has an article of its own. Where your contact form actually sends the lead follows the path from the Send button to your phone.
The other three cost money every month or every sale. The prices are published. Go read them before anyone quotes you a number.
What each gap costs to fill
Payments. Stripe’s pricing page lists 2.9% plus $0.30 per successful transaction for domestic cards. It also says “Stripe does not charge setup fees, monthly fees, or any other hidden fees like closure fees.” Manually entered cards add 0.5%. International cards add 1.5%. That page carries no update date.
Booking. Calendly’s pricing page shows a free tier held to one event type and one connected calendar, with Standard at $10 per seat per month on annual billing. That page carries no update date. If you want booking wired to your dispatch and invoicing instead, Housecall Pro’s pricing page lists Basic at $59 a month on annual billing, or $79 month to month, and describes that plan as letting customers “book and pay online 24/7 directly from Google or your website.” That page carries no update date either.
Logins. Auth0’s pricing page shows a free tier of up to 25,000 monthly active users, with its Essentials plan for consumer logins starting at $35 a month. That page carries no update date.
Those are list prices on each vendor’s own page on the day this was written. Prices move and free tiers get trimmed. Open every one of those pages yourself before you plan around a number.
The login you probably should not buy
Sit with that Auth0 number for a second. 25,000 monthly active users, free. For one plumbing company in one metro, that ceiling is never going to be the problem. Money is not what makes a customer portal a bad buy.
The real cost is that you now run a login desk. Somebody forgets a password on a Saturday. Somebody changed their email. Somebody wants their account deleted. That work lands on you, or on whoever built the thing, and it does not stop when the invoice is paid.
Holding customer records also brings rules that differ by state and change over time. This is not legal advice. Before you collect and keep customer data, ask your own attorney what applies in your state.
So when a builder offers you a portal, ask one plain question. How many customers logged into the last one he built? If the honest answer is a handful, a phone number and a PDF sent on request beats it. The websites Galloping builds ship without a portal on purpose. Adding one is a real decision with a real tail, not a checkbox on a quote.
Nothing changes until someone republishes
Here is the limit that catches owners off guard, and it has nothing to do with features.
A static site is files sitting on a server. If your phone number changes on Monday, the old number stays on every page until someone builds the site again and puts the new files up. On a site running a database, an owner logs in and edits the number. On a static site there is a build step in between, which is how we build and republish.
Whether that matters depends entirely on how fast the person doing it answers you. Ask about turnaround time before you sign anything. What each monthly plan covers, including how changes get made and approved, is listed on pricing.
The published ceilings on static hosting itself are wide. Cloudflare’s documentation for Pages lists up to 20,000 files per site on the free plan, a 25 MiB cap on any single file, and 500 builds a month. That page was last updated on July 16, 2026. The trade sites we build, with a page for every service and every town, land in the low hundreds of files. Those are one host’s published limits and not a rule that holds everywhere, so check your own host. Either way, that ceiling is not what will stop you.
What to do next
Write down what the site actually has to do for you this year. Be honest, not hopeful.
Then run the list against these four checks.
- Show the work, list the services, make it easy to call. A static site does all of that on its own. Taking a booking is a plug-in, and the price runs from free to about $59 a month depending on which tool fits how you already dispatch.
- Take a deposit online. Open Stripe’s pricing page and do the math on your own average ticket. At 2.9% plus $0.30, a $400 deposit costs you $11.90.
- Customer portal. Put in writing why you want it. If nobody can name a customer who asked, cut it this year and revisit it next year.
- Anything you are unsure of. Ask the builder quoting you which of these four are in the price and which are separate monthly bills. Then ask whose name the accounts are in. Those accounts should be in yours.
None of this is a reason to avoid a static site. It is the list of things that get added on top of one, so you can price them with your eyes open instead of finding out in month three.