先给结论:不要按“死链 URL 清单”分组,而要按被发现的入口类型分组。把同一批下线页面分成两组——一组只存在于站内链接(导航、正文、聚合页),另一组同时存在于站点地图或历史外链——分别观察抓取与索引变化。这个划分能回答一个关键问题:页面没被发现,是因为链接本身断了,还是因为发现渠道太单一。
条件一:下线页面仍保留可访问的替代页,且替代关系明确。此时对照组应按“是否在替代页上得到一条指向性链接”来分。得到链接的一组,发现概率来自站内路径;没得到链接的一组,只能依赖站点地图或外部链接。
条件二:下线页面直接返回 404 或 410,没有替代页。此时对照组应按“原入口是否仍然存在”来分。原入口仍在但指向死链,和原入口已被删除,是两种完全不同的发现状态。前者是链接维护问题,后者是发现路径消失问题。
这两种条件不能混用。把有替代页的页面和直接 404 的页面放进同一组,观察到的差异无法归因,因为替代链接本身就是一个新的发现入口。
对照组只有在其他变量接近时才有解释力。至少固定下面几项:
如果某组页面在站点地图里存在,另一组不存在,那么抓取差异首先应归因于站点地图,而不是死链本身。站点地图不保证收录,但它确实提供了发现入口,这一点必须在分组时写清楚。
假设有 200 个旧产品页需要退出,其中 100 个在替代页上有链接,另 100 个没有。两组都返回 404,都提交了站点地图。观察两周后,如果第一组的抓取请求明显多于第二组,说明站内替代链接是主要发现路径,下一步应优先给第二组补一条从相关聚合页指向替代页的链接。
如果两组抓取量接近,但索引移除速度不同,则要检查站点地图中的 URL 是否与死链 URL 完全一致。站点地图写的是旧 URL,而替代页是新 URL,两者不一致时,抓取到的可能只是旧地址的 404,而不是替代页。这个结果会直接改变下一步:先统一站点地图中的地址,再谈分组结论。
如果两组都没有被抓取,也不能直接判定“死链处理正确”。请求量或抓取量归零还有其他解释:抓取预算被其他目录占用、站点地图未被读取、robots.txt 限制了相关路径、外部链接本身已失效。robots.txt 的抓取限制不等于可靠的索引移除,它只控制抓取,不控制已收录页面从索引中消失。遇到这种情况,应先把这些解释逐一排除,再回到对照组。
具体动作:为每个下线页面建立一行记录,包含原 URL、HTTP 状态、是否存在替代页、替代页 URL、站内入口数量、是否在站点地图中、是否有外部链接。然后按“站内入口数量”分成零入口和有入口两组,分别观察抓取和索引变化。
这个动作的结果会直接影响下一步:如果零入口组持续不被发现,说明需要补发现路径;如果有入口组仍不被发现,说明问题不在入口数量,而可能在入口质量——例如链接位于全站页脚,权重稀释严重,或者链接本身也指向了死链。
例外情况有三种。第一,页面带有 noindex 或 canonical 指向其他页面,此时死链状态不是主要变量,应先处理指令冲突。第二,页面被 robots.txt 屏蔽,抓取行为本身受限,分组结论不成立。第三,不同搜索引擎对 404 和 410 的处理节奏不同,支持情况须分别核查,不能把一组数据直接套用到所有引擎。
划分对照组的最终目的不是证明哪一组“正确”,而是找到仍然有效的发现路径。只要零入口组持续没有抓取,就说明发现路径已经断裂,需要补链接或调整站点地图;如果有入口组也没有抓取,则应先检查入口链接本身是否可访问、是否被屏蔽、是否指向了错误地址。这个顺序能避免把链接维护问题误判为索引问题。