You built the page. Now it becomes a real, shareable asset — a link anyone can open, on your own domain, with SSL, on Cloudflare's free tier. No server, no credit card, no monthly bill.
1 · Why Cloudflare
For sites like yours — HTML, CSS, JS, images — Cloudflare Pages is the free default.
What you get for $0
Free hosting on Cloudflare's global network
Free SSL — the padlock and https are automatic
A free .pages.dev URL the moment you deploy
Your own domain wired up with DNS handled for you
No credit card to sign up, no server to babysit
Why not the "easy" paid hosts
Most website builders charge monthly and lock your site inside their tool. Here your site is just files — you can move it anywhere, change hosts in ten minutes, and never pay a hosting bill while it sits online.
Free tiers are published plans, not permanent promises — keep an eye on Cloudflare's pricing page for current limits.
2 · Path A — Drag-and-drop deploy (10 minutes)
The fastest route from "file on my laptop" to "link on the internet." This is the short version of the checklist in the Starter Asset Kit.
Organize your folder. Put your page in a folder as index.html. (Multi-page site? Structure it like section 4 below.)
In the sidebar: Workers & Pages → Create → pick the Pages tab → Upload assets.
Name the project — it becomes your free URL: your-name.pages.dev.
Drag your folder into the upload box. (Drag the folder that containsindex.html.)
Click Deploy. Done — you now have a live URL.
Open it on your phone. Real users are on phones; check the real thing, not just your desktop.
Click something. If a link 404s, your folder structure or link path is off — fix locally, re-upload (section 5).
3 · Add your own domain
The .pages.dev URL is yours forever, but a domain makes it a brand.
Get a domain. Register one through Cloudflare Registrar (at-cost pricing) or bring one you already own from any registrar.
In your Pages project → Custom domains → Set up a custom domain → enter your domain.
If the domain's DNS already lives on Cloudflare, DNS records are added for you. Anywhere else, Cloudflare tells you exactly which records to point over — or change your registrar's nameservers to Cloudflare's once and every future setup is one click.
Wait ~1 minute. SSL certificates issue automatically — nothing to buy, nothing to configure, nothing to renew.
Visit your domain with the padlock showing. You're live.
4 · Deploying a whole multi-page site
Folders become URLs, and index.html is the page each folder serves automatically. That's the entire rule.
Link with paths that match folders — href="/free/kit/" and href="/free/lessons/3/" (root-relative works because your site sits at the domain root).
Every folder needs its own index.html or you'll get a 404 at that URL.
Drag the top folder into the deploy box so the whole structure arrives intact.
Shared assets go in one place: assets/style.css → <link href="/assets/style.css">.
5 · Updating after you edit
Nothing you ship is final. Three ways to push changes, in order of comfort.
Option 1 — Re-upload 5 seconds
Project → Deployments → Create deployment → drag the folder again. Best when you're just starting out.
Option 2 — Git-connected recommended
Connect a GitHub (or GitLab/Bitbucket) repo. Every git push triggers a fresh deploy automatically. This is how real teams ship — and it's a free plan feature.
Option 3 — Wrangler CLI for the terminal-curious
npx wrangler login then npx wrangler pages deploy . from your site folder. Same result, no browser.
Seeing an old version?
HTML is cached for ~5 minutes and static assets longer (this site caches assets 30 days). Hard-refresh (Ctrl+Shift+R) while developing, and don't panic when a fresh deploy takes a minute to show.
6 · When it doesn't work — the four real problems
404 on the home page → you uploaded a file instead of a folder, or the folder has no index.html. Check the file is actually named index.html, not index.html.txt (Windows hides extensions — turn them on).
Custom domain stuck "pending" → DNS hasn't propagated. If you brought a domain from another registrar, the records or nameservers must point at Cloudflare. Double-check spelling; then wait 5–30 minutes.
Padlock not showing yet → certificates take about a minute on first setup. If it's been an hour, re-open Custom domains and follow the prompt shown there.
Changes not appearing → cache. Hard-refresh; in the Pages project check you deployed the new deployment (Deployments list, top entry).
Build the code → capture the email → deploy it free → share it. That's a real funnel, live on the internet, running for $0. Now do it again for a real business — with feedback, deadlines, and someone who's built a few of these.
The $0 Asset Machine™ — a Mikee AI training · mikee.pro · Questions? mikee@mikee.ai · Privacy OpenCode, Freebuff, Cloudflare and other tools named here are independent third-party tools; "free" refers to their published free tiers. This training teaches a system; it is not a promise of income.