恢复原页面只解决了“用户现在能看到什么”,没有解决“抓取端还记得什么”。临时维护期间留下的响应码、缓存副本、站内链接和提交记录,可能继续把旧状态传给爬虫。核对残留信号的目标不是追求全部归零,而是把每个信号的来源、时效和适用范围分开,再决定哪些需要主动处理、哪些只需观察。
临时维护常见的做法是让整站或部分路径返回 503,并附带 Retry-After;也有站点直接返回 200 加一段维护文案。恢复后,残留信号按来源分成三类更便于核对:
这三类的处理成本差别很大。响应类通常改配置即可生效;引用类要改动模板或数据;提交类只能重新提交并等待抓取端更新自己的记录。把三者混在一起看,容易出现“页面已经正常,为什么抓取结果还是旧的”这类分歧。
选一条维护期间受影响、且你确定要保留的 URL,按顺序做四步,每步记录结果而不是只记结论:
Location(如有)、Cache-Control 和 Retry-After 是否仍存在。如果第 1 步正常、第 2 步异常,问题在缓存层,下一步是清理或等待缓存过期,而不是改页面。如果前两步都正常、第 4 步仍显示维护状态,说明抓取端记录尚未更新,下一步是重新提交该 URL 并观察下一次抓取结果,而不是反复修改页面内容。
维护页往往被设置了较长的缓存时间,恢复后源站已经返回 200,边缘节点仍在提供维护页。核对时要区分“缓存的是响应”还是“缓存的是重定向”:前者表现为同一个 URL 返回旧正文,后者表现为 URL 先跳到维护地址再跳回来。两种情况的处理动作不同,前者清理对应缓存键,后者要检查重定向规则是否还保留着维护期的临时规则。
另一个常见残留是维护期间加的重定向没有撤干净。假设维护时把 /a 临时指向 /maintenance,恢复后只改回了源站内容,却没有删除这条规则,那么抓取端每次访问 /a 仍会先经过一次跳转。此时页面内容是对的,但链接权重和抓取预算的分配路径已经改变。核对方法是直接请求原地址并观察是否发生跳转,而不是只看最终落地页是否正常。
多个角色对同一事实理解不同,通常是因为各自看到的信号不同:运维看到源站正常,SEO 看到抓取结果还是维护页,编辑看到浏览器里内容已经恢复。把分歧落到同一张表上,每行写清 URL、信号类型、观测时间、观测方式和当前值,就能把争论变成待核对项。
需要提醒的是,robots.txt 里的抓取限制不等于可靠的索引移除,它只约束合规爬虫的抓取行为,不保证已有索引立即消失;站点地图提交也不保证收录,它只是提供发现线索。因此维护期如果用过这两类手段,恢复后要单独核对它们是否已经撤回,而不能假设“提交过就会自动更新”。
判断依据是信号是否会影响后续抓取路径。影响路径的,比如仍存在的重定向、仍返回 503 的路径、仍指向维护页的站内链接,应当主动处理并复测。只影响历史记录的,比如抓取端缓存的上一次抓取时间,可以观察下一次抓取后再判断,不必立即改动页面。
假设维护期间有 20 条 URL 返回 503,恢复后其中 18 条正常、2 条仍返回 503,那么处理重点应放在这 2 条上,而不是重新提交全部 20 条。请求量或抓取量在恢复后短期下降,可能来自抓取端自身的调度节奏、缓存未过期或抓取配额分配,不能单独作为“处理正确”或“处理错误”的证据。核对完响应、引用、提交三类信号后,下一步动作应指向仍然异常的那一类,而不是对全部 URL 重复同一套操作。