先把“被发现”当成待检验的假设,而不是结果:如果一批页面里只有一部分出现在查询结果中,最有效的做法是按同一域名下可复现的差异维度划分对照组,而不是按“已发现/未发现”事后分组。假设某站有 400 个同类页面,其中约 120 个能被查到,其余 280 个查不到,下面用这个假设情境说明怎么选维度、怎么验证、什么时候该换方向。
对照组的意义在于:两组之间只应有一个主要差异,其他条件尽量一致。对同一域名下的批量页面,优先检查三类可复现差异:
如果两组之间同时存在入口、参数和渲染方式三种差异,结论无法归因。此时应先固定其中两项,只保留一项作为变量,再重新取样。
面对“只有一部分被发现”的批量页面,常见的两种做法是:按入口来源分组,或按页面模板分组。两者都成立,但适用条件不同。
当页面模板高度一致、仅入口不同的时候,按入口分组更干净。例如同一套模板生成的详情页,一部分出现在分类列表里,一部分只能通过搜索框或分页深处到达,这时入口就是最可能的差异来源。代价是:站内链接结构往往和页面权重、更新频率纠缠在一起,需要额外确认入口是否真的独立于内容质量。
当入口结构基本一致、但页面由不同模板或不同渲染方式生成时,按模板分组更合适。例如同一目录下,一部分页面是服务端直出,一部分依赖前端脚本填充主体内容。代价是:模板差异常伴随字段完整度差异,需要把标题、正文、结构化数据逐项对齐,否则仍会混淆。
选择条件可以概括为:哪一项差异最容易被单独改动,就先按它分组。如果一项差异无法在不影响其他条件的情况下单独调整,它就不适合作为第一轮对照维度。
分组之后,下一步不是继续扩大查询范围,而是做一次可回退的最小改动。仍用前面的假设:400 个页面中 120 个可见、280 个不可见,先按“是否有站内链接指向”分成两组,各取 30 个页面。
这个动作的结果会直接影响下一步:如果增加入口后,处理组的被发现比例相对对照组上升,说明入口是主要变量,接下来应优先修链接结构;如果两组变化没有可区分的方向,入口可能不是主因,应转向模板、渲染或参数维度重新分组。这里要避免一个误判——请求量或抓取量归零、查询结果数量波动,都可能由抓取预算调整、查询工具缓存、站点整体改版等合理解释,不能单独证明某个分组判断正确。
第一,把 robots.txt 的抓取限制当成索引移除手段。robots.txt 只约束抓取行为,不等于可靠的索引移除;被限制抓取的 URL 仍可能因外部链接等原因出现在查询结果中。用它来制造“未发现”组,会把抓取问题和索引问题混在一起。
第二,把站点地图当成收录保证。站点地图能帮助发现 URL,但不保证收录。若对照组一边“有站点地图”、一边“没有”,而两边站内链接条件不同,结论依然不可靠。
第三,把 HTTPS 当成安全或排名保证。HTTPS 不保证页面无漏洞,也不保证排名提升。它通常不是这批页面被发现与否的合理解释变量,除非对照本身就在比较协议迁移前后的同一批 URL。
如果按入口、模板、参数三个维度分别取样后,处理组和对照组始终没有可区分的方向,说明“已发现/未发现”这个二分法本身可能不稳定:查询结果会随时间、查询方式和工具变化。此时应转向更小的验证单元,例如固定同一模板下的 10 个 URL,用同一查询方式重复观察,并记录每次观察的日期与条件。不同搜索引擎对同一批页面的支持情况需要分别核查,不能把一处的观察直接套用到另一处。
假设情境下的决策顺序可以收束为一句话:先用一个可回退动作验证最可疑的单一差异,再根据处理组与对照组是否出现可区分方向,决定是继续修这一维度,还是换维度重新分组。