我用了 5 年 Notion 写博客,3 年 WordPress 做客户案例,1 年 Ghost 做 newsletter。每一次都后悔。
CMS 的”快”是新项目的糖
CMS 看起来快:注册账号,选模板,拖拽区块,上线。但前两个月不显形的成本:
- 内容锁在平台数据库里 → 导出只能拉 Markdown / HTML,样式全丢
- 平台抽成 / 月费 → 写一篇 1000 字博客,平台抽 5%
- 改样式要付月费 → 想加个暗色模式?升级到 Pro $20/月
- SEO 受限于平台 → 标题、meta、结构,你写完了平台不一定听
- 平台政策变了 → 突然不允许某类内容,前功尽弃
Framer / Webflow 解决了”写”的部分,但没解决”的东西”的问题。
真正想要的
- 内容是 纯文本 + Markdown,git 可追踪
- 域名是我的,平台换了内容还在
- 样式我自己写,想加任何东西 5 分钟搞定
- 性能自己优化,SEO 自己控制
- 部署 5 分钟,迁移 30 分钟
听起来工程量大?实际上是个 1 周的项目,之后 5 年都不需要碰基础架构。
我用什么
- Astro 5 — 默认静态,需要时切 SSR。文件即路由,组件即布局。
- MDX — Markdown + 组件。我写正文时偶尔 import 一个小组件,搞个 chart / callout / embed。
- TypeScript — 内容 schema 用 Zod 校验,改字段名 build 时报错。
- Cloudflare Pages — 静态 + Functions 一起,免费层够用。
- Git — 全部内容都在 git 里。改名一句话 commit,误删能恢复。
真的不累吗
写一篇博客,我需要:
- 打开 VS Code
- 编辑
src/content/articles/zh/<slug>.mdx - 写完
git add && commit && push - 30 秒后 Cloudflare 自动部署
跟 CMS 比:多了一步(commit),但少了一堆头疼事:导出格式、自定义 CSS、平台弹窗、付费解锁功能。
什么场景不该用这个
- 不懂 git — 每次写文章要 commit + push,这个门槛对非开发者太高
- 3+ 协作者 — git merge conflict 在多人编辑时很烦
- 频繁更新 design — 改样式要碰 CSS,设计师改不了
如果只你一个人写,git 是优点(版本可追溯)。如果团队多人,git 是负担,Notion / Sanity 这类 headless CMS 更合适。
收尾
CMS 是给不会写代码的人用的工具。我会写代码,而且我不想以后某个平台改政策了我被卡住。
用 MDX + git + Cloudflare,3 年后这个站点还能跑,内容还能导出,平台换了也不影响。
如果你也写代码,试试 Astro / Next.js + MDX + MDX content collections。15 分钟跑起来。
更新(2026-09-03)
上线 6 周后回头看:Astro + MDX + Cloudflare Pages 这套组合没让我碰过一次”基础架构”。期间加了 11 个 web 工具页面 + 5 个内容集合(products / services / testimonials / articles / now)+ 完整 auth + 双通道支付,全是 feature 代码,零迁移零重构。Astro 5 的 scoped CSS 在这次升级里还救了我——以前工具页 document.head.appendChild 注入 CSS 会把整个站的 body 撑爆,scoped 后只影响工具内。
— 老蔚