Cloudflare Pages · Free hosting · No code · No server · Just drag and drop
You just built a lesson artifact — a fully-styled interactive HTML page. Platforms like Substack and Medium strip all CSS and JavaScript, so you can't publish it there directly.
Instead, you'll publish it to Cloudflare Pages — a free hosting platform that turns an HTML file into a real URL in under a minute. Then you link to it from anywhere: Substack, X, LinkedIn, email.
This is how professional course creators publish interactive content. And you already have a Cloudflare account connected to Claude.
No credit card for the free tier. 500 deploys/month. More than enough.
Served from 300+ locations worldwide. Loads fast everywhere.
SSL certificate handled for you. No setup required.
Use your own domain — or the free .pages.dev subdomain.
This is one of those skills that changes what's possible for you. Once you know how to deploy a static page in 60 seconds, every artifact Claude builds for you becomes a real web asset. Lesson pages, landing pages, tools, calculators, interactive guides — all of it goes live instantly.
We're building a course about taking control of your computing environment. This is that principle applied to publishing.
Open your browser and navigate to:
Sign in with your existing Cloudflare account (the one connected to Claude). If you don't have one, create a free account — no credit card needed.
In the left sidebar click Workers & Pages, then click the blue Create button in the top right.
On the next screen, click the Pages tab, then choose "Upload assets" — this is the drag-and-drop path, no Git required.
Give it a name — this becomes part of your free URL. For example:
You can connect a custom domain later (like lessons.theindependentpc.com) but the free subdomain works perfectly to start.
Cloudflare shows you an upload zone. Drag your mcp-config-fix.html file directly onto it — or click to browse.
Important: Cloudflare Pages needs an index.html as the root file. Either rename your file to index.html before uploading, or create a folder containing it named index.html.
Pro tip: For multiple lesson pages, create a folder. Put each lesson as its own HTML file inside it. Cloudflare serves the whole folder as a website — /mcp-fix, /install-nodejs, etc. One project, many lessons.
Hit the deploy button. Cloudflare uploads, processes, and distributes your file globally. This takes about 15–30 seconds.
When it finishes you'll see a live URL. Click it. Your lesson page is on the internet.
Copy the live URL. In your Substack post, create a button or link pointing to it. Screenshot the page and use it as your post's header image so readers know what they're clicking into.
To update a deployed page, go back to your project in the Cloudflare dashboard, click Upload Assets again, and drop in the new file. Cloudflare creates a new deployment and your URL instantly serves the updated version. Old deployments are preserved — you can roll back any time.
This is the same deploy-from-file workflow used by professional frontend teams before they automate it with Git. You're doing it manually for now — and that's fine. You'll understand exactly what's happening.
The drag-and-drop workflow scales further than you'd think. But when you're ready, the next step is connecting Cloudflare Pages to a GitHub repository — then every time you push a file to GitHub, Cloudflare auto-deploys. That's the professional workflow.
Custom domain: In Cloudflare Pages → your project → Custom Domains → add your domain. If your domain is already on Cloudflare DNS (very common), it activates in seconds.