先给结论:当错误页面返回 200 而内容其实是“已下线”或“已迁移”时,不能只看状态码判断处理是否完成。正确做法是分别核对三件事——HTTP 状态、页面正文是否仍含有效内容、以及 robots.txt 是否仍在放行或屏蔽该路径;三者不一致时,以“该 URL 是否仍应被访问”为决策起点,而不是以某次抓取结果为准。
这种矛盾通常有两种解释。第一种是技术层面的:旧系统或旧合作关系遗留的跳转、软 404 或模板兜底,让不存在的地址仍返回 200,正文只是通用提示或空壳。第二种是策略层面的:站点有意保留该地址,用 200 承载仍然有价值的内容,只是标题或文案仍写着“已下线”,造成读者与抓取程序看到的状态和文字不一致。
区分这两者,不能靠“抓取量归零”或“请求量下降”单独下结论。请求减少还可能来自入口链接被移除、站点地图未更新、内部导航改版,或该路径本来访问就少。这些现象只能作为线索,不能作为处理正确的证明。
要判断是技术兜底还是有意保留,可以按下面顺序取证:
这三步能给出一个明确分界:正文无独立价值且无有效引用,属于应退出但状态码写错;正文仍有价值或被有效引用,属于应保留但文案需要修正。
假设某旧活动页在合作结束后仍返回 200,正文只剩“活动已结束”五个字,且没有其他页面链接它。此时若只在 robots.txt 中加一条 Disallow,抓取会被限制,但该 URL 已有的索引状态不会因此自动清除,用户通过外部链接仍可能进入这个空壳页。更稳的动作是:先确认该页无保留价值,再把返回状态改为 404 或 410,或 301 到最相关的替代页;改完后重新请求该 URL,确认状态码与正文含义一致,再决定是否保留 robots.txt 中的限制。这个动作的结果直接影响下一步——如果状态码已正确,robots.txt 的屏蔽就不再是主要手段;如果状态码仍为 200,则说明问题在应用层,继续改 robots.txt 不会解决内容与状态不一致。
如果决定保留该地址,核对顺序要反过来:先确认正文确实提供了可独立访问的信息,再确认标题、描述和页面内提示不再写“已下线”“已停止”等与 200 冲突的表述,最后检查 robots.txt 是否误屏蔽了该路径。若 robots.txt 屏蔽了仍想保留的页面,抓取限制会妨碍后续核对,应先解除对该路径的限制,再验证返回内容。站点地图可以作为发现入口,但它不保证收录,也不应作为判断页面是否有效的唯一依据。
需要提醒的是,HTTPS 只说明传输层加密,不保证页面内容正确、无漏洞或获得更好排名。状态码、正文和 robots.txt 三者的一致性,才是这一步要核对的对象。
完成上述任一步后,都应以“该 URL 是否仍应被访问”为判断标准,重新请求一次并记录状态码、正文首段和 robots.txt 规则,三者一致才算这一步收口。