当站点里一批结构相近的页面只有一部分被抓取发现时,不要按“已发现”和“未发现”直接分组做速度对比,而要先判断差异来自链接路径还是来自页面本身。更稳妥的做法是:如果未发现页面主要因为缺少内链或被robots.txt挡住,就先修正入口再分组;如果未发现页面和已发现页面在链接路径上基本一致,只是抓取预算分配不同,才适合用“同模板、同层级、同内容类型”构造对照组,并把速度改动只施加在实验组。
批量页面里只有一部分被发现,常见原因并不在加载速度,而在发现路径。若未发现页面没有站内链接、只存在于站点地图,或所在目录被robots.txt限制抓取,那么把已发现与未发现页面直接对比速度,会把入口差异误读成速度差异。此时应先做一次可区分原因的检查:
<a>链接;如果前两项中有一项成立,优先动作是补内链或调整抓取限制,而不是先做速度分组。补完入口后等待下一轮抓取,再观察未发现页面的数量是否变化;如果变化明显,说明原分组条件不成立,应放弃按速度对比。
当已发现与未发现页面在链接路径、模板、层级和内容类型上基本一致时,速度差异才可能成为可比较的变量。这时可按“同模板配对”划分:
动作的结果会直接影响下一步:如果实验组被发现数量上升而对照组不变,可以继续扩大同模板范围;如果两组都没有变化,说明瓶颈更可能在入口或抓取配额,应回到入口检查,而不是继续加大速度改动。
若未发现页面本身缺少内链,或只存在于站点地图,那么任何速度对照都缺少可比性。此时应先把未发现页面接入可抓取的内链路径,例如从同层级已发现页面添加上下文链接,或修正被robots.txt误挡的目录。完成后再重新划分:把“入口已修正”的页面作为实验组,“入口未修正”的页面作为对照,观察发现状态是否随入口变化。只有在入口修正后仍未发现,且两组模板一致时,才把速度作为下一层变量。
这里要注意一个反常现象:请求量或抓取量归零,并不能单独证明速度改动正确或错误。它也可能是抓取配额转移、日志采样缺失或站点地图更新延迟造成的。判断时应同时看入口修正记录、模板一致性和下一轮抓取结果,而不是只看单一计数。
假设某批页面共200个,其中60个被发现、140个未发现。先检查内链,发现未发现页面中有90个没有任何站内链接,另外50个与已发现页面同模板且有内链。此时不应把200个页面直接分成两组。正确划分是:先修90个页面的内链,把它们作为“入口修正组”;剩下50个与已发现页面同模板的页面作为“速度对照组”,只对其中25个施加速度改动,另25个保持原状。下一轮抓取后,如果入口修正组发现数量上升,而速度对照组无明显差异,说明当前阶段的主要变量是入口;如果入口修正组无变化、速度对照组有变化,才需要继续检查速度改动的具体项。这个例子中的数字仅用于说明分组方法,不代表真实项目结果。
有些页面不适合做速度对照:登录后页面、个性化推荐页、依赖用户交互才加载内容的页面,它们的发现状态受会话和权限影响,速度改动难以隔离。对这类页面,应改用同权限、同交互路径的页面配对,或先排除在对照之外。另外,不同搜索引擎对同一批页面的抓取和发现行为可能不同,若站点同时面向多个搜索引擎,应分别核查各自的抓取日志和站点地图处理情况,不要用一套分组结论覆盖全部渠道。HTTPS不保证安全无漏洞或排名,也不能作为速度对照的分组依据。
最终判断标准不是“哪组速度更快”,而是“在入口条件一致的前提下,速度改动是否改变了发现状态”。如果入口条件无法拉齐,就先修入口;如果入口已一致,再用同模板配对做速度对照,并根据下一轮抓取结果决定是扩大实验组还是回到入口检查。