The Plan
Your site already lives on GitHub (from the Save Points part). Now you’ll connect GitHub to Cloudflare Pages, once. After that, every time you push, your live site updates by itself.
Connect once, then every push goes live. No uploading, no extra steps, ever again.
Before You Start
- Your project is pushed to GitHub, and it works on localhost.
- You have a free Cloudflare account. Sign up at dash.cloudflare.com if you don’t have one.
- You know what to put in the build settings. Easiest way: ask Claude before you begin:
I'm going to deploy this site on Cloudflare Pages by connecting my GitHub repo. What should I choose for the framework preset, the build command, and the build output directory? Keep its answer open. You’ll need it in step 4.
Step 1: Open Workers & Pages
In the Cloudflare dashboard, open Workers & Pages from the menu on the left, then click Create application.
Cloudflare offers two kinds of apps here: Workers and Pages. Choose the Pages option, then Connect to Git. (If you only see Workers, look for a Pages tab or a link to get started with Pages. The layout changes from time to time.)
Step 2: Connect GitHub
Cloudflare asks to sign in with GitHub. Approve it.
GitHub then asks which repositories Cloudflare may see. You can allow only the one you want to deploy. Private repos are completely fine.
Step 3: Pick Your Repo
Choose your website’s repo from the list, then click Begin setup.
Step 4: The Build Settings
This is the only step with choices. Use Claude’s answer from earlier:
| Setting | What it means | Usually |
|---|---|---|
| Project name | Becomes your web address | Something short, like my-website |
| Production branch | Which branch is the real site | main |
| Framework preset | Ready-made settings for your kit | Pick your framework from the list |
| Build command | The command that runs the build step | Filled in by the preset |
| Build output directory | Where the finished files end up | Filled in by the preset |
The framework preset usually fills in the other two for you. If your site is plain HTML with no framework, choose None and leave the build command empty.
Step 5: Save and Deploy
Click Save and Deploy.
Cloudflare grabs your files from GitHub, runs the build step, and spreads your site across its network. The first time takes a minute or two.
When it’s done, you get a web address like:
https://my-website.pages.dev Open it. On your laptop, and on your phone. That’s your website, live on the internet, for anyone in the world.
From Now On
This is the magic part. You never have to open the Cloudflare dashboard again for normal updates:
- Ask Claude for a change. Check it on localhost.
- “Save a checkpoint and push it.”
- About a minute later, the live site has the change.
Push to GitHub = update the live site. That’s the whole workflow.
Bonus: if you push a branch other than main (remember branches?), Cloudflare builds it at its own preview address, without touching your real site. Perfect for showing someone a new idea before it goes live.
If the Deploy Fails
Sometimes the build fails, usually because of a wrong build setting. Cloudflare shows a build log (a list of everything that happened during the build). Don’t try to read it all:
- Copy the red error lines from the log (or take a screenshot).
- Paste them into Claude:
My Cloudflare Pages deploy failed. Here's the error from the build log: [paste]. What's wrong, and what should I change? It’s the same three-line bug report habit, just for deploys.
Try it
Deploy your website on Cloudflare Pages. Then make one small change, push it, and watch the live site update by itself.
See an example prompt
Before you start:
I'm deploying this site on Cloudflare Pages from GitHub. What should I pick for the framework preset, build command and build output directory? After it’s live:
Change the main heading to say "Hello, world!", save a checkpoint and push it. Wait a minute or two, refresh your pages.dev address, and see the new heading appear on its own.