核心结论:HTTP 200 只说明服务器愿意返回内容,不说明返回的内容是有效页面。当错误页误返回 200,你要核对的是“状态码—渲染后正文—索引意图”三者是否指向同一件事,而不是继续信任状态码。下面用一个假设情境把决策过程走一遍。
假设某站点迁移后,一批已删除商品页仍然返回 200,页面显示“该商品已下架”,并带有全站导航和推荐位。Google 可能把它当作正常页面处理,也可能因为正文过薄而降低抓取价值。此时不要急着改状态码,先分清三种情况:
这三类的处理动作不同。软 404 通常应改为 404 或 410;空壳 200 要先判断该页是否还有保留价值;重定向后 200 要检查目标页是否与原始查询意图匹配。把它们混在一起,容易把有保留价值的页面误删。
很多页面在源码里看不到正文,靠客户端渲染才出现内容。如果只看源码,可能把正常页面误判为空壳;反过来,如果只信任状态码,又会漏掉软 404。可执行的动作是:
这一步的结果会直接影响下一步。如果渲染后正文确实为空,改状态码或补充正文是合理方向;如果渲染后正文完整,问题可能出在抓取阶段而非内容本身,应该转向检查服务器返回给爬虫的版本是否与用户看到的一致。
把状态码和渲染后正文交叉,可以得到四种可区分的情况:
这个组合表的价值在于:它把“状态码是否正确”变成“状态码与内容是否一致”。只有第二和第三种组合需要你动手。
假设某站点有一批活动页在活动结束后被下线,运营保留了页面并显示“活动已结束”,服务器仍返回 200。常规做法是直接把这些页面批量改为 404,但执行前需要先核对一致性。
第一步,抽取其中 10 个页面,记录状态码、渲染后正文长度、页面标题和主要正文文字。第二步,判断这些页面是否还有搜索需求:如果活动名称仍有查询量,页面可能适合保留并补充说明;如果没有任何查询意图,改 404 更干净。第三步,根据判断结果选择动作。
假设这 10 个页面全部属于“活动已结束且无后续查询”的情况,那么把状态码改为 410 或 404,并保留一个指向同类活动列表的链接,是比继续返回 200 更一致的处理。动作完成后,下一步不是立即要求重新索引,而是观察服务器日志中这些 URL 的抓取返回码是否已变为 404/410,以及页面是否仍出现在站内搜索或站点地图中。
如果其中 2 个页面仍有查询需求,则应保留 200,但把正文补充为有效的活动回顾内容,而不是只留一句“已结束”。这时状态码与内容重新一致,也不需要改状态。
状态码修正不等于问题结束。以下三个条件经常被忽略:
核对一致性的最终动作,是让状态码、正文和索引意图三者指向同一个结论:页面存在就返回 200 并有实质内容,页面不存在就返回 404/410 且不保留误导性正文。完成这一步后,再根据日志和抓取结果决定是否需要进一步提交或观察,而不是把状态码修改本身当作终点。