先把结论说清楚:当错误页面返回 200 时,服务器其实在告诉抓取工具“这是一篇正常内容”。核对一致性最直接的动作,是从内链和外链两个方向各抽几条链接,用同一请求分别看状态码和正文里是否出现错误提示、模板占位或空内容。只要状态码与页面实际含义不一致,就应把它当作待修项目,而不是等抓取工具自行判断。
误返回成功响应通常有两种表现。第一种是状态码为 200,但正文写着“页面不存在”“内容已下架”或只剩导航和页脚。第二种是状态码为 200,正文看起来正常,但标题、主图和面包屑都指向了另一个对象,用户点进来会发现货不对板。前者更像错误页被套上了正常模板,后者更像内容被替换但地址没变。
这两种情况对下一步的影响不同。第一种要先确认错误页模板是否被错误地设成 200;第二种要先确认该地址原本指向的内容是否被合并、删除或迁移。分不清时,不要急着改状态码,否则可能把一个仍有效的内容改成 404。
把手上这份页面清单或站点链接资料当成核对对象。先按来源分成两组:一组来自站内导航、正文推荐和栏目列表,也就是内链;另一组来自外部引用、合作方页面或历史投放,也就是外链。每组不必全查,各抽五到十条即可,但要覆盖不同模板和不同目录。
对每条链接做三件事:记录请求返回的状态码;查看正文是否出现错误提示、空列表或默认文案;确认页面标题与链接锚文本描述的对象是否一致。如果这三项里有两项对不上,就把它标成“状态与内容不一致”,进入下一轮判断。
多个角色对同一页面有不同理解时,争论往往停在“我觉得它是错误页”和“它明明能打开”之间。可核对的做法是让每个人提交同一种记录:链接地址、请求时间、状态码、正文首屏文字、标题文字。记录格式统一后,分歧会缩小到具体字段,而不是印象。
假设某条内链指向一个已下架的活动页,状态码是 200,正文只剩一句“活动已结束”,标题仍是活动名称。运营认为该页还有说明价值,技术认为它应返回 404 或 410。此时可以把判断依据写成:如果该地址不再提供用户需要的实质内容,且没有替代入口,就按错误页处理;如果它仍承担说明或跳转作用,就保留 200 但补上明确指引。这个例子只用于说明比较方法,不代表任何真实站点现状。
修正动作通常有两种:把错误页改为正确的失败状态码,或把仍有价值的内容补回正文并保留成功状态。做完之后,重新用同一批链接请求一次,确认状态码与正文含义已经对齐。如果改的是状态码,还要检查站内导航和外链是否仍指向该地址,必要时换成有效目标。
验证时不要只看一个请求的结果。抓取量或某项统计归零,不能单独证明处理正确,因为缓存、抓取节奏和外部链接更新都可能造成类似现象。更稳妥的做法是隔一段时间再抽同一批链接复查,并保留两次记录,观察状态码和正文是否稳定。
如果错误页只是临时维护提示,且明确标注了恢复时间,保留 200 并给出说明通常可以接受。如果该地址被外部引用且仍有访问价值,但内容已迁移,更合适的做法是设置指向新地址的跳转,而不是让它停在错误提示上。站点地图不保证收录,robots.txt 的抓取限制也不等于可靠的索引移除,所以不要用这两项替代状态码与内容的核对。
把上述判断落成一张简单清单:链接来源、请求状态、正文含义、标题一致性、处理动作、复查结果。每次处理完一批,就更新这张清单,再决定下一批要抽哪些内链和外链。这样做的结果不是一次判断对错,而是让后续每一次核对都有可比较的依据。