先给结论:不要按“已发现/未发现”直接分组,而要先按页面模板、链接深度和内容类型做分层,再在每一层内部划分处理组与对照组。只有当同一层内处理组和对照组的页面在模板、历史表现和入口结构上足够相似时,才能把差异归因到这次改动,而不是归因到页面本身的位置或类型。
批量页面里“被发现”和“未发现”往往不是随机分布。被发现的页面通常离首页更近、内链更多、模板更成熟;未发现的页面可能来自同一批生成逻辑,但处在更深的目录、更弱的入口或更晚的上线时间。如果直接拿这两组对比,你比较的其实是“入口强弱”和“模板差异”,而不是你的处理动作。
更隐蔽的问题是,发现状态本身会随抓取预算和时间变化。今天未发现的页面,可能只是还没轮到抓取;今天已发现的页面,也可能因为后续改版重新回到未发现状态。因此对照组要按“可比的页面集合”来划,而不是按某个时间点的单次状态快照来划。
可用的分层变量至少包括:页面模板是否相同、距离首页的点击深度是否接近、是否有独立外链或站内强入口、内容类型是否一致、上线时间是否在同一批次。每一层内部的页面在这些维度上应当尽量同质,这样处理组和对照组的差异才有解释力。
分层之后,如果某一层里处理组和对照组数量都足够,就可以在该层内做比较;如果某一层只有处理组没有对照组,就不要强行配对,而应记录“该层无法形成有效对照”,把它排除在结论之外。
当你发现批量页面只有一部分被发现,处理动作通常落在三类:保留并继续观察、改写后重新提交、退出这批页面。它们的适用前提不同,不能同时套用。
如果未发现的页面集中在同一模板、同一深度,且该模板下已有页面被正常发现,那么更合理的动作是先保留,给抓取和渲染留出时间。此时对照组应选同模板、同深度、已被发现的页面,观察它们在相同入口条件下是否稳定。若对照组也出现波动,说明问题可能在抓取预算或站点整体,而不在这批页面本身。
如果未发现页面的可见内容依赖客户端渲染,而对照组中静态输出内容的页面被发现,那么改写的前提是:把关键内容放到初始响应中,并确保同一模板下的处理组与对照组只在“内容输出方式”上有差异。改写后不要立刻用发现数量变化下结论,而应先确认抓取工具实际拿到的响应是否包含目标内容。
如果某一层内大量页面既没有独立入口、内容又高度重复,且改写成本高于保留价值,退出是合理选择。退出的前提是:你已经确认这些页面不会通过站内链接或站点地图继续消耗抓取资源。注意,robots.txt 的抓取限制不等于可靠的索引移除,站点地图的存在也不保证收录;退出动作需要和实际抓取行为分开验证。
假设某站有 400 个同模板页面,其中 120 个已被发现,280 个未被发现。不要直接比较这 120 和 280。先按点击深度分成两层:深度不超过两层的页面共 200 个,其中 100 个已发现、100 个未发现;深度超过两层的页面共 200 个,其中 20 个已发现、180 个未发现。
在浅层这一层里,把 100 个未发现页面随机分成两组:50 个做内容输出改写,50 个保持原样作为对照。两周后复查时,如果改写组的发现比例上升,而对照组基本不变,同时深层页面也没有同步变化,那么改写动作与发现变化之间的关联就更可信。如果两组都上升,或者深层页面也一起上升,就要优先考虑抓取预算、站点整体改版或时间因素,而不是把结果归给改写。
这个例子里,动作是“在浅层内部随机划分处理组与对照组”,结果是“把改写效果从深度差异中分离出来”,下一步才是决定是否把改写推广到深层页面。如果深层页面本身入口太弱,即使改写有效,也可能因为抓取不足而看不到变化,此时应先补入口,而不是继续改写。
发现数量变化可能来自多种原因:抓取频率变化、站点地图更新、内链调整、服务器响应波动,或者搜索引擎自身的调度。因此复查时要同时记录处理组和对照组的抓取量、响应状态和入口变化。请求量或抓取量归零,并不能单独证明处理正确;它也可能是抓取被限制、入口被移除或统计口径变化造成的。
如果处理组和对照组在复查期间经历了不同的模板改动或入口调整,这一轮对照就失效了,需要重新划分。只有当两组在复查窗口内除处理动作外没有其他系统性差异时,才能把发现状态的变化作为下一步决策的依据。