首页 / 博客

Astro + Cloudflare Pages 免费建站实测:零成本博客从 0 到上线

Astro · Cloudflare · 建站 · 免费额度

你正在看的这个网站(好站雷达),就是用 Astro + Cloudflare Pages 搭建的:零框架 JS、纯静态输出、托管不花一分钱。这篇文章记录完整的搭建路径与真实踩坑,照着做,一个下午就能上线一个同款站。

为什么选这套组合

先说结论式选型:

需求方案理由
内容为主、SEO 优先Astro(纯静态)页面零 JS 水合,爬虫拿到完整 HTML,性能指标天花板
免费托管、不限流量Cloudflare Pages四大免费托管里唯一不限带宽,详见下一篇横评
配图存储Cloudflare R2出口流量免费,S3 兼容 API
收录加速IndexNow部署后主动推送 URL,Bing 秒级响应

关键决策点只有一个:不要把「博客」做成动态应用。内容站用纯静态生成,速度、安全、成本三个维度同时最优——这是 2026 年做 SEO 站最没有争议的技术选择。

第一步:创建 Astro 项目

npm create astro@latest my-blog
cd my-blog
npm install @astrojs/sitemap

astro.config.mjs 里把 site 设为最终域名——这一行是全站 canonical、sitemap、OG 卡片的域名来源,绑定域名后改这里即可:

import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';

export default defineConfig({
  site: 'https://your-domain.com',
  trailingSlash: 'never',
  integrations: [sitemap()],
});

第二步:内容与页面结构

用 Astro 的 Content Collections 管理文章,frontmatter 用 schema 校验,写错字段构建直接报错——这比自由 YAML 靠谱得多:

src/
├── content.config.ts   # 集合定义与 zod schema
├── content/posts/      # 一篇文章一个 .md
├── layouts/            # 全局 <head>:TDK/canonical/OG/JSON-LD
├── components/         # 卡片、FAQ 等组件
└── pages/              # 路由:/、/blog/[slug]、/about…

每个页面必须在布局里输出这几样,缺一项都会漏掉一类 SEO 收益:

  • 唯一的 <title>(60 字符内,关键词前置)与 meta description
  • <link rel="canonical"> 绝对地址——带不带尾斜杠要全站统一
  • Open Graph 与 Twitter 卡片(分享到社交平台有图有摘要)
  • JSON-LD 结构化数据(文章用 BlogPosting,FAQ 用 FAQPage

第三步:部署到 Cloudflare Pages

用 wrangler CLI 直传,不需要绑定 GitHub 仓库:

npm install -D wrangler
npx wrangler pages deploy dist --project-name=my-blog

首次部署前先创建项目(或在 Dashboard 手动建):

npx wrangler pages project create my-blog --production-branch main

上线后你会得到 my-blog.pages.dev 域名,自定义域名在 Dashboard 里绑定即可,SSL 自动签发。

实测中遇到的坑

  • _redirects 文件必须放在构建产物根目录:放在 public/ 下会被 Astro 原样拷贝到 dist/,规则格式是一行一条 /源路径 目标URL 302
  • 构建次数比想象中费:本地 astro build 不计数,但每次 wrangler 上传若带 CI 触发就算一次。免费层 500 次/月,养成「本地验证过再部署」的习惯。
  • Node 版本:Astro 5 需要 Node 18+,CI 环境记得固定版本,否则构建结果不可复现。

第四步:配 R2 图床

文章配图不建议打进构建产物——每次改图都要重新部署整站。更顺的做法是 R2 桶 + 公开读:

  1. 控制台创建 R2 桶(如 blog-assets),开启 r2.dev 公共访问或绑定自定义域;
  2. 用 S3 兼容 API 上传(Access Key 在 R2 概览页生成);
  3. 文章里直接引用公开 URL。

R2 最大的优势是出口流量免费——这是它和 S3 拉开差距的地方,图床场景正中要害。存储费用每月前 10GB 有免费额度,个人博客的配图量基本免费。

第五步:让搜索引擎尽快发现你

上线只是开始,收录才是流量的起点:

  1. robots.txt + sitemap:sitemap 集成自动生成 sitemap-index.xml,robots.txt 里声明它;
  2. IndexNow 主动推送:根目录放密钥文件,部署后把 URL 列表 POST 到 api.indexnow.org,Bing 与 Yandex 分钟级响应;
  3. Google Search Console:验证域名、提交 sitemap,此后收录与排名数据尽收眼底。

新站有 3~6 个月的沙盒期(Google 内部称 BabySites),期间排名数据难看是正常的——持续产出高质量内容熬过去,这才是 SEO 的第一性原理:内容满足搜索意图,工程不拖后腿

成本账单

这套架构的月账单是 0 元:Pages 静态流量不限量,R2 存储在免费额度内,DNS 免费,构建次数富余。要花钱的时刻只有一个——流量大到需要自定义 CDN 策略的那天,而那时候你已经不需要这篇文章了。

下一步,推荐读我的免费静态托管横评,看看为什么这套组合在 2026 年依然是最优解。

常见问题

Astro 建的博客对 SEO 有什么好处?

Astro 默认输出纯静态 HTML,页面加载后几乎不需要执行 JavaScript。这意味着谷歌与百度爬虫抓到的就是完整正文,Core Web Vitals 指标天然占优——LCP、CLS 基本全绿,这是动态框架站要费很大力气才能追上的起点。

Cloudflare Pages 免费层真的够个人博客用吗?

够,而且余量很大:静态请求不限量、不限带宽,每月 500 次构建。一个日更博客加上 CI 重试,一个月也很难用掉 100 次构建。真正的隐性上限是单站 2 万个文件与 25MB 单文件,对以文字为主的博客几乎无感。

国内访问 Cloudflare Pages 速度如何?

Cloudflare 在中国大陆没有付费中国网络的情况下,多数地区直连延迟在 200ms 级、可用性良好,但不同运营商与地区波动存在。如果目标读者主要在国内且流量大了,建议绑定自定义域名并实测自己所在线路,或叠加国内可达的 CDN。

图片放哪里?Cloudflare Pages 能存图吗?

Pages 本身适合放构建产物(连同资源一起部署),但频繁更新的配图更适合放 Cloudflare R2 对象存储:出口流量免费,公开读走 r2.dev 域名或绑定自定义域,文章里直接引用其 URL 即可。

本文提到的平台

以下是本文实测中使用的平台,点击卡片查看完整优缺点评测:

Cloudflare DNS

免费 DNS 解析不限查询,配 R2 图床更顺

9.0 雷达分

域名接入 Cloudflare 即获得企业级 DNS:不限查询次数、全球任播、DDoS 防护与免费 SSL 证书,DNSSEC 一键开启。同一个账户还能顺手用 R2 对象存储(零出口流量费)当图床、Workers 跑函数——域名注册商只要支持改 NS 记录就能接入。把 DNS 层交给它,是个人站性价比最高的一步。

域名与 DNS 访问官网 ↗

Cloudflare Workers

免费层每天 10 万请求的边缘函数

9.0 雷达分

代码跑在离用户最近的边缘节点,冷启动以毫秒计。免费层每天 10 万请求、单次 10ms CPU,写个 API 代理、短链服务、请求改写绰绰有余。用熟悉的 JS/TS 开发,wrangler 本地模拟环境与真实运行时一致性很高。对个人项目来说,这是把「服务端」成本降到零的最短路径。

云函数与计算 访问官网 ↗

Cloudflare Pages

四大免费静态托管中唯一不限带宽的选择

9.5 雷达分

本站正在使用的托管平台。静态资源全球 CDN 分发且流量不计费,免费层每月 500 次构建、单站 2 万个文件,配合 Pages Functions 还能写服务端逻辑。实测部署速度与全球访问延迟都属第一梯队,是把「免费」做得最彻底的静态托管。

静态托管与建站 访问官网 ↗

GitHub

代码托管事实标准,免费层远比想象慷慨

9.0 雷达分

个人开发者的地基:无限公开仓库、私有仓库也免费,Issues/Projects/Actions 一条龙。Actions 对公开仓库完全免费不限时长,私有仓库每月也有免费分钟数;README 放工具演示链接还是高质量外链来源。对运营独立项目的人来说,一个活跃的 GitHub 主页本身就是技术可信度(E-E-A-T)的一部分。

开发工具 访问官网 ↗