先承认一个反直觉结论:混入草稿后,影响范围通常不等于“草稿页面本身”。更常见的情况是草稿被发布系统当作正常内容,连带改变了栏目列表、站内推荐位、相关链接和抓取入口。要圈定范围,先别急着删草稿,而是把“草稿被哪些页面引用”和“哪些入口因此发生变化”分开查。
一次发布混入草稿,通常有两种成立条件。
解释一:草稿只生成了一个可访问页面。如果发布流程只是把草稿状态改成公开,但没有把它挂到任何列表、导航或推荐位,那么影响范围主要集中在草稿页本身。此时删除或下线该页面,通常就能控制住。
解释二:草稿进入了内容源。如果发布系统按“已发布内容”统一取数,草稿就可能被栏目列表、首页推荐、相关阅读、站内搜索和站点地图同时读取。此时草稿页只是表象,真正扩散的是那些引用它的页面。只处理草稿页,列表和推荐位仍可能保留旧引用。
这两个解释对应的处理动作不同。前者是单页下线,后者要先切断引用关系,再处理页面状态。
不要只看草稿页能否打开。能打开不能单独证明它已进入内容源,因为缓存、预览链接或权限配置也可能造成同样现象。
假设一个场景:某次发布后,草稿页可访问,栏目列表也新增了该草稿标题,但站内搜索没有结果。此时更可能是列表取数把草稿算作已发布,而搜索索引尚未更新。动作是先下线草稿并刷新列表缓存,再观察列表是否恢复;如果列表恢复而搜索仍无结果,说明搜索侧只是滞后,不必按同一问题继续扩大处理。
先做“引用面扫描”,而不是先删草稿。具体动作是:用草稿标题、草稿ID和草稿URL片段,在站内搜索、栏目列表、推荐位、相关阅读、站点地图和发布后台的引用记录中各查一遍,把出现位置记下来。
结果会直接决定下一步:
这个顺序的意义在于:先切断扩散路径,再处理源头。反过来做,容易在删除草稿后仍看到列表或推荐位残留,从而误判问题没有解决。
处理完成后,如果要比较改动前后的抓取量、索引量或点击变化,需要把搜索需求变化、季节波动和数据采集延迟一起考虑。一次改动前后比较要考虑季节、搜索需求变化和数据采集差异,不能把抓取量下降直接归因于草稿处理正确。
更稳妥的做法是:固定同一组URL和同一时间窗口,分别看处理前和处理后的引用位置变化,而不是只看总量。比如,处理前栏目列表出现草稿标题,处理后该位置消失,这比“抓取量少了多少”更能说明引用关系已被切断。
如果处理动作已经完成,但列表仍显示草稿,先检查缓存和取数规则,而不是继续扩大删除范围。很多残留来自列表缓存未刷新,或发布系统仍把草稿ID放在待取数集合里。
最后用一张清单收口,避免只凭印象判断:草稿页本身、栏目列表、首页推荐、相关阅读、站内搜索、站点地图、发布后台引用记录、缓存层。每一项只记两个状态:处理前是否出现草稿引用,处理后是否仍出现。
如果某一项处理后仍出现,先回到该项的取数来源,而不是重新扫描全站。只有当多个入口同时残留,且都指向同一草稿ID时,才需要按内容源污染处理,重新生成列表和站点地图,并核对发布任务取数条件。这样圈出的范围才是可复核的,也能避免把一次草稿混入扩大成整站回滚。