点击发布之前,发布工作已经开始
文章不只有正文。标题、URL、摘要、语言、日期、链接、图片、另一语言版本和缓存状态,共同决定读者与机器如何理解它。发布检查清单的作用,是把这些隐形表面变成明确的编辑工作。
内容检查
- 开头明确提出文章真正的问题或承诺。
- 每个标题都能描述它下面的内容。
- 重要概念使用一致名称。
- 论述有依据,同时没有假装不确定性已经消失。
- 代码示例不依赖未说明的前置条件。
- 结尾给出结论或下一步行动。
- 内部备注和占位文字已经删除。 完整阅读一次正文,但暂时不要编辑。如果读完后无法用一两句话复述核心论点,结构可能仍然服务于作者的写作过程,而不是服务于读者。
Metadata 检查
| 字段 | 检查 | 要阻止的失败 |
|---|---|---|
| Slug | 稳定、小写,并在翻译间一致 | canonical 路径断裂 |
| Summary | 离开文章页后依然有意义 | 空列表与薄弱 metadata |
| Language | 与实际正文语言一致 | locale 路由错误 |
| Origin Language | 与作者原稿一致 | 写作视图混乱 |
| Published At | 日期是有意设置的 | 意外排序 |
| Status | 完整检查后才更改 | 半成品公开页面 |
呈现检查
- 链接文字本身具有意义,目标能够访问。
- 图片包含有用的替代文本。
- 表格在窄屏上仍然可以理解。
- 标题层级符合逻辑。
- 明暗主题都经过检查。
- 页面可以使用键盘导航。
- 代码块可以横向滚动,不会撑宽 viewport。
- details 和 callout 在两种主题下都可阅读。 W3C 的 Web Accessibility Initiative 提供了更完整的资料;这里的清单只是最小发布门槛。
发布之前
- 预览两种 viewport
- 检查服务器输出的 HTML
- 验证另一版本 relation
- 确认页面仍然是 Draft
发布之后
- 请求公开 URL
- 检查标题与 canonical metadata
- 重复请求并确认缓存状态
- 验证 feed 和 sitemap 收录
翻译检查
- 确认另一语言页面使用完全相同的 Slug。
- 把标题和摘要当作独立文本重新审阅。
- 检查代码、专有名词、日期和链接是否带有 locale 假设。
- 建立双向 Other Version relation。
- 验证未发布翻译确实返回 404。
- 每种语言只在自己的正文准备好以后发布。
回滚方案
如果已发布文章包含损坏或不支持的内容,应把对应 locale 页面恢复为 Draft,而不是用另一种语言顶替。保留页面和 relation,完成修正与复核后再发布,同时记录是否还需要清理缓存。
好的检查清单会让发布变得更平静。它不保证永远完美,但会让下一次失败更容易定位和修正。