Build and run websites with Claude ›
Start here · Free · about 7 minutes
How to start a small website for free
Write one page, keep it in a free GitHub repository and publish it on Cloudflare Pages. Your site is live at a free address the same day.
Five steps, four of them free
- FreeA GitHub account and repository, Cloudflare Pages on the free plan, a pages.dev address with HTTPS.
- Costs moneyYour own domain name (a yearly fee), and any paid tools you choose later.
The free Pages plan allows up to 100 projects, 500 builds a month, 20,000 files per site and 25 MiB per file, which is plenty for a small site (Cloudflare’s published limits, checked November 2026). GitHub Pages is another free option for small sites. Limits change, so check the host’s own page before you rely on them.
You can write the first page yourself or ask Claude in a chat. Claude Code, used later in this course, needs a plan that includes it; check Anthropic’s current plans.
Practise
Get it online, step by step
Menu names change from time to time. If yours look different, follow Cloudflare’s Git integration guide. No GitHub yet? Cloudflare Pages also lets you upload a folder directly.
Copy and adapt
index.html: a first page
Save it as index.html, change the words, and open it in your browser to check it.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>My first site</title>
<meta name="description" content="One sentence that says what this site is for.">
<style>
:root { color-scheme: light dark; font-family: system-ui, sans-serif; line-height: 1.6; }
body { max-width: 40rem; margin: 0 auto; padding: 1rem; }
</style>
</head>
<body>
<main>
<h1>Hello, I'm building my first website</h1>
<p>This page is written in plain HTML and hosted for free.</p>
<p>Contact: <a href="mailto:[email protected]">[email protected]</a></p>
</main>
</body>
</html>Prompt: ask Claude for your first page
Paste it into a chat with Claude. It follows the five parts from Module 1.
Goal: Write one page, index.html, for a small website about <your topic>. Context: I will host it for free on Cloudflare Pages. I am a beginner. Constraints: - Plain HTML with the CSS inside the page; no frameworks, no JavaScript. - Readable on phones (viewport meta tag) and in light and dark mode. - One h1, short paragraphs, a contact line. - No passwords, keys or personal details I haven't given you. When you are done: explain each part of the page in one line so I can edit it myself.
_headers: basic security headers
Optional. A file called _headers next to index.html tells Cloudflare Pages to send these headers with every page. Module 6 explains them.
/* X-Content-Type-Options: nosniff Referrer-Policy: strict-origin-when-cross-origin X-Frame-Options: DENY Permissions-Policy: camera=(), microphone=(), geolocation=()
Before and after
Before
Make me a website.
After
Write one page, index.html, for a small site about my bakery: opening hours, three best sellers and a contact line. Plain HTML, readable on phones.
- A small, clear first step you can publish today. You can grow it page by page.
Before
I bought a hosting package and a theme before writing anything.
After
I wrote one page first, put it on a free host at a pages.dev address, and showed it to two friends before paying for anything.
- Start free and pay only for what the site really needs, usually a domain name, later.
Before
I uploaded my files by hand and kept old copies called final2 and final-new.
After
My files live in a GitHub repository. Every change is saved with a note, and Cloudflare Pages publishes the new version by itself.
- Version history replaces the pile of copies, and publishing becomes automatic.
Quick quiz
Question 1 of 5
Which web address do you get for free when you publish with Cloudflare Pages?
Every Pages project gets a pages.dev address with HTTPS. A .com, .org or .net name is a domain you register and renew each year.
Question 2 of 5
For a small site like this, what usually costs money?
The host, the pages.dev address and its HTTPS are free on the free plan. A domain name is registered for a yearly fee.
Question 3 of 5
Why keep the site in a GitHub repository?
The repository keeps every version with a note, so you can undo mistakes. Cloudflare Pages watches it and publishes each change.
Question 4 of 5
Your page shows tiny text on phones, as if zoomed out. What is most likely missing?
Without <meta name="viewport" content="width=device-width, initial-scale=1">, phones show the page at desktop width. The other files don’t change how the page fits the screen.
Question 5 of 5
Which of these must never go into your repository?
Anything in the repository can be copied or leaked. Keys and passwords belong in the host’s secret settings, never in files.
Independent course by GetReady Academy. It is not made, endorsed or sponsored by Anthropic. Claude and Claude Code are Anthropic’s products and their features change, so check the official Claude Code documentation too. Results depend on your project and your own checks; we don’t promise any outcome or income. Everything on this page runs in your browser and nothing you choose or type is sent.