先给结论:当旧内容被下架、但服务器仍返回 200 时,百度看到的是一个“成功页面”,此时核对的重点不是页面文案,而是响应状态、正文实质内容和跳转链条三者是否彼此矛盾。最稳妥的做法是先用抓取工具或命令行看状态码与正文,再决定是保留、改状态码,还是彻底移除。
假设某站点有一条旧合作关系终止,原来的合作专题页被替换成一句“本页内容已停止维护”。运维只改了模板文字,HTTP 响应仍是 200,页面也没有加 noindex。此时从用户角度看是“页面还在”,从百度角度看是“内容更新了”。
这个假设里最关键的分歧是:运营认为已经下线,爬虫却认为页面正常。核对一致性,就是判断这个 200 到底该不该保留。
状态与内容不一致通常有三种来源,处理方式完全不同:
核对时不要只盯着状态码数字,要同时看正文是否还有实质信息、是否有跳转、是否被 robots 或 noindex 干预。
如果站点可访问,可以用命令行抓取头部和正文片段,观察状态码、Content-Type 和页面实际文字是否匹配。下面是一个假设示例,仅说明检查方法:
curl -I -L "https://example.com/old-topic"
先看返回的 HTTP 状态是 200 还是 404/410,再看是否有 Location 跳转。接着抓正文:
curl -L "https://example.com/old-topic" | head -c 2000
如果头部是 200,正文却只有“已下线”或空模板,说明状态与内容不一致。此时的动作是:确认该 URL 是否还有保留价值。若没有,应改为 404 或 410;若希望用户仍能读到替代内容,应改为 301 指向仍然有效的页面,而不是继续返回 200。
这个动作的结果会直接影响下一步:改成 404/410 后,百度会按错误页面处理;改成 301 后,权重和用户会转到新地址。两者不能混用,也不能只改文案不改状态。
旧系统常见一种情况:服务器无法返回 404,所有请求都落到同一个入口,再由前端脚本判断内容是否存在。结果就是任何失效 URL 都返回 200,正文里再显示“找不到”。这就是软 404。它不是真正的成功页面,但百度未必能自动识别。
核对软 404 的证据是:状态码为 200,正文出现“不存在”“已删除”“无结果”等词,且页面没有实质主体内容。此时不要只依赖 robots.txt 限制抓取,抓取限制不等于可靠的索引移除;也不要以为提交站点地图就会让旧页面消失,站点地图不保证收录,也不保证移除。
可行的动作是让后端对失效资源返回 404 或 410;如果旧系统暂时改不了,至少给这些页面加 noindex,并确认该指令能出现在响应正文中,而不是只写在模板里。加了 noindex 后,下一步是观察百度是否仍抓取该 URL,以及抓取后是否仍按 200 处理。
不是所有旧页面都该一刀切。假设旧合作专题里有一部分行业说明仍然准确,另一部分价格和联系人已失效。这时更合理的做法是:保留有价值段落,删除失效信息,并让页面继续返回 200;只有整页都无价值时,才改为 404/410 或 301。
判断依据可以按下面顺序走:
对于 HTTPS,也不要把它当成一致性证据:HTTPS 不保证页面内容正确,也不保证排名。核对一致性仍要回到状态码、正文和跳转本身。
完成一次核对后,至少记录三件事:URL、当前状态码、正文是否包含实质内容。若决定改状态,记录改动前后的状态码;若决定保留,记录保留理由和更新范围。这样下一次出现相同 URL 时,不必重新猜测。
如果同一个旧系统里还有大量类似页面,不要只修一个。先按模板或路由分组,确认哪些路由统一返回 200,再决定是批量改后端状态,还是逐页加 noindex。批量改动后,下一步是用同一方法抽查若干 URL,确认状态码和正文已经一致,而不是只看其中一个页面。