当时是什么情况
公开站有 75 个预渲染页面,首屏表格由真实数据生成。某次上游数据延迟,构建脚本照常跑完、照常发布:首页表格只剩表头,报告列表变成 "暂无内容"。页面完全正常,只是没有数。三天后才有客户问「你们是不是停更了」。
我们怎么判断,怎么改
- 01把「必须出现的正文关键词」钉进构建校验
每个页面登记一组只有真实数据才会产生的字串(例如「怎么算:」「⚠ 注意:」「最大痛点」)。构建时逐页检查,缺一个就失败。
- 02失败就红,不降级
取不到数据时不生成页面、不发布旧快照、不回退到"上次的内容"。旧快照看起来正常,恰恰是最危险的一种——它会被当成"数据没更新"而不是"发布失败"。
- 03把入口与备案号也钉住
「扫码关注我们」「浙ICP备15045287号-11」这类字串一旦被改版顺手删掉,属于对外信息错误,肉眼很难发现。它们同样进构建校验。
- 04发布脚本自带关键文件清单
部署不是 `unzip` 完就算:脚本逐个确认 index、sitemap、robots、微信/百度校验文件、二维码图在位,任一缺失即报错。
放弃了什么
- 放弃「随时都能发布」:数据没到齐的早上,发布会被挡住,需要等或明确跳过某些页面。
- 构建变慢:75 页逐页断言 + 取数,每次构建多几十秒。
- 维护成本:新增页面必须同时登记校验字串,否则这道门禁对它无效(这也是我们把它写进模板注释的原因)。
你可以自己核对
这篇里的判断都能被验证 —— 不是"效果很好"这种话,而是能点开的页面与能跑的命令。
一句话 静态站的最大风险不是打不开,而是"看起来打开了"。
