先给结论:当同一批提交的页面只有一部分进入索引,不要按“提交顺序”或“页面新旧”直接分组,而要先按可抓取性和内容唯一性这两个变量划分对照组。具体做法是:从已发现和未发现的页面中,各取结构相似、模板相同、内容类型接近的页面,组成“仅在一个变量上有差异”的配对。例如,假设有200个页面通过同一份站点地图提交,其中40个被发现。此时不应把40个全部视为“成功样本”,而应检查这40个是否恰好集中在某个目录、某种模板或某类内容上。如果发现组全部来自一个目录,而未见组分散在多个目录,那么目录结构或内链密度就是比“提交方式”更值得优先验证的解释。
批量页面只有一部分被发现,最常见的矛盾在于:提交动作是统一的,但结果不统一。这时有两种合理解释。第一种解释是抓取层面的差异:部分页面虽然出现在站点地图或提交列表中,但实际抓取时被robots.txt、服务器响应、超时或内链路径阻断。第二种解释是索引层面的差异:页面已被抓取,但因内容重复、价值判断或规范化信号被排除在索引之外。这两类解释不能靠“提交了多少”来区分,只能靠抓取日志、页面响应和内容比对来区分。需要特别说明:robots.txt的抓取限制不等于可靠的索引移除;即使页面被禁止抓取,它仍可能因外部链接或历史信号出现在索引中。站点地图也不保证收录,它只是发现线索之一。
要让对照组有意义,至少固定两个变量:模板与目录位置、内容类型与唯一性。具体操作可以按以下顺序进行:
这个顺序的意义在于:每固定一个变量,就排除一类解释。如果模板和目录都相同,仅内容唯一性不同,那么抓取层面的解释就变弱,索引层面的解释变强。反过来,如果模板不同但内容类型相同,优先怀疑抓取路径或渲染方式,而不是内容质量判断。
要区分“抓取差异”和“索引差异”,可以查看三类证据。第一类是服务器日志中的抓取记录:未发现页面是否有过抓取请求,响应码是什么,是否被robots.txt拦截。如果日志显示未发现页面从未被请求,或者请求返回5xx、超时,那么更倾向抓取层面的解释。第二类是页面在浏览器中的实际渲染结果:如果未发现页面依赖客户端渲染,而抓取工具看到的是空壳,那么即使服务器返回200,也可能只抓到了无内容版本。第三类是内容比对结果:如果未发现页面与已发现页面正文高度相似,或者 canonical 指向了另一个页面,那么更倾向索引层面的解释。
这里有一个假设例子,仅用于说明比较方法:假设某站点有A、B两个目录,各100个页面,使用同一模板,同时提交。结果A目录有30个被发现,B目录有10个被发现。此时不能直接说A目录“质量更好”。应先检查两个目录的内链入口数量:如果A目录每个页面平均有5个内部链接指向,B目录平均只有1个,那么内链密度可能是差异来源。下一步动作可以是:从B目录中选10个未发现页面,各增加一条来自已发现页面的上下文链接,观察后续抓取日志中这些页面是否出现请求。如果出现请求但仍未进入索引,那么问题更可能在索引层面,而不是抓取层面。这个动作的结果会直接影响下一步:是继续优化内链,还是转向内容唯一性和规范化检查。
当旧内容、旧系统或旧合作关系需要退出时,批量页面中有一部分仍有保留价值。这时划分对照组的目的不是“让全部页面被收录”,而是确认哪些页面值得保留,哪些可以退出。具体判断依据可以按以下清单执行:
需要说明的是:HTTPS不保证安全无漏洞或排名,它只是传输层的一个条件。不同搜索引擎对站点地图、抓取限制和索引移除的支持情况须分别核查,不能假设一个平台的处理方式适用于另一个平台。当发现组和未发现组的差异集中在某个模板或目录时,下一步应优先在那个范围内做小规模对照,而不是全站重新提交。全站重新提交会掩盖变量,让后续判断更困难。
如果现在就要动手,可以按以下步骤划分对照组:
这个步骤的关键是:每次只改变一个变量,并且用抓取日志或页面响应作为下一步判断依据。如果改变后仍未发现,不要立即归因于“搜索引擎不收录”,而应检查是否还有其他变量未固定,例如页面是否依赖客户端渲染、是否被 robots.txt 拦截、是否与其他页面冲突。只有把变量逐个排除,才能知道是抓取问题还是索引问题,从而决定是继续优化页面,还是让旧内容有序退出。