先别急着逐条补链。把失效样本按“域名分布”和“失效返回类型”排一遍:如果失效集中在少数几个域名,且这些域名下的不同目标页、不同锚文本几乎同时出问题,更可能是源站故障;如果失效散落在多个互不相关的域名,返回类型也各不相同,才更像逐条失效。这个判断直接决定下一步是等源站恢复,还是立刻改写或退出。
同日失效最容易误导人的地方,是数量本身。几十条链接同一天报错,看起来像一次大规模清理,但如果它们本来就分散在几十个来源域名上,这个数字并不说明有共同原因。真正有区分力的是簇:同一来源域名下,是否有多条指向不同目标页的链接同时异常。
这一步的实际动作是拉一张表,字段至少包括来源域名、目标页、首次发现时间、返回状态或报错类型。把来源域名相同的行排在一起,成簇与否一眼可见。做完这一步,你会得到两个候选结论,而不是一个笼统的“链接掉了”。
光看成簇还不够,因为有些逐条失效也会碰巧集中在同一域名。这时要看返回类型和站点可达性。
源站故障常见的表现是:域名解析失败、连接超时、整站返回服务器错误,或者同一域名下无论目标页是什么都取不到内容。逐条失效则更常见单页返回“内容不存在”,而同一域名下其他页面仍能正常访问。也就是说,判断的关键不是某条链接报错,而是同一域名下其他链接是否还活着。
可以做一个假设例子:某来源域名下有 12 条外链,其中 9 条同日失效,剩余 3 条也出现超时,且该域名首页无法打开。这个组合更支持源站故障。反过来,如果同一域名下 12 条里只有 2 条失效,其余 10 条正常,那 2 条更可能是逐条失效,尽管它们恰好同一天被发现。
这里要提醒一点:抓取失败、请求超时或某次统计归零,都不能单独证明链接已经永久失效。网络抖动、临时限流、抓取工具自身异常,都会制造类似信号。所以交叉验证至少要包含一次不同时间、不同网络环境的复测。
判断出倾向之后,处理方式并不是越早动手越好。三种取舍各有前提。
适用于成簇失效且源站疑似临时故障的情况。前提是:该来源域名历史上稳定、同一域名下多条链接同时异常、站点整体不可达。此时合理动作是记录首次发现时间,隔一段时间复测,而不是当天就判定失效并删除记录。如果复测后站点恢复、链接重新可达,保留就是正确选择。结果会影响下一步:恢复后应回填复测时间,避免后续再把同一批误判为失效。
适用于来源页仍在、但原目标页或原锚文本已不适用的情况。前提是你能确认来源页可访问,只是链接指向的内容变了或锚文本不再匹配。此时改写的是链接目标或锚文本,而不是来源页本身。需要注意,改写只解决“指向不对”,解决不了“来源页已不存在”。如果来源页本身已经打不开,改写没有落点。
适用于离散失效、来源页已删除、或来源域名整体长期不可达的情况。前提是复测后仍不可达,且没有可替代的目标页。退出的动作是把该条从有效链接清单移出,并记录退出原因。结果会影响下一步:退出后应检查同一来源域名是否还有其他链接,避免只处理了被发现的那一条。
把上面的依据压成一个顺序,能减少反复。
这套顺序的价值在于:它先区分原因,再决定动作,而不是一发现失效就补链。补链动作本身没有错,错在把源站故障当成逐条失效去补,结果既浪费精力,又可能删掉本会恢复的记录。
有几个信号容易被当成结论,但都不够。
把这些信号当线索可以,当判据不行。真正能支撑取舍的,是来源域名分布、整站可达性和复测结果这三类证据的组合。
回到最初的问题:大量链接同日失效时,先看是否成簇,再看整站是否可达,最后用复测确认。成簇且整站不可达,优先保留观察;离散且来源页仍在,考虑改写;离散且来源页已消失,执行退出。判断顺序对了,后续动作才不会互相打架。