先给结论:不要按“已发现/未发现”直接分组,而要先找出两组之间除发现状态外仍然一致的维度,用这个维度做对照组,再让死链工具分别报告两组的返回状态。假设一个情境:站点有800个商品页,站点地图提交后只有约200个被搜索引擎发现,其余600个状态正常、内容完整,但抓取记录里几乎没有出现。这时把200个已发现页面和600个未发现页面直接对比,会混入分类、模板、内链深度等差异,结论不可用。
发现状态和索引状态是两件事。页面没有被发现,通常意味着抓取端没有拿到入口;页面被发现但未收录,才更接近索引筛选。划分对照组之前,先用日志或抓取统计确认这600个页面是否真的从未被请求过。如果它们被请求过但未进入索引,分组逻辑要换成“已抓取未索引”和“已抓取已索引”,而不是“发现/未发现”。
这里有一个容易误判的点:robots.txt 的抓取限制不等于可靠的索引移除。被 robots 阻止抓取的 URL 仍可能因为外部链接而被收录,所以不能把“robots 里屏蔽了”直接当作“未发现”的原因。反过来,站点地图提交也不保证收录,它只提供发现入口,不承诺抓取和索引。把这两个前提写进分组说明,能避免后面把相关当因果。
继续上面的假设情境。把800个页面按两个维度交叉:模板类型(列表页模板、详情页模板)和站内入口数量(0–1个、2个以上)。如果已发现的200个几乎都来自列表页模板且入口在2个以上,而未发现的600个多为详情页模板且入口为0–1个,那么真正的变量是入口数量,不是页面本身的质量。
具体动作:在死链工具里按“模板=详情页 AND 入口数=0–1”筛出一组,再按“模板=详情页 AND 入口数≥2”筛出另一组,两组页面类型、内容结构一致,只有入口数量不同。让工具分别输出两组的 HTTP 状态分布。如果第一组里 4xx、5xx 或软 404 的比例明显高于第二组,说明入口缺失和状态异常可能同时存在,下一步应先补内链入口,而不是继续批量提交站点地图。
如果两组状态分布接近,说明返回状态不是差异来源,问题更可能出在发现路径上,此时再回头检查站点地图里的 URL 是否与可抓取版本一致、是否有重定向链过长。这个判断顺序能避免在状态正常的情况下反复“修死链”。
死链工具给出的状态码只是起点,要能区分几种原因:
把这几类分开统计后,再回到对照组:如果未发现组里软 404 集中出现,而发现组没有,那么优先修模板渲染或空内容判断;如果两组都出现软 404,则说明软 404 是站点普遍问题,不是“未发现”的解释变量。
假设按上述方法分组后,未发现组的软 404 占比约为已发现组的三倍。这个数字只用于说明比较方法,不代表任何真实站点。此时下一步不是立刻批量改状态码,而是先抽样查看这些软 404 页面的渲染后文本,确认是模板条件判断出错还是数据缺失。如果是模板问题,修复后重新生成页面,再用死链工具复查同一对照组的返回状态;如果状态恢复正常但发现量没有变化,说明入口或抓取预算仍是限制条件,需要继续补内链。
反过来,如果分组后两组状态分布一致,就不要在状态层面继续投入,而应转向检查站点地图覆盖范围、内链入口分布和抓取频率。这个转向动作本身就是分组的目的:用一组可比的证据决定下一步改哪里。
第一,不要用“已发现页面”直接当作成功样本。已发现可能只是因为它们出现在首页或列表页,与页面质量无关。第二,不要只比较一次就下结论。抓取和索引状态会随时间变化,建议在修改入口或修复模板后,用同一分组规则再跑一次死链工具,看两组差异是否收窄。收窄说明动作有效,未收窄说明还有未纳入对照的变量。
最后提醒:不同搜索引擎对站点地图、robots 和状态码的处理方式不同,需要分别核查,不能把某一个引擎的观察结果直接套用到全部渠道。分组对照的价值在于让每一次修改都有可比的基线,而不是靠单次抓取量或请求量的归零来判断处理是否正确。