恢复后最该先核对的不是首页是否返回200,而是那些仍指向维护状态的残留信号:被缓存的重定向、还挂在站内的临时链接、以及抓取工具记忆里的旧响应。若只确认页面能打开就收工,死链查询会把维护期间产生的临时地址继续当成有效入口,后续清理就会漏掉一批。
面对维护页恢复,常见有两种取舍。第一种是立即全量重抓,把维护期间的所有URL重新过一遍;第二种是先只核对返回维护页的那批地址,等信号稳定后再扩大范围。两者都合理,区别在于你更怕漏掉残留,还是更怕浪费抓取预算。
如果维护期间用了统一跳转,比如所有请求都临时指向一个维护地址,那么全量重抓会把大量正常页面也重新拉一遍,短期抓取压力明显上升。反过来,只核对维护地址,可能漏掉那些在维护窗口内被外部引用、但恢复后没有回到原路径的临时链接。
选择条件可以这样定:维护期间只改了服务器响应、没有改动站内链接结构时,优先核对返回维护页的那批URL;如果维护期间还动过跳转规则或临时入口,则需要对跳转源和目标同时核对,再决定是否扩大重抓范围。
恢复后仍被判定为维护状态的信号,一般不是页面本身,而是三类记录:
这三类信号的清理动作不同。缓存要按缓存键刷新,站内引用要改内容,抓取记忆只能等下一次抓取或主动提交。把它们混在一起处理,往往会出现“明明恢复了,查询结果还是维护页”的错觉。
要判断残留属于哪一类,可以做一次带假设的对照。假设维护页地址是 /maintenance,原文章地址是 /a/1。恢复后分别用三种方式访问:直接访问源站IP、通过正常域名访问、从站内搜索进入。
/maintenance:属于站内引用残留,动作是修改链接并重新生成站点地图。这个对照的价值在于,它把“恢复”拆成了可分别验证的三层。每确认一层正常,就能把下一步动作收窄,避免在已经正常的层上反复操作。
维护期间常见的返回码有503、302和200。恢复后需要核对的是这些返回码是否成组消失,而不是只看某一个URL。比如某个目录下所有页面在维护期返回503,恢复后应全部回到200;如果只有部分恢复,说明规则可能按路径或按缓存键残留。
另一个容易忽略的点是robots.txt的抓取限制不等于可靠的索引移除。维护期间若用robots.txt屏蔽抓取,恢复后即使删掉规则,已抓取的维护页仍可能留在索引里一段时间。这时死链查询看到的“维护页”未必是当前响应,而是旧索引记录。核对时应把当前响应和索引记录分开看。
同样,站点地图不保证收录。恢复后重新提交站点地图,只能帮助发现,不能保证维护页立即被替换。若把收录问题当成死链问题处理,就会在错误的方向上反复修改链接。
建议按这个顺序核对:先确认源站返回码,再确认缓存层,再检查站内引用,最后看抓取记忆。每完成一步,记录该步的正常URL数量和异常URL数量,用于决定是否进入下一步。
如果前三步都正常、只有抓取记忆仍显示维护页,那么下一步不是继续改页面,而是给这些URL留出重新抓取的时间,并在此期间观察异常数量是否下降。若异常数量不降反升,再回头检查是否有新的临时引用被写入。这个判断依赖的是趋势,而不是某一次查询的绝对值,因为单次查询归零也可能只是抓取尚未覆盖到,不能单独证明处理正确。
恢复后的核对目标不是让死链查询立刻变干净,而是让每一类残留信号都有对应的证据和动作,这样下一次维护窗口再出现时,你能更快定位是哪一层没有复位。