GitHub Pages + Cloudflare 免费搭一个生产级博客(2026 实操)
2026-07-19 · DevCraft Studio
不用买服务器,靠 GitHub Pages 存静态站、Cloudflare 管 DNS+CDN+SSL+WAF+Tunnel,零出站费搭出可被搜索引擎收录的个人博客。覆盖建站流程、自定义域名、缓存规则、表单/评论的无服务器替代,以及和"免费 VPS"的取舍。
很多人想要一个个人博客,第一反应是"买台 VPS"。但 2026 年,纯内容站完全可以不花一分钱:GitHub Pages 负责托管静态站,Cloudflare 负责 DNS、CDN、SSL、WAF 和 Tunnel,两者免费额度叠加,出站流量还不收费。这套组合适合 90% 的个人博客、文档站、作品集。下面是从零到上线的完整实操。
为什么是这两家的组合
GitHub Pages 免费、无限带宽(对公开仓库)、原生支持自定义域名和 HTTPS,和 Git 工作流天然一体——你写 Markdown,push 一下就发布。但它只托管静态文件,没有服务端逻辑。Cloudflare 免费栈恰好补上:DNS 解析、全球 CDN 缓存、自动 SSL、WAF 防扫、Zero Trust Tunnel 把内网服务安全暴露。两者叠加 = 一个"无服务器、零出站费、带防护"的内容站。对比 四大免费云横向对比,这套更适合"只发内容、不跑后端"的场景。
第一步:选静态框架并推到 GitHub
新手推荐 Astro、Hugo、VitePress 这类静态生成器,构建产物是纯 HTML/CSS/JS。流程:① 本地初始化项目;② 写文章(Markdown);③ 推到 GitHub 仓库(公开仓库即可免费)。在仓库 Settings → Pages 里把 Source 设为 GitHub Actions 或分支,几分钟就拿到一个 *.github.io 的二级域名。想用自定义域名,在 Pages 里填你的域名,再去 Cloudflare 配解析。
第二步:Cloudflare 接管 DNS 与 SSL
把域名 NS 切到 Cloudflare,它自动帮你申请并续期 Let's Encrypt 证书,开启"完全(严格)"SSL 模式。此时访问走 Cloudflare 边缘节点,国内 / 海外都快,且出站流量不向 GitHub 计费(Cloudflare 与众多厂商的 Bandwidth Alliance 免流)。缓存规则建议:HTML 设较短 TTL(如 1 小时)保证更新可见,静态资源(图片/JS/CSS)设长缓存并开启自动压缩(Brotli)。
第三步:让博客"像真的"——评论、表单、搜索
静态站没有数据库,但这几项都有免费的无服务器替代:评论用基于 GitHub Issues 的方案或第三方静态评论服务;联系表单走 Cloudflare Workers + 邮件 API,或表单转发服务;站内搜索用构建期生成的索引文件(如 Pagefind)在前端跑;访问统计用隐私友好型计数器(不依赖 Google Analytics 也能合规)。这些都在免费额度内,不需要一台 VPS。
第四步(可选):用 Tunnel 把免费 VPS 的服务露出来
如果你在 Oracle 永久免费 上跑了 Docker 服务(比如后台、API),又不想买固定公网 IP,可以用 Cloudflare Tunnel 把它安全暴露到同一个域名下(如 api.yourblog.com)。这样"内容站免费 + 后端跑在免费 VPS"的混合架构就成立了,前端零成本、后端零 IP 费。
避坑要点
- 私有仓库的 Pages 不再完全免费:早年私有仓库 Pages 要付费,现在规则已放宽,但务必确认你用的是当前免费档,避免意外账单。
- Cloudflare 免费也有上限:Workers 10ms CPU/请求、KV 10 万读/天、D1 500 万读/天,超了要升级;但个人博客很难触顶。
- 构建期依赖要锁版本:框架大版本升级可能改配置,建议用锁文件固定,避免某天自动构建失败。
- 自定义域名提前备好:域名本身要花钱(一年几十块),这是这套方案唯一的小成本;想彻底零成本就用
*.github.io子域。
常见问题 FAQ
问:这套能跑动态功能吗(登录、购物车)?答:纯静态不行,但可用 Cloudflare Workers + D1/KV 做轻量后端,或把动态部分挂到免费 VPS。问:会被搜索引擎收录吗?答:能,提交 sitemap 到各站长平台即可,静态站收录通常比动态站更干净。问:和直接买廉价 VPS 建站比呢?答:见下面。
免费静态栈 vs 免费/廉价 VPS 建站
一句话:内容为主、不想运维 → GitHub Pages + Cloudflare;要跑后端、装面板、做实验 → 免费 VPS 或廉价年付 VPS。静态栈的优势是"写完就忘",没有服务器要养、没有安全补丁要打;劣势是复杂交互要绕。当你的站开始需要 MySQL、定时任务、WebSocket 这类有状态能力,就该上 CloudCone 年付 $10 出头的 KVM,或用 Oracle 永久免费 ARM 当后端。更多组合思路看 纯静态免费栈专题 和 免费层合集。
延伸:把博客变成"可被发现 + 可维护"的免费资产
GitHub Pages + Cloudflare 不只是省钱,它的架构本身对 SEO 和长期运营友好:静态页加载快、天生抗量、不被动态查询拖慢,搜索引擎更喜欢。想让博客真正被搜到,除了内容,还要做三件免费的事:① 构建期生成 sitemap.xml 并提交到各站长平台;② 开启 Cloudflare 的自动压缩(Brotli)和智能缓存让首屏更快;③ 在内文里用内部链接把相关文章织成网(正如本站这样做),既帮读者也帮爬虫。当流量起来,你可以在文末接隐私友好的广告或联盟内容(注意合规),把"零成本博客"变成轻量收入。但提醒:免费静态栈不擅长"会员登录 / 付费墙 / 购物车"这类强状态功能,要做这些,后端请挂到 Oracle 免费 ARM 或 CloudCone 年付小机,前端仍走免费栈,成本和复杂度都最低。
最后给一个新手最容易忽略的点:域名是这套方案唯一的小成本。想彻底零现金就用 *.github.io 子域,但自带子域对品牌感较弱;花一年几十块买个自己的域名,配合 Cloudflare 免费 DNS,体验立刻专业很多。这个钱不建议省——它是你"免费博客"里最值得的一笔投资。另外,仓库公开是 Pages 免费的前提,若介意源码公开,可把敏感配置放进构建期注入的环境变量,而不是写死在仓库里。
顺带一提,很多人担心"GitHub 会删我仓库"。公开仓库的 Pages 是稳定的,只要你不用它做明显违规(如分发盗版、挂高危脚本),几乎不会被删。真担心,本地再留一份 git 镜像即可——免费静态栈的容错,本就来自"源码在哪都不怕"。另外,构建用 GitHub Actions 时,别把密钥硬编码进仓库,用仓库的 Secrets / 环境变量注入,公开仓库也能安全接邮件 API 和对象存储。
#GitHubPages #Cloudflare #免费博客 #静态站 #零出站费 #无服务器 #个人博客 #CDN