先给结论:如果错误页面返回 200,而页面正文是“找不到内容”,应以正文语义为准,把这个 URL 当作需要修正状态码的软 404 处理;如果页面正文仍有完整可读内容,只是缺少某个模块或参数,则要先确认它是否真的不可访问,再决定改状态码还是改内容。核对一致性时,不能只看状态码,也不能只看页面文字,要把响应头、正文主题、页面内链接和站长工具死链报告放在同一张核对表里比较。
第一种是软 404:URL 已无对应资源,服务器仍返回 200,正文却写着“内容不存在”“已下架”或只剩导航和推荐位。它的问题在状态码与内容语义矛盾,搜索引擎可能把空壳页当正常页处理,站长工具死链报告也未必能直接列出它。
第二种是内容降级但资源仍可访问:页面主体还在,只是评论、价格、库存或某个筛选模块加载失败。此时 200 可能并不算错,因为页面仍能提供有效信息。若贸然改成 404,反而会把仍可访问的页面从索引中移除。
判断依据不是“有没有报错字样”,而是正文是否仍围绕该 URL 承诺的主题提供有效信息。若正文只剩一句错误提示,且没有任何可操作内容,应优先按软 404 处理;若正文仍能回答用户原始需求,应先修内容或模块,而不是先改状态码。
建议为每个疑似 URL 建三列记录:响应状态码、正文首屏主题、页面内可点击链接的目标状态。动作可以这样执行:
curl -I。这个动作的结果会直接影响下一步:若三列都指向“内容无效”,就应让该 URL 返回 404 或 410,并保留原有错误提示;若只有部分链接失效,应先修链接和模块,状态码暂不动。这样做的代价是核对耗时更长,但能避免把仍有效的页面误删。
当满足以下条件时,改状态码更合适:该 URL 对应的资源已永久移除;正文没有独立有效信息;页面内链接大多指向首页或无关页;站长工具死链报告中该 URL 没有正常入链价值。此时把 200 改为 404 或 410,能让状态与内容一致。
当满足以下条件时,改内容更合适:正文仍保留该主题的核心信息;只是某个模块、参数或推荐位加载失败;页面仍有来自其他页面的正常入链;用户从搜索结果进入后仍能获得答案。此时应修复模块或补回内容,而不是改状态码。
例外也要留出:如果该 URL 是站点地图中提交过的页面,或曾被其他页面大量引用,改状态码前应先确认是否有替代页面可承接。若有,应设置 301 到替代页;若没有,再返回 404。这一步的代价是增加一次跳转关系核对,但能减少用户和抓取端遇到断链。
假设某筛选参数页返回 200,正文却显示“没有符合条件的结果”,页面内所有筛选链接都指向同一空结果。此时按软 404 处理更合理:保留空结果提示,但让状态码返回 404,并停止在站点地图中提交该参数组合。
反过来,假设同一页面返回 200,正文仍有商品列表,只是价格模块空白。此时不应改状态码,而应先修价格模块;若短期无法修复,可暂时保留页面,但要避免让空白模块占据首屏。两种做法的分界是:用户还能不能从正文获得该 URL 承诺的信息。
改完状态码或内容后,不要只盯着站长工具死链报告里的数量变化。抓取量、索引量或死链数归零,也可能来自抓取预算变化、报告延迟、站点整体改版或 robots.txt 限制,不能单独证明处理正确。robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。
更稳妥的复查方式是:重新抓取同一 URL,确认响应头与正文语义一致;抽查内链是否还有指向该 URL 的正常入口;若已设置 301,确认目标页可访问且主题相关。只有这三项都一致,才能进入下一批 URL 的处理。若其中一项仍矛盾,应先回到三列对照表,而不是继续扩大修改范围。