Heads up: some links below are affiliate links. If you use one, I may earn a small commission at no extra cost to you. I only recommend what I actually used. See the full disclosure.
Updated 2026 · Beginner-friendly · No coding

I put a real website online for $10 a year. Hosting cost me $0.

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.

$0hosting (forever, not a trial)
$10.46domain name / year
~20 minstart to live
AD · leaderboard 728×90
The one-sentence version: a "static" website (pages, no database) can be hosted free and permanently on Cloudflare Pages — you only pay for the domain name (~$10/yr). That's the whole secret the monthly-hosting companies would rather you not know.

Why hosting can actually be free

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.

This is the exact setup running on my own live site right now — I'm not repeating a tutorial I read, I did this myself. The screenshots below are from my real account.

What you'll do (the whole plan)

Five steps, no coding required for a simple site:

1Get your website files ready

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.

[ Screenshot: your site folder with index.html and other files ]
2Buy a domain (~$10/yr)

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.

[ Screenshot: domain registration confirmation — "$10.46, 1 year" ]
Grab a domain at Namecheap →
3Deploy your files free on Cloudflare Pages

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.

[ Screenshot: Cloudflare Pages upload screen with files dropped in ]
4Connect your domain (free HTTPS included)

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.

[ Screenshot: custom domain connected, status "Active" ]
5You're live — total cost ~$10/year

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.

[ Screenshot: your finished site live at yoursite.com with the padlock ]
AD · 300×250 in-content

Want the whole thing as a printable checklist?

I'll email you the free "$10 Website Checklist" — every click above on one page, plus my template starter files. No spam.

When free hosting isn't enough (be honest with yourself)

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, portfoliosA full WordPress site with plugins
One-page sites, link-in-bio, resumesAn online store with logins & inventory
Simple blogs & informational sitesAnything with user accounts or a database
Calculators & static toolsWeb 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:

Outgrowing free? For WordPress, stores, or anything needing a database, a reliable low-cost host is the move — not a $30/mo big-brand plan.
See my recommended paid host →
The link above is an affiliate link — if free hosting covers you, you don't need it, and that's genuinely fine. I'd rather you keep your money.

Frequently asked questions

Is this really free forever, or a trial that expires?

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.

Do I need to know how to code?

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.

Will people see ads or "free host" branding on my site?

No. Visitors see only your domain and your content, with a secure padlock. No injected ads, no forced subdomain, no host branding.

What's the catch with the domain?

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.

Can I move to paid hosting later if I grow?

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.

Bottom line: if you're paying monthly for hosting a simple site, you're very likely paying for something you can get free. A real, professional website is a ~$10/year domain plus $0 hosting. Now you know.