先给结论:如果草稿只是进入了发布流程但未生成可访问URL,影响范围通常限于发布记录和内部链接,不必按线上事故处理;如果草稿已生成可访问URL、被站内入口引用或被提交抓取,就要按“已公开页面”圈定范围。判断依据不是谁在群里说“应该没发出去”,而是发布记录、URL状态和引用位置这三类可核对证据。
多人协作时,对“草稿发出去了”的理解经常不一致。运营看到的是发布队列里有一条草稿,开发看到的是构建产物里没有这个文件,编辑看到的是后台列表多了一条待审。这三种描述指向的状态完全不同,圈定范围的第一步是把它们分开。
只有第三种情况才需要按完整页面事故处理。把三种状态混为一谈,容易出现两种误判:把队列占位当成线上事故,浪费回滚窗口;或者把已带入口的页面当成“没人看得到”,错过清理时机。
当各方说法不一致时,把分歧转成可核对的项目比继续讨论更有效。下面三类证据按获取成本从低到高排列,够用就停,不必一次全查。
查发布记录、构建日志和版本对比,确认草稿对应的文件是否进入了本次构建产物。这一步回答的是“系统层面它存不存在”,与页面是否可访问是两件事。如果构建产物里没有该文件,后面两类证据基本可以跳过。
直接请求草稿可能对应的URL,记录返回状态;再查站点地图、站内搜索和列表页是否出现该条目。这一步回答的是“外部能不能到达”。注意,返回成功只说明URL存在,不代表它已经被抓取或被用户访问过。
在站内搜索草稿标题或特征词,看哪些页面引用了它。引用位置决定了影响是否会继续扩散:只被站点地图引用,清理站点地图即可;被导航或高流量列表页引用,就需要同步处理这些入口。
一个假设例子:某次发布后,编辑说草稿“发出去了”,开发说“构建里没有”。查构建日志确认文件未进入产物,再请求URL返回失败,站内搜索无结果。三个证据一致,结论是仅队列占位,处理动作是移除排期占位并核对同栏目是否重复,不需要回滚整次发布。反过来,如果URL可访问且列表页已引用,处理动作就要先摘入口、再处理URL,顺序反了会让引用页短暂指向失效地址。
上面按“构建产物—URL状态—引用位置”圈范围的结论,在一个条件下会失效:草稿内容与某个已发布页面高度重复,且两者共用同一套模板和元信息。这时即使草稿本身没有生成URL,它进入构建流程也可能覆盖或干扰已发布页面的输出。判断方法是比对本次构建前后已发布页面的输出差异,而不是只看草稿文件是否存在。
另一个容易忽略的情况是草稿被外部渠道提前取用,比如被同步到其他系统或推送到订阅端。这类扩散不在站内证据范围内,需要通过发布记录里的下游任务列表确认。如果下游任务存在且已执行,圈定范围就要把外部副本一并算入。
圈定范围后,建议先做一个可逆动作:把草稿对应的入口从列表页和站点地图中移除,观察下一次抓取和访问记录中该URL是否仍有请求。如果请求消失,说明此前的影响主要来自站内引用,后续只需按常规清理;如果请求仍在,说明存在未发现的引用来源或外部副本,需要回到引用侧证据继续排查。
这个动作的结果直接决定是否升级处理:请求消失,按普通清理收尾;请求持续,按已公开页面处理,并检查是否有其他草稿在同一批次进入构建。不要用单次请求量归零来证明处理正确,抓取和访问数据本身受采集周期、缓存和外部链接影响,归零也可能只是采集窗口没覆盖到。
最后,把本次核对用到的证据和判断条件记进发布检查项,下次出现同类分歧时可以直接对照,而不是重新讨论一遍“到底发没发出去”。