先给有条件的结论:如果同一批页面里只有一部分被引擎发现,而你想知道差异来自哪里,最有效的做法不是继续等,而是把已发现和未发现的页面按“唯一可解释变量”拆成对照组。对照组成立的前提是:每个组只改变一个可核对的条件,例如内链深度、模板差异或内容生成方式;如果多个条件同时变化,结论就会失效。下面给出可直接执行的分组方法、一个会使结论失效的反例,以及下一步动作。
批量页面只被部分发现,通常指站点地图或内链提交后,一部分 URL 出现在引擎的抓取或索引数据中,另一部分长期没有动静。此时不要把“没收录”直接等同于“被拒绝”。合理原因至少有:页面还没被抓取、被抓取但未索引、被 robots.txt 或元标签限制、内容与其他页面高度重复、内链几乎没有指向它。这些原因对应不同的对照组设计。如果只盯收录结果,你会把抓取问题和索引问题混在一起,分组就没有意义。
一个可核对的起点:从站点地图、内链报告和服务器访问日志中各取一份列表,按 URL 对齐,标出“有抓取记录且有索引”“有抓取记录但无索引”“无抓取记录”三类。这个动作的结果决定下一步——只有“无抓取记录”的页面才适合用内链或站点地图做对照实验;已经有抓取记录的页面,重点应放在内容与模板对照上。
把未发现页面和已发现页面放在一起看,常见差异集中在以下几处。选其中一个作为分组依据,其余条件尽量保持一致:
假设你有 200 个页面,其中 60 个已被发现、140 个未发现。不要直接把这 200 个按“发现/未发现”分成两组就下结论。更稳妥的做法是先找出 40 个条件接近、只有内链深度不同的页面:20 个有至少两条正文内链,20 个只有站点地图入口。观察一段时间后,如果前者陆续出现抓取记录而后者仍无动静,内链深度就是一个值得继续验证的变量。这个例子是假设的比较方法,不是真实项目结果。
同一现象可能有多种解释,判断时要交叉核对:
这些证据要按组记录:每组页面在一段时间内的抓取次数、首次抓取时间、索引状态变化。若两个组在这些记录上呈现一致差异,变量才值得保留;若差异只出现在个别页面上,说明分组还不够干净,应回到上一步重新拆组。
假设你把页面按“是否有正文内链”分成两组,结果有内链组被发现的比例更高,于是准备给全站批量加内链。但如果未发现的那组同时使用了另一套模板,且该模板把主要内容放在客户端渲染之后,那么真正起作用的可能是渲染差异,而不是内链。此时内链对照组的结论就失效了。要避免这种情况,分组时必须先确认两组在模板、渲染方式、发布时间和内容类型上尽量一致;只要有一个关键条件不同,就不能把观察到的差异归给单一变量。不同搜索引擎对渲染和站点地图的支持情况须分别核查,不能把一家的观察直接套到另一家。
把候选变量收窄到一个,选出条件接近的两组页面,各 20 到 50 个,记录当前抓取与索引状态。然后只对其中一组做一项改动,例如为实验组补充两条来自相关内容的正文内链,对照组保持原样。改动后按固定周期复查两组的抓取记录和索引状态,并把结果写进同一张对照表。若实验组出现抓取记录而对照组没有,下一步才是把同一改动扩展到条件相同的页面;若两组都没有变化,应换一个变量重新分组,而不是继续加量。这个动作的价值在于:它把“为什么只有一部分被发现”从猜测变成可核对的分组比较,同时避免在原因未确认前对全站做不可逆的批量修改。