先给结论:当一批URL里只有一部分进入“已发现/已抓取”状态时,不要按“处理过/没处理过”分组,而要按一个可独立开关的遗漏条件分组。最稳妥的做法是从同一批URL中选两组结构、模板、发布时间都接近的页面,只让其中一组携带待验证条件,另一组保持原样,再观察“被发现”的增量是否只出现在实验组。下面用一个假设情境把决策过程走完。
假设你有一批由同一模板生成的商品页,其中约三分之一在站点地图中提交后仍停留在“已发现未抓取”,其余页面正常。你怀疑是内链入口太少,于是打算给所有未抓取页面补内链。这个动作的问题在于:它同时改变了入口数量、入口位置和页面被访问的概率,最后无法判断是哪一项起了作用。
更可对照的做法,是把遗漏条件限定为一个可独立开关的变量。比如只改变“是否从分类页获得一条站内链接”,其余保持不变:模板、正文长度、发布时间、站点地图提交时间都尽量接近。对照组和实验组的差别越单一,后续结论越可用。
假设这批页面共300条,其中100条未被发现。你可以这样划分:
如果实验组被发现的数量明显多于对照组,说明“分类页入口”这个条件与发现相关;如果两组变化接近,则入口数量可能不是主因,下一步应转向检查站点地图中的URL是否被正确解析、服务器对抓取请求的响应是否稳定,而不是继续加内链。
这里要强调:请求量或抓取量归零,并不能单独证明某个处理正确或错误。它也可能来自抓取预算临时收紧、服务器短时不可达、站点地图未被读取等合理解释。所以判定要基于两组对比,而不是单看某一组的绝对数字。
第一类是新旧混排。把刚发布的页面和老页面放进同一组,发布时间差异会掩盖入口条件的作用。第二类是模板差异。不同模板的正文结构、链接密度不同,会让对照失去意义。第三类是同一时间集中改动。如果实验组在加内链的同时还改了标题或正文,就无法把变化归因于入口。
还有一个容易被忽略的点:robots.txt 的抓取限制不等于可靠的索引移除。用 Disallow 挡住抓取,只是阻止爬虫访问,已收录的URL仍可能留在索引中;它不能作为对照组“清理”手段。同理,站点地图不保证收录,提交只是提供发现线索,不构成被抓取的承诺。
根据两组差异,可以分三种走向:
robots.txt 限制的路径,或入口页面本身抓取频率低,导致链接未被跟进。无论哪种走向,都要记住:不同搜索引擎对站点地图、抓取限制和索引处理的支持情况并不一致,同一组对照结论不宜直接套用到所有引擎。HTTPS 也不保证页面安全无漏洞或获得更好排名,它只是传输层的一个条件,不能替代对遗漏原因本身的排查。
批量页面只有一部分被发现,往往不是单一原因造成的。把对照组固定下来,每次只验证一个遗漏条件,才能让“处理—观察—再决定”形成闭环。下次再遇到类似情况时,你手上已经有一组可信的基线,而不是从零猜测。