内容站教程 CMS:草稿、审稿与发布
以 AI 小白站为例,说明教程模块如何维护草稿、跑发布前结构检查、写入正式库并刷新 sitemap——读者可复用到自己的图文课运营后台。

你将学到什么
你将学到一套轻量教程 CMS 的最小闭环:运营在账号页写草稿、保存 JSON 块结构、发布前自动检查摘要长度与正文结构、通过后写入 published 并触发教程列表与详情页缓存刷新。学完能判断你的站点是否需要「草稿库 + 正式库」双文件,以及 featured 精选位如何与 slug 对齐。blocks 类型(heading、paragraph、steps、callout、checklist)用来约束排版;本地 JSON 正式库便于 SEO、diff 与回滚,已有 CMS 的团队也可只借鉴双库与发布前审稿思路。 运营培训重点教「块类型」而不是 HTML:标题下接段落、步骤用 steps、提醒用 callout。发布失败时把审稿 issues 原样贴回草稿备注,减少来回猜原因。
适合谁
适合维护 Next.js 内容站、想把教程从 Notion 迁回仓库的开发者或小团队编辑。你已经能改 JSON/MDX,希望发布链路可控、可回滚。
不适合谁
不适合必须 WYSIWYG 富文本、多人实时协同的场景;本方案偏「结构化块 + Git 可 diff」,协同要靠流程而不是在线光标。 若你团队已有成熟流程,可把本课当对照表查漏补缺,不必推翻现有系统。
跟做步骤
- 1定义 TutorialRecord 字段:slug、title、summary、blocks[]、seriesId、cover.src 只允许站内 `/images/tutorials/` 路径,避免运营粘贴本机路径。
- 2草稿写入 `drafts.json`,发布接口合并到 `published.json` 并更新 `featuredIds` 与 `series.lessonIds`,防止首页推荐指向已删 id。
- 3发布前跑 review:正文不少于约 1200 字、至少 4 个 heading、必须有 steps/checklist 与 callout,并扫描疑似 API Key。
- 4发布后刷新教程列表、详情页与站点地图;若用 CDN,确认缓存键包含 slug,避免旧摘要残留。 运营培训重点教「块类型」而不是 HTML:标题下接段落、步骤用 steps、提醒用 callout。发布失败时把审稿 issues 原样贴回草稿备注,减少来回猜原因。
常见踩坑
slug 与 id 不一致导致链接 404:对外路由用 slug,内部 featured 用 id,发布脚本要双写校验。只改 published 不改 drafts,运营会覆盖新内容。外链图片会被审稿拒绝,应使用站内教程图目录。prerequisites 写错 slug 会导致先修课 404,删课时需同步 series.lessonIds。
本课小结
本课带走「双库 + 发布前审稿 + revalidate」三板斧。你可以先用手工 JSON 跑通,再决定是否接 Sanity;关键是让读者在 `/tutorials/[slug]` 永远读到已通过结构检查的版本。 下一课可继续本系列实战,把模板保存为团队默认文档。