先给结论:HTTP 200 只说明服务器愿意返回一份内容,不说明这份内容与预期页面一致。核对顺序应是先确认响应体是否属于目标页面,再确认状态码是否被人为固定为 200,最后决定保留、改写还是退出这条提交路径。若把 200 当作内容正确的证据,后续的提交、抓取和索引判断都会建立在错误前提上。
同一个异常通常有两种来源,处理方式完全不同。
区分方法很直接:用只取响应头的请求查看状态码,再单独取响应体查看实际文字。如果两者对不上——状态码说成功、正文说找不到——就落在第二种情况。这时任何基于“返回成功”的判断都不成立。
当开发、运营和 SEO 对同一页面有不同理解时,争论“到底有没有问题”没有意义,应把分歧拆成可以逐项核对的证据。建议固定四项:
四项对齐后,分歧通常会收敛成一个具体问题:要么是状态码被写死,要么是路由把不存在的地址兜底到了通用模板。两种问题的修复位置不同。
保留适用于内容本身有效、只是状态码被统一设置为 200 的情况。前提是页面确实应该存在,且返回的正文与目标页面一致。此时动作是修正状态码逻辑,而不是删页面。修正后重新核对一次状态码与正文,确认二者不再矛盾,再决定是否继续提交。
改写适用于页面已不存在,但业务上希望保留一个说明页的情况。前提是这个说明页对用户有真实价值,而不是空白模板。此时应让服务器返回 404 或 410,同时在正文中给出解释和下一步入口。注意,返回 404 并不会阻止用户看到内容,它只是告诉抓取方这个地址没有对应资源。
退出适用于该地址本就不该被提交、也不该被抓取的情况。前提是确认它属于参数组合、内部搜索页或临时状态页。此时的动作是从提交清单中移除,并检查是否有其他入口仍在暴露它。需要提醒的是,用 robots.txt 限制抓取并不等于可靠的索引移除,已存在的地址仍可能以其他方式被引用,因此退出提交清单和阻止抓取是两件事。
假设某站点有一个商品地址,商品下架后服务器返回 200,正文却是“暂无相关内容”。三个角色看到的现象不同:运营看到页面能打开,开发看到状态码是 200,SEO 看到正文与标题不匹配。
把三项证据并排放置后,结论只有一个:这是状态码与内容不一致。若业务决定保留下架说明,正确动作是让该地址返回 410,并保留说明文字;若业务决定不再提供该地址,正确动作是返回 404 并从提交清单移除。两种动作都会改变下一步——前者需要重新核对状态码,后者需要检查站内是否还有指向该地址的链接。
修复完成后不要只看一次结果。至少做三件事:用同一地址重新请求,确认状态码已改变;确认正文仍是预期内容,而不是被替换成另一个通用页;确认没有新的重定向把请求带回原来的错误状态。若站点使用站点地图,注意站点地图只表达你希望被抓取的地址,并不保证收录,因此不能用“已放进站点地图”替代状态码核对。
如果多个搜索引擎的表现不同,应分别核查,不要用其中一个的结果推断另一个。请求量或抓取量下降也不能单独证明修复正确,它可能来自抓取预算变化、链接变动或统计口径调整。真正能支撑判断的,仍是状态码、正文标识和重定向链这三项能否稳定对齐。