先给结论:如果一批页面中只有部分被发现,不要按“已发现/未发现”直接分组,而要先按一个可独立验证的条件分组,例如模板类型、内链入口数量或页面生成方式。只有当两组除这个条件外其余变量尽量一致时,差异才值得继续追。若两组还同时混着上线时间、目录层级或内容类型的不同,这个对照就不成立,需要拆细或重设。
“被发现”本身是结果,不是原因。把结果当分组依据,等于用答案解释答案。更麻烦的是,这批页面往往共享同一批内链、同一套模板或同一次上线动作,差异可能来自多个方向。直接对比两组的抓取记录,很容易把模板差异误判成链接差异,把时间差异误判成结构差异。
可行的做法是先选一个你怀疑的遗漏条件,再围绕它构造两组。比如怀疑是列表页入口深度不同,就选同一模板、同一内容类型、同一上线批次的两组页面,一组在列表页第一页有入口,另一组只在翻页后才出现。这样两组的主要差别被压缩到一个变量上,后续观察才有指向性。
要让对照成立,至少固定以下几项,缺一项就要在结论里标出限制:
固定完这些,再让目标变量单独变化。这样得到的差异,才有资格进入下一步排查。否则你只是在比较两堆本来就不一样的页面。
假设某站有 400 个同模板详情页,其中 120 个被发现、280 个未发现。不要直接对比这 120 和 280。先取同一内容类型、同一上线周、同一目录层级的页面,按“列表页第一页有入口”和“只在第三页之后有入口”分成两组,每组各 50 个。观察一段时间后,如果第一页组被发现的比例明显更高,那么入口位置就是一个值得优先处理的条件;如果两组差异很小,说明入口位置不是当前的主要遗漏条件,应转向检查站点地图覆盖、模板输出或服务器响应。
这个例子的数字只用于说明分组方法,不代表任何真实站点的比例。它的价值在于:把“一部分被发现”这个模糊现象,转成一个可比较、可复现的条件差异。
最典型的反例是:两组页面虽然模板相同,但其中一组刚做过内容更新,另一组没有。此时即使入口位置不同,也无法判断差异来自入口还是来自更新。类似地,如果一组页面在站点地图中,另一组不在,或者一组返回 200、另一组间歇返回 5xx,那么对照已经被污染。
还要注意,robots.txt 的抓取限制不等于可靠的索引移除。页面未被发现,可能只是抓取受限,也可能是被抓取但未进入索引,两者需要分开看。站点地图也不保证收录,它只是提供发现路径。HTTPS 同样不保证安全无漏洞或排名。把这些当成“已处理”的前提,会让分组失去意义。
分组完成后,先做一个小范围动作:只对其中一组补上缺失的内链入口,另一组保持不变,并记录两组的抓取与索引状态变化。这个动作的结果决定下一步——如果处理组出现改善,可以把同样的入口策略推广到同类页面;如果没有改善,就不要扩大改动,转而检查模板输出、站点地图覆盖或服务器响应。关键是让每一次动作都对应一个可观察的信号,而不是一次性改完所有变量。