Most people pay $10–$30 a month for web hosting they don't need. I'll show you the exact method I used to get a live site — my own domain, secure padlock, the works — for one small yearly domain fee and nothing else. Every step, screenshots included.
When people say "hosting," they picture a monthly bill. That made sense years ago when every site ran on a server that had to stay powered on 24/7. But most websites today — a business landing page, a portfolio, a menu, a simple blog, a tool — are static: just files (HTML, CSS, images) that don't need a live database behind them.
Static files are cheap to serve, so several major companies host them free to get you into their ecosystem: Cloudflare Pages, GitHub Pages, and Netlify. These aren't 30-day trials — they're genuinely free tiers with generous limits (Cloudflare Pages gives unlimited bandwidth and unlimited sites on the free plan). Your visitors never know it's free; they just see your domain and a secure padlock.
The only thing you can't get for free is the domain name — the "yoursite.com" address itself. That runs about $10/year, and that's your entire real cost.
Five steps, no coding required for a simple site:
You need a folder of static files with an index.html inside. Don't code? You can have a simple site generated for you, use a free template, or export a one-page site from a builder. The key is you end up with a folder of files.
This is your only cost. I recommend Cloudflare Registrar because it sells domains at cost (~$10.46 for a .com) with no first-year gimmick and free privacy — and it connects to the free hosting automatically. If you'd rather use a mainstream registrar with a simple dashboard, Namecheap is a solid, cheap option too.
Create a free Cloudflare account, go to Workers & Pages → Create → Upload static files, name your project, and drag your files into the drop zone. Click Deploy. In under a minute it's live at a free yourname.pages.dev address.
In your Pages project open Domains → Add, enter your domain, and confirm. Because the domain lives in your Cloudflare account, it wires up the DNS and issues the secure certificate automatically — no technical setup.
Open https://yoursite.com and there it is: your site, your domain, a padlock, hosted for $0. Register it with Google Search Console and submit a sitemap so Google can find you.
I'll email you the free "$10 Website Checklist" — every click above on one page, plus my template starter files. No spam.
I'm not going to pretend free static hosting does everything — it doesn't, and anyone who says so is selling you something. You'll want paid hosting when your site needs a real server behind it:
| Free static hosting is perfect for… | You'll need paid hosting for… |
|---|---|
| Business landing pages, menus, portfolios | A full WordPress site with plugins |
| One-page sites, link-in-bio, resumes | An online store with logins & inventory |
| Simple blogs & informational sites | Anything with user accounts or a database |
| Calculators & static tools | Web apps and server-side code |
If that's you, don't overpay — a good budget host runs a few dollars a month, far less than the big names. When I need a database-backed site, this is the host I use and recommend:
Genuinely free, not a trial. Cloudflare Pages, GitHub Pages, and Netlify all have permanent free tiers for static sites. The companies offer it to get you into their ecosystem; there's no clock ticking.
Not for a simple site. You need a folder of files with an index.html. You can start from a free template, have a one-pager generated, or export from a builder. The hosting steps involve zero code.
No. Visitors see only your domain and your content, with a secure padlock. No injected ads, no forced subdomain, no host branding.
No catch — a domain name is the one part that genuinely costs money (about $10/year), because it's a registered address only you can own. Buy it at cost from Cloudflare Registrar or cheaply from a mainstream registrar.
Yes. Your domain is yours and portable. If you outgrow free static hosting, you point the same domain at a paid host — nothing is locked in.