If you're building a static site and you intend to put ads or affiliate links on it later, the choice of host is narrower than it looks.

Static web hosting means serving pre-built files with no server behind them: no database, no sessions, no page assembled at request time. If what you want is WordPress, this whole category is the wrong shelf. The four hosts you'll see recommended most often are Cloudflare Pages, Netlify, Vercel and GitHub Pages, and all four will put a site online at no cost. Only two of them will let you earn from it.

Plenty of guides will walk you through getting a site online. This one is about what they leave out.

Below is what each provider's own documentation says, and what I chose in the end.

Host Commercial use Limits If you exceed
Vercel Hobby Prohibited, names ads and affiliate links ~100 GB transfer Upgrade to Pro
GitHub Pages Prohibited 1 GB site, 100 GB/mo soft Site may not be served
Netlify Free Allowed 300 credits/mo, about 15 GB Projects paused until you upgrade
Cloudflare Pages Allowed, but no card processing 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 rule themselves out in writing, which I will come back to below. That leaves a straight choice between two hosts that both permit commercial use, and they fail in completely different ways.

Netlify: allowed, within a tight budget

Netlify explicitly allows commercial projects on the Free plan. Its own announcement of the plan says so directly:

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

That post lists the monthly allowances as 100 GB of bandwidth and 300 build minutes. Most comparisons still quote those numbers. If you sign up today, they aren't the numbers you get.

Netlify moved to credit-based pricing, and the documentation is explicit about who it applies to: "starting on September 4, 2025, all new Netlify accounts will use the new credit-based pricing plans." The Free plan on that model is 300 credits a month, a hard limit with no option to buy more.

The conversion rates are in the same documentation. Bandwidth costs 20 credits per GB. Production deploys cost 15 credits each, and build minutes are no longer counted separately.

Do the arithmetic and the free tier looks different. Three hundred credits at 20 credits per GB is about 15 GB of bandwidth, not 100 GB, and that's only if bandwidth is the sole thing you spend on. Twenty production deploys consume the entire monthly budget on their own, before a single visitor arrives.

Then there's the sentence that decided it for me:

Once your credit balance is completely used up, all of your web projects (sites/apps) are paused and visitors to your web projects will find a Site not available page at each of your web project's URLs.

The Free plan can't buy its way out of that. Credit packs and auto recharge are listed for the Personal and Pro plans; Free is a hard limit. Restoring the site means moving to a paid plan.

Cloudflare Pages: ads allowed, no traffic ceiling

Nothing in Cloudflare's terms restricts ads or affiliate links. That isn't the same as no restrictions at all, and the one that exists isn't in the section people usually quote.

The acceptable use clause, section 2.7 of the Self-Serve Subscription Agreement, lists 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 don't appear. Section 2.6, which covers free services, says only that Cloudflare may end them at any time and accepts no liability for them.

The restriction that does single out free plans sits earlier, in the general restrictions at section 2.2.1. You may not:

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

So Cloudflare draws the line in a different place from Vercel and GitHub. Theirs is commercial versus non-commercial. Cloudflare's is about handling card details on the site itself, which is why ads and affiliate links are unaffected: the payment happens on someone else's domain. A checkout form on a free Pages site is the thing this clause rules out.

The Pages limits are structural rather than commercial. A deployment may contain up to 20,000 files on the free plan, each file up to 25 MiB, and 500 builds a month. The limits page lists no bandwidth or request cap.

The difference that matters

Both allow monetisation, so the question is what happens on a good day. Netlify gives you roughly 15 GB before every project on the account is paused. Cloudflare publishes no bandwidth cap at all, and its limits are on how many files you deploy rather than on how many people read them.

On Netlify's free plan, traffic is the thing that can take your site down. On Cloudflare Pages, it isn't.

My choice

This site runs on Cloudflare Pages. The choice was elimination, not features.

Vercel and GitHub ruled themselves out in writing. Netlify allows monetisation, but a new free account gets roughly 15 GB of bandwidth before every project on it is paused, so the day an article does well is the day the site goes offline. I didn't want "an article did well" and "the site went down" to be the same event.

Cloudflare Pages puts no ceiling on the traffic it serves, and nothing in its terms stops a site from carrying ads or affiliate links. Its one free-plan restriction is that the site may not process card details, which a blog doesn't do anyway. If I ever add the affiliate links this site is designed to carry, the terms won't be the thing that stops me.

Vercel and GitHub Pages: ads and affiliate links are out

Vercel Hobby

Vercel's Hobby plan is limited to non-commercial personal use, and the definition of commercial explicitly includes affiliate links and Google AdSense. The wording is in Vercel's Fair Use Guidelines, which the page dated to 16 June 2026 when I read it:

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

Commercial usage is then defined as any deployment used "for the purpose of financial gain of anyone involved in any part of the production of the project." The examples given include:

  • 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

There's one carve-out. Vercel states that asking for donations doesn't fall under commercial usage, so a "buy me a coffee" button isn't what puts you over the line. Ads and affiliate links are.

The Hobby usage guidelines on the same page are roughly 100 GB of fast data transfer and 1 million function invocations per month. Those are the numbers most comparisons quote. They aren't the reason to rule it out.

GitHub Pages

GitHub Pages can't be used to run an online business or a site primarily aimed at commercial transactions. The GitHub Pages documentation states it plainly:

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).

The same page also says Pages sites "shouldn't be used for sensitive transactions like sending passwords or credit card numbers."

The technical limits are lower than most people expect. Published sites may be no larger than 1 GB, source repositories have a recommended limit of 1 GB, and there's a soft bandwidth limit of 100 GB per month. Deployments time out after 10 minutes, with a soft limit of 10 builds per hour that doesn't apply if you publish with a custom GitHub Actions workflow. You also get one user or organisation site per account.

Exceeding those quotas isn't a billing event, because there's nothing to bill. GitHub says it may not be able to serve your site, or that you may get an email from support suggesting you put a CDN in front of it, use other GitHub features, or move "to a different hosting service that might better fit your needs."

Note the word "primarily." A personal site with one affiliate link in one post isn't obviously the thing this clause describes. A site whose purpose is affiliate revenue is.

Common questions

The questions people actually search for, and the parts the sections above did not spell out.

Does one affiliate link make my site commercial? On both hosts that prohibit commercial use, the test is what the site is for. Vercel lists "affiliate linking is the primary purpose of the site" and GitHub prohibits sites "primarily directed at" commercial transactions. One link in one post isn't what either clause describes. Advertising is different: Vercel lists "the inclusion of advertisements" with no qualifier about primary purpose, so a single AdSense unit is commercial usage on Hobby even if the rest of the site isn't. Vercel's own answer to the grey area is to ask: the same page tells you to contact its support team if you're unsure whether your site counts.

Is Cloudflare Pages really unlimited bandwidth? The Pages limits documentation lists no bandwidth or request cap, and the limits that do apply are 20,000 files per deployment, 25 MiB per file, and 500 builds a month. That isn't the same as a guarantee. Section 2.6 of the subscription agreement lets Cloudflare stop providing free services at any time and disclaims liability for them. No published ceiling, no promise either.

How much bandwidth does a new Netlify free account actually get? About 15 GB. Accounts created after 4 September 2025 use credit-based pricing: 300 credits a month, with bandwidth charged at 20 credits per GB. Note what that date does and doesn't cover: the documentation applies the credit model to "all new Netlify accounts," so if you opened yours earlier, check which plan you're actually on rather than assuming either set of numbers. Running out pauses every project on the account until you move to a paid plan.

Do donations count as commercial use? On Vercel, no. The Fair Use Guidelines state that asking for donations doesn't fall under commercial usage. Ads and affiliate links do, so a donation button is allowed on Hobby where an ad unit isn't.

Sources

All quotations were read directly from the providers' own pages on 3 August 2026. Terms change, so check the current wording before you rely on any of this.

Last updated: 2026-08-03