{"slug": "cloudflare-pages", "name": "Cloudflare Pages", "category": "infra", "category_name": "Infrastructure and DevOps", "description": "Cloudflare's hosting platform for static sites and web apps, deployed from Git.", "recommenders": 8, "commenters": 15, "warners": 2, "score": 6.75, "rising": 0.04, "first": "2026-01-16", "latest": "2026-10-07", "why": "Recommended for hosting static sites and blogs on a generous free tier, often paired with Astro, GitHub, and Cloudflare's D1 and Workers.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 8, "neutral": 5, "compare": 0, "warn": 2}, "spark": [0, 0, 3, 0, 0, 0, 0, 2, 1, 2, 0, 0], "listed": true, "loved": ["Static site hosting", "Free tier"], "caveat": "Confusing dashboard", "short_quote": "Cloudflare workers/pages/D1/R2 works great for me on the free plan.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://pages.cloudflare.com", "pricing": "freemium", "aliases": ["Cloudflare Pages"], "verdict": [{"text": "Recommended for hosting static sites and blogs", "cites": [{"id": 779371553, "item_id": 48710722, "url": "https://news.ycombinator.com/item?id=48710722", "by": "preg_match", "date": "2026-06-28", "stance": "recommend", "quote": "Just use cloud flare pages, link it up with GitHub, and boom, you have a static site.", "excerpt": "No. Wordpress requires overly complex administration and deployment. There\u2019s just a lot that goes on with Wordpress, and you\u2019d need a VPS to deploy it just by the nature of Wordpress. If you\u2019re building a static site - meaning, a site which does not have any forms which require backend functions - you should use a static site generator. If you\u2019re not building a static site, I recommend starting with a static site. It", "context": "", "use_case": "static site deployment", "switched_from": "", "story": "Ask HN: Is WordPress the best way to create new websites for beginner"}, {"id": 779370246, "item_id": 48710640, "url": "https://news.ycombinator.com/item?id=48710640", "by": "daemonologist", "date": "2026-06-28", "stance": "recommend", "quote": "if you want to supply all the HTML/CSS yourself: Github Pages or Cloudflare Pages.", "excerpt": "I would definitely not recommend WordPress. If you just want a website for cheap: Bearblog, carrd.co, etc. if you want all the bells and whistles on a platter: Squarespace, Wix, etc. if you want to supply all the HTML/CSS yourself: Github Pages or Cloudflare Pages. (Later, if you want to host the above (except the \"bells and whistles\" tier) yourself: Hetzner, Digital Ocean, etc.)", "context": "", "use_case": "hand-written HTML hosting", "switched_from": "", "story": "Ask HN: Is WordPress the best way to create new websites for beginner"}, {"id": 748208048, "item_id": 46763003, "url": "https://news.ycombinator.com/item?id=46763003", "by": "tombert", "date": "2026-01-26", "stance": "recommend", "quote": "I use Cloudflare Pages for my blog, and I really like it", "excerpt": "I use Cloudflare Pages for my blog, and I really like it, but my static blog generator (Quartz) only supports Giscus, which requires signing in with a GitHub account. I was thinking I might be able to hobble together a vibe-coded straightforward thing with Rust-> WASM to make an embeddable comment system, using Cloudflare Workers. I gotta say that Workers are shockingly pleasant to use. I think I might end up using t", "context": "", "use_case": "blog hosting", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}, {"id": 790330449, "item_id": 49395653, "url": "https://news.ycombinator.com/item?id=49395653", "by": "simondanerd", "date": "2026-08-22", "stance": "recommend", "quote": "Cloudflare or Netlify Pages for static projects", "excerpt": "Cloudflare tunnels for stuff requiring an actual machine. Cloudflare or Netlify Pages for static projects (with D1 as a database when needed).", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}]}, {"text": " on a generous free tier,", "cites": [{"id": 783674657, "item_id": 48979666, "url": "https://news.ycombinator.com/item?id=48979666", "by": "sofixa", "date": "2026-07-20", "stance": "recommend", "quote": "a static hosting service with a generous free tier like CloudFlare Pages/Workers, Netlify, Firebase Hosting, etc.", "excerpt": "> But with AI you kinda sorta should just build your own blog Please don't. There is absolutely no reason not to use the extremely simple and powerful combination of: * a headless CMS / static website generated, of which there are a bunch so pick the one you like the most. My go-to is Hugo but it is somewhat complex * a static hosting service with a generous free tier like CloudFlare Pages/Workers, Netlify, Firebase ", "context": "", "use_case": "static blog hosting", "switched_from": "", "story": "Exploit brokers pay $500k for WordPress RCEs. I found one with GPT5.6 and $25"}, {"id": 790296305, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "Cloudflare workers/pages/D1/R2 works great for me on the free plan.", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "hosting sites", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 769483073, "item_id": 48092692, "url": "https://news.ycombinator.com/item?id=48092692", "by": "rishikeshs", "date": "2026-05-11", "stance": "neutral", "quote": "I host it free on CF pages", "excerpt": "I use Hugo Book[1] for the documentation of FormBeep[2] It's been super easy and I host it free on CF pages: [1]https://hugo-book-demo.netlify.app/docs/example/ [2]https://docs.formbeep.com", "context": "", "use_case": "hosting docs", "switched_from": "", "story": "Ask HN: Best static site generator for a docs site in 2026?"}]}, {"text": " often paired with Astro, GitHub, and Cloudflare's D1 and Workers.", "cites": [{"id": 746371521, "item_id": 46648220, "url": "https://news.ycombinator.com/item?id=46648220", "by": "jasona123", "date": "2026-01-16", "stance": "recommend", "quote": "Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site", "excerpt": "Only mildly surprising - Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site or do anything else and it does feel like they've been really working on the integration between the two.", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 748622194, "item_id": 46788887, "url": "https://news.ycombinator.com/item?id=46788887", "by": "alexoverdev", "date": "2026-01-27", "stance": "recommend", "quote": "switched to Sveltia CMS + Astro + Cloudflare Pages", "excerpt": "A reflection on why I stopped building my own static site generator and switched to Sveltia CMS + Astro + Cloudflare Pages. The key insight: reducing iteration friction matters more than having complete control. I was spending all my time on tooling instead of actually writing.", "context": "blogger", "use_case": "blog hosting", "switched_from": "", "story": "Sveltia CMS Saved My Blog"}, {"id": 779371553, "item_id": 48710722, "url": "https://news.ycombinator.com/item?id=48710722", "by": "preg_match", "date": "2026-06-28", "stance": "recommend", "quote": "Just use cloud flare pages, link it up with GitHub, and boom, you have a static site.", "excerpt": "No. Wordpress requires overly complex administration and deployment. There\u2019s just a lot that goes on with Wordpress, and you\u2019d need a VPS to deploy it just by the nature of Wordpress. If you\u2019re building a static site - meaning, a site which does not have any forms which require backend functions - you should use a static site generator. If you\u2019re not building a static site, I recommend starting with a static site. It", "context": "", "use_case": "static site deployment", "switched_from": "", "story": "Ask HN: Is WordPress the best way to create new websites for beginner"}, {"id": 790296305, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "Cloudflare workers/pages/D1/R2 works great for me on the free plan.", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "hosting sites", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 751105249, "item_id": 46944078, "url": "https://news.ycombinator.com/item?id=46944078", "by": "tryanythingonce", "date": "2026-02-09", "stance": "neutral", "quote": "Cloudflare Pages + D1 for the leaderboard", "excerpt": "My daughter drew a word puzzle game on paper \u2014 rules, name, game board, everything. We built it into a real daily puzzle over a weekend. It's a word chain: each word starts with the last letter of the previous one, climbing from 3 to 7 letters in a pizza-slice shape. Certain letters are locked in each day (pepperoni) so every puzzle is different. Scrabble-style scoring with row multipliers. Stack: vanilla JS (no fram", "context": "", "use_case": "hosting", "switched_from": "", "story": "A daily word puzzle my 9-year-old daughter designed"}]}, {"text": " Each complaint comes from a single commenter: one found the dashboard setup confusing and another reported their sites going unreachable,", "cites": [{"id": 775341601, "item_id": 48458850, "url": "https://news.ycombinator.com/item?id=48458850", "by": "zaptheimpaler", "date": "2026-06-09", "stance": "warn", "quote": "CF pages still required too much confusing clicking around on a webpage for me.", "excerpt": "I made a little tool where I can just drop HTML into a folder and it will deploy it either to my internal Caddy or publicly on Cloudflare based in folder. Can be a single html or a folder. https://github.com/ankitson/webby CF pages still required too much confusing clicking around on a webpage for me. This way I can just point any little report or app at a directory and done. There\u2019s others that are more server shape", "context": "", "use_case": "deploying static pages", "switched_from": "", "story": "Ask HN: What are tools you have made for yourself since the advent of AI"}, {"id": 769233088, "item_id": 48077068, "url": "https://news.ycombinator.com/item?id=48077068", "by": "mariopt", "date": "2026-05-09", "stance": "warn", "quote": "all my sites are unreachable", "excerpt": "You may not see it on the dashboard but all my sites are unreachable. I used a 3rd party website screenshot and it may be working in some countries.", "context": "", "use_case": "site hosting", "switched_from": "", "story": "Cloudflare Pages is down in Spain"}]}, {"text": " while one author exposed repo files by using the repo root as the build output directory.", "cites": [{"id": 799911504, "item_id": 49994469, "url": "https://news.ycombinator.com/item?id=49994469", "by": "tminuslabs", "date": "2026-10-07", "stance": "neutral", "quote": "my Cloudflare Pages build output directory was the repo root, so every committed file was a public URL", "excerpt": "Author here. Short version: my Cloudflare Pages build output directory was the repo root, so every committed file was a public URL, including a 150KB internal handoff doc and dot-directories like .claude/ and .github/. No credentials or customer data, but the doc described an admin query parameter that skipped checkout and an unfixed hole in my own schema. The parts I think are useful beyond my own mistake: - Two \"pu", "context": "author of the post, solo site owner", "use_case": "static site hosting", "switched_from": "", "story": "My static site was serving my internal docs"}]}], "praise": [{"label": "Static site hosting", "summary": "A go-to choice for deploying static sites and blogs.", "quotes": [{"id": 779371553, "item_id": 48710722, "url": "https://news.ycombinator.com/item?id=48710722", "by": "preg_match", "date": "2026-06-28", "stance": "recommend", "quote": "Just use cloud flare pages, link it up with GitHub, and boom, you have a static site.", "excerpt": "No. Wordpress requires overly complex administration and deployment. There\u2019s just a lot that goes on with Wordpress, and you\u2019d need a VPS to deploy it just by the nature of Wordpress. If you\u2019re building a static site - meaning, a site which does not have any forms which require backend functions - you should use a static site generator. If you\u2019re not building a static site, I recommend starting with a static site. It", "context": "", "use_case": "static site deployment", "switched_from": "", "story": "Ask HN: Is WordPress the best way to create new websites for beginner"}, {"id": 746371521, "item_id": 46648220, "url": "https://news.ycombinator.com/item?id=46648220", "by": "jasona123", "date": "2026-01-16", "stance": "recommend", "quote": "Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site", "excerpt": "Only mildly surprising - Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site or do anything else and it does feel like they've been really working on the integration between the two.", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 748208048, "item_id": 46763003, "url": "https://news.ycombinator.com/item?id=46763003", "by": "tombert", "date": "2026-01-26", "stance": "recommend", "quote": "I use Cloudflare Pages for my blog, and I really like it", "excerpt": "I use Cloudflare Pages for my blog, and I really like it, but my static blog generator (Quartz) only supports Giscus, which requires signing in with a GitHub account. I was thinking I might be able to hobble together a vibe-coded straightforward thing with Rust-> WASM to make an embeddable comment system, using Cloudflare Workers. I gotta say that Workers are shockingly pleasant to use. I think I might end up using t", "context": "", "use_case": "blog hosting", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}]}, {"label": "Free tier", "summary": "Commenters host projects free and call the free tier generous.", "quotes": [{"id": 783674657, "item_id": 48979666, "url": "https://news.ycombinator.com/item?id=48979666", "by": "sofixa", "date": "2026-07-20", "stance": "recommend", "quote": "a static hosting service with a generous free tier like CloudFlare Pages/Workers, Netlify, Firebase Hosting, etc.", "excerpt": "> But with AI you kinda sorta should just build your own blog Please don't. There is absolutely no reason not to use the extremely simple and powerful combination of: * a headless CMS / static website generated, of which there are a bunch so pick the one you like the most. My go-to is Hugo but it is somewhat complex * a static hosting service with a generous free tier like CloudFlare Pages/Workers, Netlify, Firebase ", "context": "", "use_case": "static blog hosting", "switched_from": "", "story": "Exploit brokers pay $500k for WordPress RCEs. I found one with GPT5.6 and $25"}, {"id": 790296305, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "Cloudflare workers/pages/D1/R2 works great for me on the free plan.", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "hosting sites", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 769483073, "item_id": 48092692, "url": "https://news.ycombinator.com/item?id=48092692", "by": "rishikeshs", "date": "2026-05-11", "stance": "neutral", "quote": "I host it free on CF pages", "excerpt": "I use Hugo Book[1] for the documentation of FormBeep[2] It's been super easy and I host it free on CF pages: [1]https://hugo-book-demo.netlify.app/docs/example/ [2]https://docs.formbeep.com", "context": "", "use_case": "hosting docs", "switched_from": "", "story": "Ask HN: Best static site generator for a docs site in 2026?"}]}, {"label": "Astro pairing", "summary": "Often combined with Astro, with commenters noting improving integration between the two.", "quotes": [{"id": 746371521, "item_id": 46648220, "url": "https://news.ycombinator.com/item?id=46648220", "by": "jasona123", "date": "2026-01-16", "stance": "recommend", "quote": "Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site", "excerpt": "Only mildly surprising - Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site or do anything else and it does feel like they've been really working on the integration between the two.", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 748622194, "item_id": 46788887, "url": "https://news.ycombinator.com/item?id=46788887", "by": "alexoverdev", "date": "2026-01-27", "stance": "recommend", "quote": "switched to Sveltia CMS + Astro + Cloudflare Pages", "excerpt": "A reflection on why I stopped building my own static site generator and switched to Sveltia CMS + Astro + Cloudflare Pages. The key insight: reducing iteration friction matters more than having complete control. I was spending all my time on tooling instead of actually writing.", "context": "blogger", "use_case": "blog hosting", "switched_from": "", "story": "Sveltia CMS Saved My Blog"}, {"id": 746383281, "item_id": 46648955, "url": "https://news.ycombinator.com/item?id=46648955", "by": "jjmarr", "date": "2026-01-16", "stance": "neutral", "quote": "deploy it to Cloudflare pages", "excerpt": "I use Astro so I could make my blog a static site and deploy it to Cloudflare pages. I was impressed since I got interactive compilation and state tracking of how many exercises the user completed. https://jjmarr.com/blog/structured-bindings-structs/", "context": "", "use_case": "blog hosting", "switched_from": "", "story": "Astro Joining Cloudflare"}]}, {"label": "Cloudflare ecosystem", "summary": "Works alongside D1, R2 and Workers when a project needs a database or API.", "quotes": [{"id": 790296305, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "Cloudflare workers/pages/D1/R2 works great for me on the free plan.", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "hosting sites", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 790330449, "item_id": 49395653, "url": "https://news.ycombinator.com/item?id=49395653", "by": "simondanerd", "date": "2026-08-22", "stance": "recommend", "quote": "Cloudflare or Netlify Pages for static projects", "excerpt": "Cloudflare tunnels for stuff requiring an actual machine. Cloudflare or Netlify Pages for static projects (with D1 as a database when needed).", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 751105249, "item_id": 46944078, "url": "https://news.ycombinator.com/item?id=46944078", "by": "tryanythingonce", "date": "2026-02-09", "stance": "neutral", "quote": "Cloudflare Pages + D1 for the leaderboard", "excerpt": "My daughter drew a word puzzle game on paper \u2014 rules, name, game board, everything. We built it into a real daily puzzle over a weekend. It's a word chain: each word starts with the last letter of the previous one, climbing from 3 to 7 letters in a pizza-slice shape. Certain letters are locked in each day (pepperoni) so every puzzle is different. Scrabble-style scoring with row multipliers. Stack: vanilla JS (no fram", "context": "", "use_case": "hosting", "switched_from": "", "story": "A daily word puzzle my 9-year-old daughter designed"}]}, {"label": "Longevity", "summary": "One commenter notes it has outlived many low-cost alternatives they tried.", "quotes": [{"id": 783484049, "item_id": 48967753, "url": "https://news.ycombinator.com/item?id=48967753", "by": "blfr", "date": "2026-07-19", "stance": "neutral", "quote": "Most massive platforms that I use for free (Google Workspace, Cloudflare Pages, even Oracle Cloud always free tier) have outlived many low cost solutions I tried.", "excerpt": "Not really, not for 1\u00a2/day. Most massive platforms that I use for free (Google Workspace, Cloudflare Pages, even Oracle Cloud always free tier) have outlived many low cost solutions I tried.", "context": "", "use_case": "free static hosting", "switched_from": "", "story": "Hardcore IndieWeb: Run your own website 100% independently for only $0.01/day"}]}], "caveats": [{"label": "Confusing dashboard", "summary": "One user found deploying required too much confusing clicking around the web UI.", "quotes": [{"id": 775341601, "item_id": 48458850, "url": "https://news.ycombinator.com/item?id=48458850", "by": "zaptheimpaler", "date": "2026-06-09", "stance": "warn", "quote": "CF pages still required too much confusing clicking around on a webpage for me.", "excerpt": "I made a little tool where I can just drop HTML into a folder and it will deploy it either to my internal Caddy or publicly on Cloudflare based in folder. Can be a single html or a folder. https://github.com/ankitson/webby CF pages still required too much confusing clicking around on a webpage for me. This way I can just point any little report or app at a directory and done. There\u2019s others that are more server shape", "context": "", "use_case": "deploying static pages", "switched_from": "", "story": "Ask HN: What are tools you have made for yourself since the advent of AI"}]}, {"label": "Outages", "summary": "One user reported all their sites being unreachable while the dashboard may not show it.", "quotes": [{"id": 769233088, "item_id": 48077068, "url": "https://news.ycombinator.com/item?id=48077068", "by": "mariopt", "date": "2026-05-09", "stance": "warn", "quote": "all my sites are unreachable", "excerpt": "You may not see it on the dashboard but all my sites are unreachable. I used a 3rd party website screenshot and it may be working in some countries.", "context": "", "use_case": "site hosting", "switched_from": "", "story": "Cloudflare Pages is down in Spain"}]}, {"label": "Build output exposure", "summary": "Setting the build output to the repo root made every committed file public, and zone purges did not clear the stale copy.", "quotes": [{"id": 799911504, "item_id": 49994469, "url": "https://news.ycombinator.com/item?id=49994469", "by": "tminuslabs", "date": "2026-10-07", "stance": "neutral", "quote": "my Cloudflare Pages build output directory was the repo root, so every committed file was a public URL", "excerpt": "Author here. Short version: my Cloudflare Pages build output directory was the repo root, so every committed file was a public URL, including a 150KB internal handoff doc and dot-directories like .claude/ and .github/. No credentials or customer data, but the doc described an admin query parameter that skipped checkout and an unfixed hole in my own schema. The parts I think are useful beyond my own mistake: - Two \"pu", "context": "author of the post, solo site owner", "use_case": "static site hosting", "switched_from": "", "story": "My static site was serving my internal docs"}]}], "who": [{"by": "tminuslabs", "context": "author of the post, solo site owner", "url": "https://news.ycombinator.com/item?id=49994469", "date": "2026-10-07"}, {"by": "alexoverdev", "context": "blogger", "url": "https://news.ycombinator.com/item?id=46788887", "date": "2026-01-27"}], "tags": ["for static sites", "for blogs", "for documentation sites", "for side projects"], "use_cases": ["static site hosting", "blog hosting", "hosting sites", "static blog hosting", "free static hosting", "static site deployment"], "compared": [{"slug": "astro", "name": "Astro", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "netlify", "name": "Netlify", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "cloudflare-workers", "name": "Cloudflare Workers", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "cloudflare-d1", "name": "Cloudflare D1", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "wordpress", "name": "WordPress", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49393465", "title": "Ask HN: How do you host your vibe coded tools/sites?", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48709796", "title": "Ask HN: Is WordPress the best way to create new websites for beginner", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46646645", "title": "Astro Joining Cloudflare", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49994449", "title": "My static site was serving my internal docs", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48975665", "title": "Exploit brokers pay $500k for WordPress RCEs. I found one with GPT5.6 and $25", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48962758", "title": "Hardcore IndieWeb: Run your own website 100% independently for only $0.01/day", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 3, "neutral": 1}, "2026-02": {"neutral": 1}, "2026-03": {}, "2026-04": {}, "2026-05": {"warn": 1, "neutral": 1}, "2026-06": {"warn": 1, "recommend": 2}, "2026-07": {"neutral": 1, "recommend": 1}, "2026-08": {"recommend": 2}, "2026-09": {}, "2026-10": {"neutral": 1}}, "quotes": [{"id": 799911504, "item_id": 49994469, "url": "https://news.ycombinator.com/item?id=49994469", "by": "tminuslabs", "date": "2026-10-07", "stance": "neutral", "quote": "my Cloudflare Pages build output directory was the repo root, so every committed file was a public URL", "excerpt": "Author here. Short version: my Cloudflare Pages build output directory was the repo root, so every committed file was a public URL, including a 150KB internal handoff doc and dot-directories like .claude/ and .github/. No credentials or customer data, but the doc described an admin query parameter that skipped checkout and an unfixed hole in my own schema. The parts I think are useful beyond my own mistake: - Two \"pu", "context": "author of the post, solo site owner", "use_case": "static site hosting", "switched_from": "", "story": "My static site was serving my internal docs"}, {"id": 790330449, "item_id": 49395653, "url": "https://news.ycombinator.com/item?id=49395653", "by": "simondanerd", "date": "2026-08-22", "stance": "recommend", "quote": "Cloudflare or Netlify Pages for static projects", "excerpt": "Cloudflare tunnels for stuff requiring an actual machine. Cloudflare or Netlify Pages for static projects (with D1 as a database when needed).", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 790296305, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "Cloudflare workers/pages/D1/R2 works great for me on the free plan.", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "hosting sites", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 783674657, "item_id": 48979666, "url": "https://news.ycombinator.com/item?id=48979666", "by": "sofixa", "date": "2026-07-20", "stance": "recommend", "quote": "a static hosting service with a generous free tier like CloudFlare Pages/Workers, Netlify, Firebase Hosting, etc.", "excerpt": "> But with AI you kinda sorta should just build your own blog Please don't. There is absolutely no reason not to use the extremely simple and powerful combination of: * a headless CMS / static website generated, of which there are a bunch so pick the one you like the most. My go-to is Hugo but it is somewhat complex * a static hosting service with a generous free tier like CloudFlare Pages/Workers, Netlify, Firebase ", "context": "", "use_case": "static blog hosting", "switched_from": "", "story": "Exploit brokers pay $500k for WordPress RCEs. I found one with GPT5.6 and $25"}, {"id": 783484049, "item_id": 48967753, "url": "https://news.ycombinator.com/item?id=48967753", "by": "blfr", "date": "2026-07-19", "stance": "neutral", "quote": "Most massive platforms that I use for free (Google Workspace, Cloudflare Pages, even Oracle Cloud always free tier) have outlived many low cost solutions I tried.", "excerpt": "Not really, not for 1\u00a2/day. Most massive platforms that I use for free (Google Workspace, Cloudflare Pages, even Oracle Cloud always free tier) have outlived many low cost solutions I tried.", "context": "", "use_case": "free static hosting", "switched_from": "", "story": "Hardcore IndieWeb: Run your own website 100% independently for only $0.01/day"}, {"id": 779371553, "item_id": 48710722, "url": "https://news.ycombinator.com/item?id=48710722", "by": "preg_match", "date": "2026-06-28", "stance": "recommend", "quote": "Just use cloud flare pages, link it up with GitHub, and boom, you have a static site.", "excerpt": "No. Wordpress requires overly complex administration and deployment. There\u2019s just a lot that goes on with Wordpress, and you\u2019d need a VPS to deploy it just by the nature of Wordpress. If you\u2019re building a static site - meaning, a site which does not have any forms which require backend functions - you should use a static site generator. If you\u2019re not building a static site, I recommend starting with a static site. It", "context": "", "use_case": "static site deployment", "switched_from": "", "story": "Ask HN: Is WordPress the best way to create new websites for beginner"}, {"id": 779370246, "item_id": 48710640, "url": "https://news.ycombinator.com/item?id=48710640", "by": "daemonologist", "date": "2026-06-28", "stance": "recommend", "quote": "if you want to supply all the HTML/CSS yourself: Github Pages or Cloudflare Pages.", "excerpt": "I would definitely not recommend WordPress. If you just want a website for cheap: Bearblog, carrd.co, etc. if you want all the bells and whistles on a platter: Squarespace, Wix, etc. if you want to supply all the HTML/CSS yourself: Github Pages or Cloudflare Pages. (Later, if you want to host the above (except the \"bells and whistles\" tier) yourself: Hetzner, Digital Ocean, etc.)", "context": "", "use_case": "hand-written HTML hosting", "switched_from": "", "story": "Ask HN: Is WordPress the best way to create new websites for beginner"}, {"id": 775341601, "item_id": 48458850, "url": "https://news.ycombinator.com/item?id=48458850", "by": "zaptheimpaler", "date": "2026-06-09", "stance": "warn", "quote": "CF pages still required too much confusing clicking around on a webpage for me.", "excerpt": "I made a little tool where I can just drop HTML into a folder and it will deploy it either to my internal Caddy or publicly on Cloudflare based in folder. Can be a single html or a folder. https://github.com/ankitson/webby CF pages still required too much confusing clicking around on a webpage for me. This way I can just point any little report or app at a directory and done. There\u2019s others that are more server shape", "context": "", "use_case": "deploying static pages", "switched_from": "", "story": "Ask HN: What are tools you have made for yourself since the advent of AI"}, {"id": 769483073, "item_id": 48092692, "url": "https://news.ycombinator.com/item?id=48092692", "by": "rishikeshs", "date": "2026-05-11", "stance": "neutral", "quote": "I host it free on CF pages", "excerpt": "I use Hugo Book[1] for the documentation of FormBeep[2] It's been super easy and I host it free on CF pages: [1]https://hugo-book-demo.netlify.app/docs/example/ [2]https://docs.formbeep.com", "context": "", "use_case": "hosting docs", "switched_from": "", "story": "Ask HN: Best static site generator for a docs site in 2026?"}, {"id": 769233088, "item_id": 48077068, "url": "https://news.ycombinator.com/item?id=48077068", "by": "mariopt", "date": "2026-05-09", "stance": "warn", "quote": "all my sites are unreachable", "excerpt": "You may not see it on the dashboard but all my sites are unreachable. I used a 3rd party website screenshot and it may be working in some countries.", "context": "", "use_case": "site hosting", "switched_from": "", "story": "Cloudflare Pages is down in Spain"}, {"id": 751105249, "item_id": 46944078, "url": "https://news.ycombinator.com/item?id=46944078", "by": "tryanythingonce", "date": "2026-02-09", "stance": "neutral", "quote": "Cloudflare Pages + D1 for the leaderboard", "excerpt": "My daughter drew a word puzzle game on paper \u2014 rules, name, game board, everything. We built it into a real daily puzzle over a weekend. It's a word chain: each word starts with the last letter of the previous one, climbing from 3 to 7 letters in a pizza-slice shape. Certain letters are locked in each day (pepperoni) so every puzzle is different. Scrabble-style scoring with row multipliers. Stack: vanilla JS (no fram", "context": "", "use_case": "hosting", "switched_from": "", "story": "A daily word puzzle my 9-year-old daughter designed"}, {"id": 748622194, "item_id": 46788887, "url": "https://news.ycombinator.com/item?id=46788887", "by": "alexoverdev", "date": "2026-01-27", "stance": "recommend", "quote": "switched to Sveltia CMS + Astro + Cloudflare Pages", "excerpt": "A reflection on why I stopped building my own static site generator and switched to Sveltia CMS + Astro + Cloudflare Pages. The key insight: reducing iteration friction matters more than having complete control. I was spending all my time on tooling instead of actually writing.", "context": "blogger", "use_case": "blog hosting", "switched_from": "", "story": "Sveltia CMS Saved My Blog"}, {"id": 748208048, "item_id": 46763003, "url": "https://news.ycombinator.com/item?id=46763003", "by": "tombert", "date": "2026-01-26", "stance": "recommend", "quote": "I use Cloudflare Pages for my blog, and I really like it", "excerpt": "I use Cloudflare Pages for my blog, and I really like it, but my static blog generator (Quartz) only supports Giscus, which requires signing in with a GitHub account. I was thinking I might be able to hobble together a vibe-coded straightforward thing with Rust-> WASM to make an embeddable comment system, using Cloudflare Workers. I gotta say that Workers are shockingly pleasant to use. I think I might end up using t", "context": "", "use_case": "blog hosting", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}, {"id": 746383281, "item_id": 46648955, "url": "https://news.ycombinator.com/item?id=46648955", "by": "jjmarr", "date": "2026-01-16", "stance": "neutral", "quote": "deploy it to Cloudflare pages", "excerpt": "I use Astro so I could make my blog a static site and deploy it to Cloudflare pages. I was impressed since I got interactive compilation and state tracking of how many exercises the user completed. https://jjmarr.com/blog/structured-bindings-structs/", "context": "", "use_case": "blog hosting", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 746371521, "item_id": 46648220, "url": "https://news.ycombinator.com/item?id=46648220", "by": "jasona123", "date": "2026-01-16", "stance": "recommend", "quote": "Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site", "excerpt": "Only mildly surprising - Astro + CF Pages/Workers have been my go-to for when I want to spin up a static site or do anything else and it does feel like they've been really working on the integration between the two.", "context": "", "use_case": "static site hosting", "switched_from": "", "story": "Astro Joining Cloudflare"}]}