Digital Setup ScoutPay less. Own more.

Guide · Websites

Put your site online with Cloudflare Pages (free)

The full walkthrough: create a Cloudflare account, put your site online (drag-and-drop, or a free private GitHub repo that auto-publishes every change), and connect your own domain — HTTPS handled for you.

Updated 2026-07-20

You have a folder with your website in it (if not: build one with AI first). This guide puts it on the internet, free, in about 30 minutes including the domain connection.

Why Cloudflare Pages

Cloudflare runs a huge chunk of the internet’s plumbing. Pages is their static-site hosting: free with unlimited bandwidth, automatic HTTPS, and a global network that makes your site fast everywhere. The free tier is the product, not a trial — no ads, no forced upgrades. (And no, we earn nothing saying this: Cloudflare has no affiliate program. This site itself runs on Pages.)

Step 1: Create your Cloudflare account

  1. Go to dash.cloudflare.com/sign-up and sign up with your email — use your own email, the same rule as owning your own domain.
  2. The free plan is fine for everything in this guide. Skip any upsells.

Step 2: Create your Pages project

Two ways to get your folder online. Both are free — the first is simplest today, the second saves you time on every future update.

Option A: Drag and drop (simplest)

  1. In the dashboard sidebar, find Workers & Pages → Create → Pages.
  2. Choose “Upload assets” (direct upload).
  3. Name the project anything (mikes-plumbing — this becomes a free preview address like mikes-plumbing.pages.dev).
  4. Drag your website folder into the upload box. Click Deploy.

That’s it — your site is live at the .pages.dev address. Check it on your phone.

Option B: Connect a GitHub repository (updates itself forever)

GitHub is a free service where your site’s files live in a “repository” — think of it as a synced, versioned folder in the cloud. Connect it once and every change you save to GitHub goes live on Cloudflare automatically, usually within a minute. No re-uploading, ever, and you get a full history of every version of your site (so any mistake is a one-click rollback).

  1. Create a free account at github.com, then create a new repository. Choose Private — your site’s files don’t need to be publicly browsable, and Cloudflare can read a private repo just fine.
  2. Upload your website files to the repository (GitHub’s web interface has an “upload files” button — no technical tools required, though your AI assistant can also show you the git way).
  3. In Cloudflare: Workers & Pages → Create → Pages → Connect to Git, authorize GitHub, pick your repository, leave the build settings empty for a plain HTML site, and deploy.

From now on, updating your site is just: edit the file on GitHub (or ask your AI to give you the new version and upload it), save, done — Cloudflare notices and publishes automatically. This is how the site you’re reading stays updated.

Which to pick? If “repository” sounds like one new thing too many today, drag-and-drop is genuinely fine — you can connect GitHub later without starting over. If you’re comfortable making an account, Option B is the better long-term setup.

Step 3: Connect your own domain

Assuming your domain is at Spaceship (the buying guide):

  1. In your Pages project: Custom domains → Set up a custom domain → type yourbusiness.ca.
  2. Cloudflare will ask you to point your domain at it. The cleanest path: it invites you to add your domain to Cloudflare (free) and gives you two “nameservers” (addresses like ada.ns.cloudflare.com).
  3. At Spaceship: open your domain → Nameservers → Custom, and paste in those two nameservers. Save.
  4. Wait. Nameserver changes take minutes to a few hours. Cloudflare emails you when it’s active, and HTTPS certificates issue automatically.

Add the www. version too when prompted, so both yourbusiness.ca and www.yourbusiness.ca work.

Step 4 (two minutes, do it now): future updates

  • If you used drag-and-drop (Option A): Workers & Pages → your project → Create new deployment, drag the updated folder, deploy. Old versions are kept, so you can roll back a bad update with one click.
  • If you connected GitHub (Option B): there is no step — save the change to your repository and Cloudflare deploys it automatically.

Do a practice run now while it’s fresh — change one word in your site file and update it.

Troubleshooting the two common snags

  • “My domain shows an error page”: nameservers haven’t finished switching (give it up to 24h), or the custom domain step wasn’t completed inside the Pages project. Both states are visible under Custom domains — it will say “Active” when done.
  • “My site looks wrong online but fine on my computer”: a photo or file didn’t make it into the uploaded folder, or is named differently than the HTML expects (Photo.JPG vs photo.jpg — capitalization counts online). Re-check names, re-upload the whole folder.

The receipt

Cloudflare account ................ $0
GitHub account (private repo) ..... $0
Hosting, bandwidth, HTTPS ......... $0
Your time, first deploy ........... ~30 min
Your time, every update after ..... ~2 min (0 with GitHub)

Next: set up business email on your domain →