先给结论:不要按“已发现/未发现”直接分组,而要先按页面模板、内链位置和返回状态码把批量页面切成同质层,再在每层内部随机留出一部分页面不做改动作为对照。这样做的原因是,被发现与否往往和页面所在层级、链接深度高度相关;直接拿“已发现的页面”和“未发现的页面”对比,等于把模板差异、入口差异和改动效果混在一起,之后无论保留、改写还是退出都缺少可信依据。
假设一个站点有 2000 个详情页,其中 600 个已被发现,1400 个未被发现。直觉做法是把这 600 个当作对照组、1400 个当作实验组,然后对实验组做 404 错误页面优化。问题在于,这两组从一开始就不同:已发现的页面通常离首页更近、被列表页反复链接、模板可能更早;未发现的页面往往藏在分页深处或只在站内搜索里出现。此时两组的差异不是“优化有没有用”,而是“它们本来就不是一类页面”。
更稳妥的判断依据是看三个可区分的原因:链接深度(从首页到该页最少点击几次)、模板类型(详情、列表、聚合、标签页)、返回状态码(404、410、301 或 200 空页)。如果未发现页面集中在链接深度 4 层以上,那么真正要处理的可能是入口问题,而不是错误页本身。
当页面本身有独立检索价值、只是当前返回 404 时,可以保留 URL 并把它改成有实质内容的页面,再放入对照观察。适用前提是:该页面在站内仍有合理入口,且你能提供与原标题一致的内容。代价是改写会引入新内容,之后若发现指标变化,无法区分是入口修复还是内容替换带来的。
实际动作:在改写前,先给每层随机抽 10% 的页面打上“不改动”标记,仅修复它们的站内入口,其余 90% 同时改内容和入口。观察下一轮抓取时,如果只修入口的那批也开始被发现,说明主要矛盾在入口;如果只有改内容的那批变化明显,才值得继续改内容。
如果这些页面是过期活动页、已下架商品页,且没有替代内容,保留一个空壳 404 页面只会浪费抓取预算。此时更合理的是返回 410,或 301 到最相关的上级页面。前提是你确认这些页面没有外部链接价值;代价是 410 和 301 都可能让原有链接权重转移或消失,且不同搜索引擎对 410 的处理速度不一致,需要分别核查。
注意:用 robots.txt 屏蔽这些 URL 并不等于把它们从索引中移除,也不等于完成了清理。屏蔽只是阻止抓取,已收录的条目仍可能保留。
当你还不确定未发现的原因是入口太深、站点地图遗漏,还是页面本身被判定为低质,最稳妥的是先不动页面,只调整入口和站点地图,并保留一批完全不动的页面作为基线。站点地图提交不保证收录,所以它只能作为“是否给过机会”的记录,不能当作收录承诺。
这样划分后,如果 A 组在没有任何改动的情况下也被发现,说明发现波动可能来自正常的重新抓取周期,而不是你的处理;如果 B 组明显好于 A 组,说明入口是主要变量;如果 C 组好于 B 组,才轮到讨论错误页内容本身。
假设某站有 1200 个 404 页面,其中 300 个已被发现、900 个未被发现。按模板和深度分层后,在“详情页-深度3”这一层里有 200 个未发现页面。随机取 40 个作为 A 组不动,80 个作为 B 组只加内链,另外 80 个作为 C 组加内链并改写为有效页面。两轮抓取后,如果 B 组有 30 个被发现、A 组只有 5 个,那么入口修复的解释力更强;如果 C 组比 B 组多出明显数量,才说明内容改写有额外作用。这个比较只说明该层的情况,不能直接推广到全部 1200 个页面。
最后要提醒的是:请求量归零、抓取量下降或某个状态码比例变化,都不能单独证明你的分组处理正确。它们可能来自抓取周期调整、服务器响应变慢、站点地图更新延迟等合理解释。只有在同层内保留未改动对照、并区分入口与内容两个变量之后,保留、改写或退出的决定才有可复核的依据。