先给结论:不要按“已发现”和“未发现”直接分组,而要先把批量页面按链接来源和入口层级拆成可比较的层,再在每一层内部划分对照组。否则你比较的其实是“被内链照顾的页面”和“被内链忽略的页面”,而不是死链处理动作本身的效果。下面用两种前提分别说明。
当批量页面由同一套模板生成、内容结构接近,但只有一部分被工具发现时,最合理的对照组划分方式是按入口位置配对,而不是随机抽一半。
具体动作:把已发现的页面按入口来源标注为三类——主导航或栏目页直接链接、列表页分页链接、仅靠站内搜索或外部链接到达。然后在每一类内部,各取已发现和未发现的页面组成对照。这样做的结果是:如果某一类里“已发现组”和“未发现组”的差异很小,说明发现与否更可能取决于入口层级,而不是页面本身质量;下一步就应该优先补内链,而不是改内容。
例外:如果模板本身对某些字段做了条件渲染,比如部分页面缺少面包屑或相关推荐模块,那么入口差异和模板差异会混在一起。此时要先按“是否渲染完整导航模块”再分一层,否则对照组不成立。
当批量页面分布在多个目录、且经历过URL结构调整时,直接按目录分组会把“改版遗留”和“死链处理动作”混在一起。更稳妥的做法是按最后一次链接变更时间划分对照组。
具体动作:先列出这批页面中,哪些在近期被重新挂过内链或提交过站点地图,哪些没有。然后在“有重新挂链”的页面里,再区分指向它们的是新链接还是旧链接。结果如何影响下一步:如果只有“新链接指向的页面”被发现比例更高,那么问题更可能出在旧链接路径上,下一步应检查旧路径是否还能被爬虫走到,而不是继续批量提交。
这里要提醒一点:站点地图不保证收录,提交动作本身不能作为“已处理”的证据。同样,robots.txt 的抓取限制不等于可靠的索引移除,它只影响抓取,不决定页面是否已从索引中消失。所以对照组里不要把“提交过站点地图”当成处理成功的标志。
把这三个变量固定住之后,对照组才有可比性。否则你看到的“发现比例差异”可能只是链接深度造成的,和死链处理动作无关。
假设某批页面共 200 个,工具只发现了 60 个。不要直接把这 60 个当实验组、140 个当对照组。先按入口分:主导航入口 20 个全部被发现;列表页入口 80 个发现 30 个;仅外部链接入口 100 个发现 10 个。此时应在“列表页入口”这一层内,比较已发现和未发现的页面在标题长度、正文长度、内链数量上的差异。如果两组在这些属性上接近,而仅外部链接入口的发现率明显低,那么下一步优先做的是给这批页面补一条从列表页可达的路径,而不是改标题或正文。
这个例子里的数字只用于说明比较方法,不代表任何真实站点的统计结果。
如果这批页面中有一部分同时存在多种入口,且你无法确定爬虫实际走的是哪条路径,那么按入口分组就会失真。此时更实际的做法是:先只处理入口最明确的那一小批,观察它们被发现的比例是否变化,再决定是否扩大到其余页面。不要在没有明确入口的前提下,一次性对所有页面做同样的死链替换或重定向。
另外,如果同一批页面在不同搜索引擎中的表现差异很大,需要分别核查,不能把某一个引擎的发现结果直接套用到另一个引擎上。对照组划分的目标是让你能回答“这个动作改变了什么”,而不是证明“处理过就一定被发现”。