I've been trying a lot of side projects lately. The one that stuck was building small sites and seeing whether any of them could pay for themselves.

As the about page says, I have no technical background. What I do have is AI, which lets me figure things out while I build.

If all you want is a personal blog or a portfolio, any of the hosts in this post will do. Pick whichever. But the moment you plan to put ads or affiliate links on the thing, you need to read the terms first.

So, static hosting. It means handing a pile of already-written files (HTML, CSS, JS, images) to a server, which sends them back exactly as they are to whoever shows up. The server doesn't render anything on the fly, doesn't query a database, doesn't run backend code. You're not renting a machine, so there's no monthly bill and nothing to maintain.

There is still a server, of course. It's the platform's, and it's serving thousands of other sites at the same time. A site your size costs them close to nothing, which is why they hand it out free.

Anything that needs logins or a comments section isn't static — that wants a machine of its own, running. WordPress is in that category, so if WordPress is what you came for, this post probably isn't for you.

The four names that come up most: Cloudflare Pages, Netlify, Vercel and GitHub Pages. All four will put a site online for free. Only two will let you earn from it.

Here's how the four compare, and which one I picked.

Host Commercial use Limits If you exceed
Vercel Hobby Banned; ads named outright, affiliate links only if that's the site's main purpose ~100 GB transfer Upgrade to Pro
GitHub Pages Banned 1 GB site, 100 GB/mo soft May stop serving your site
Netlify Free Allowed 300 credits/mo, about 15 GB Every site on the account paused until you upgrade
Cloudflare Pages Allowed, but no card details on the site 20,000 files, 25 MiB per file No traffic limit to hit

The two that let you monetise: Netlify vs Cloudflare Pages

Vercel and GitHub both put the ban in writing, so if you want to earn from the site they're out (their exact wording is in the last two sections).

So what separates Netlify from Cloudflare Pages?

Netlify: allowed, but the budget is tight

Netlify says on its own site that commercial projects are fine on the Free plan:

On the Free plan, you can deploy commercial projects, personal sites, or other creative explorations you want to share on the web.

The allowance, though, depends on when you signed up. Accounts created on or after 4 September 2025 run on credits: 300 a month, and you can't buy more.

Accounts older than that are still on the previous system — 100 GB of bandwidth and 300 build minutes a month.

You're reading this now, so odds are you're on the newer one.

What does 300 credits actually buy? At 20 credits per GB that's about 15 GB of bandwidth, and only if you spend the whole budget on bandwidth. You're not going to build just one site, and the day one of them takes off and blows through the allowance, every site on the account goes down together — visitors get a Site not available page. Nothing brings them back except moving to a paid plan.

Cloudflare Pages: ads are fine, and there's no traffic ceiling

Cloudflare's acceptable use terms list five prohibitions: falsely implying association with Cloudflare, infringing or otherwise unlawful content, distributing malicious code, facilitating phishing or spamming, and illegal activity. Commercial use, advertising and affiliate links aren't among them.

Free plans do get one extra restriction, though:

process or collect personal or business credit card information on any web property that is receiving Free Services

So if you were planning to take card details on the site itself, the free plan is out. If the payment happens somewhere else — Stripe, Gumroad, that sort of thing — the card never touches your site and you're fine.

As for limits, a free deployment can hold up to 20,000 files, each one up to 25 MiB, and you get 500 builds a month. There's no cap on bandwidth or requests.

A build is the platform regenerating your pages from source, which happens each time you push to a connected Git repo. Five hundred is not a number one person writing a blog is going to reach — you'd have to push seventeen times a day.

My pick: Cloudflare Pages

It was elimination, really. Vercel and GitHub are out on the terms. Netlify allows it but the allowance is thin, and I didn't want to find out an article had done well by watching the site fall over.

That leaves Cloudflare, whose one extra free-plan rule — no card details on the site — has nothing to do with a blog. If I put affiliate links or AdSense on this thing later, the terms won't be what stops me.

Cloudflare now points new projects to Workers, and its Pages docs open with "Are you sure you want to use Pages?" and say "Start new projects with Workers." Pages still works, Cloudflare hasn't announced that it's shutting down, and this site runs on it. For a static site Workers has the same file limits (20,000 files, 25 MiB per file), and requests to static assets are free and unlimited. The Cloudflare terms quoted above cover the free plan as a whole, so they apply on Workers too. If you're starting today, I'd take the Workers route and pick "Upload your static files".

Vercel and GitHub Pages: neither will let you earn from it

Vercel Hobby

Here's Vercel's Fair Use Guidelines, word for word:

Hobby teams are restricted to non-commercial personal use only. All commercial usage of the platform requires either a Pro or Enterprise plan.

In plain terms: Hobby is for personal, non-commercial use, and anything commercial means Pro or Enterprise.

It then defines commercial usage as any deployment made "for the purpose of financial gain of anyone involved in any part of the production of the project." The examples it gives:

  • Any method of requesting or processing payment from visitors of the site
  • Advertising the sale of a product or service
  • Receiving payment to create, update, or host the site
  • Affiliate linking is the primary purpose of the site
  • The inclusion of advertisements, including but not limited to online advertising platforms like Google AdSense

Those last two aren't the same. The affiliate one says "primary purpose"; the ads one has no such qualifier. So even if the rest of your site is completely non-commercial, a single AdSense unit already counts.

One carve-out: Vercel writes that donations don't fall under commercial usage. (So a "buy me a coffee" button is presumably fine?)

On allowances, Hobby gets 100 GB of fast data transfer and 1 million function invocations a month. Pro gets 1 TB.

GitHub Pages

Here's what the GitHub Pages documentation says:

GitHub Pages is not intended for or allowed to be used as a free web-hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions or providing commercial software as a service (SaaS).

In plain terms: don't run a business off it, and don't build a shop.

Note the word "primarily," though. Write a personal blog, drop one affiliate link in one post, and that's probably not what the clause is describing. Build a site whose whole reason for existing is affiliate revenue, and it is. (Where they'd actually draw the line in practice, I have no idea.)

On limits: a published site can't exceed 1 GB, and there's a soft bandwidth limit of 100 GB a month. Go over and GitHub won't bill you — there's nothing to bill — but it says it may stop serving your site.

Sources

Every quote and number here was read straight off the providers' own pages on 15 August 2026. The Workers note was checked on 26 September 2026.

Last updated: 2026-09-26