A small business owner gets a quote for a “simple website”: $50 a month, on a yearly contract. A photographer pays $25 a month to a managed host for a portfolio that gets two hundred visitors a week. A nonprofit has been paying $40 a month, since 2017, for a five-page site about its programs.
None of these prices are necessary anymore. A small website — a portfolio, a blog, a restaurant menu, a marketing page — can sit on the internet for $0 a month, load faster than the paid version, and survive a traffic spike without going down.
What you are actually paying for
Twenty years ago, hosting meant renting a whole computer in a building somewhere. The machine had to run all day to be ready when a visitor showed up at 3 a.m., even if nobody came. You paid for the computer, the building’s electricity, the network connection, and the technician who walked past it once a month. The bill made sense.
A small website does not work that way today. Your files sit on a global network — a few hundred small data centers, often in the same city as the visitor. When someone opens the page, the closest data center hands it to them. Nothing is sitting around waiting for you. Millions of small websites share this network, and your share of the cost is, in most months, zero.
Why most people still pay
Three reasons.
Bundling. The company that sold you the domain name nudges you toward their hosting plan at checkout. The “one-stop shop” is one-stop because they bundle a thing you actually need (the domain) with things you don’t (their hosting, their email, their site builder).
Branding inertia. GoDaddy, Bluehost, “managed WordPress” — these names predate the shift. They still spend heavily on advertising. Their pricing reflects 2010, not 2026.
Real complexity, hidden behind real names. If your site needs an admin login, a database, a search index — that’s more than the simple case, and the line between “simple” and “not simple” is real. Some platforms quietly bundle those features at a markup. The honest version: most small sites don’t need any of them. A restaurant menu doesn’t need a database. A portfolio doesn’t need a login system. A blog needs neither.
What free actually gives you
The version of free hosting worth taking seriously — Cloudflare Pages is the easiest example, but there are several — gives you, in a normal month, all of the following:
- Unlimited visitor traffic. Not “fair use” or “unmetered up to 100 GB.” Unlimited.
- The lock icon on your address bar (HTTPS), set up automatically.
- A page that loads from the data center physically closest to whoever opens it. Visitors in Tokyo get it from Tokyo, not from your developer’s office in Iowa.
- Your custom domain, not a hand-me-down subdomain.
- A workflow where every change goes live in under a minute, with a preview link for every change before it ships.
Yesterday's hosting prices were never structurally honest. The free tier is what the actual cost looks like.
The natural question: why? The answer is unflattering to the rest of the industry. Cloudflare and its competitors built a global network for security and performance reasons, then noticed that small sites cost the network almost nothing additional. The free tier is partly developer marketing — it gets the platform in front of people who later pay for the bigger tiers — and partly a recognition that yesterday’s hosting prices were never structurally honest.
When it stops being free
Free runs out when the site stops being a small site. That happens in three places:
- Your site is a full app, not a few pages. A marketplace, a Slack-shaped tool, a fitness tracker — with thousands of moving parts and constant server work. Free static hosting can’t do that, and the free dynamic tiers cap out around 100,000 requests a day. Plenty for a blog. Not enough for the next Reddit.
- You need specific software. Most WordPress installs want a real always-on server. Self-hosted email, certain CRMs, anything that listens for connections day and night, doesn’t fit the free shape.
- Your traffic is genuinely huge. Six figures of visitors a day, every day. Most sites’ idea of “huge” is much smaller than the actual ceiling. If you cross it, the next tier ($5 a month for the most generous one) is still cheap.
For a personal site, a small business, a creator’s portfolio, a nonprofit information page, a blog like this one — none of those barriers are anywhere close.
The performance angle
Free hosting is usually faster than paid hosting, not slower.
The reason is structural. A traditional VPS — the $10 to $30 a month tier of paid hosting — runs your site on one machine in one data center. A visitor in Tokyo waits for the request to cross the Pacific, hit the machine in Virginia, and come back. Even on a fast connection, that’s a half-second of dead time before the page starts to load.
Free static hosting, by design, runs your site from many places at once. The Tokyo visitor gets a copy from Tokyo. The Berlin visitor gets it from Frankfurt. The page begins arriving in the time it would have taken to leave town on a VPS.
This sounds like marketing. It is, in this case, also true.
This site
This blog costs $0 a month to host. The page you are reading was sent from the data center physically closest to your computer. Every change goes live in under a minute. The whole thing would survive a hundred-thousand-visitor day without anyone lifting a finger.
If that interests you, two practical paths exist:
- For most people: pick a no-code site builder that publishes to a free host, or pay a developer for a few hours to set up a small site on Cloudflare Pages and hand you the keys. One bill — not every month for the next ten years.
- For the curious: it is a Saturday afternoon’s work to do it yourself with a static site generator. Astro, Hugo, Eleventy. None of them require writing real code beyond following a tutorial.
The monthly hosting bill, for most websites, is the modern equivalent of paying rent on a typewriter.