网站收录

列表页收录一大堆,详情页却不进索引:先核对内链导出与聚合范围

列表页和筛选页被大量收录,详情页却长期停在“已发现”或完全没进索引,是常见的结构性问题。本文按内链导出、聚合参数、详情页自身条件、日志抓取分配四个环节给出核对顺序,并说明处理的先后关系。

网站收录

列表页收录一大堆,详情页却不进索引:先核对内链导出与聚合范围

很多站点会遇到这样的情况:栏目列表页、分页、筛选结果页很快被收录,而真正想让人看到的详情页,要么停在“已发现,尚未编入索引”,要么连抓取记录都很少。这不是单一的收录问题,而是页面结构、内链分配和抓取资源三者叠加的结果。核对时不要只盯着详情页本身,先看它在整站链路里的位置。

先分清两类页面在抓取链路里的角色

列表页通常是入口型页面:更新频率高、外链和内链都多、URL 层级浅,还常常被导航和首页直接指向。详情页是终点型页面,主要靠列表页把链接传过来。如果列表页本身又有分页和筛选,蜘蛛很容易在中间层反复游走,走不到最后一层。

  • 列表页更新频繁,触发重抓的概率天然更高;
  • 分页、筛选组合会制造出大量近似 URL,抓取预算被摊薄;
  • 详情页如果只出现在靠后的分页里,被发现的时间会明显拉长。

核对一:内链是否真的导出到了详情页

先做最基础的一步:把列表页的 HTML 拉下来,搜详情页的 URL,看链接是否在源码里。常见的几个断点:

  1. 列表内容是 JS 渲染的,源码里只有骨架,抓到的 HTML 中没有详情页链接;
  2. 标题链接被写成按钮或图片,缺少可抓取的 a 标签;
  3. 链接带了 nofollow,或者指向了跳转中间页;
  4. 第一屏有链接,后续分页的链接没有进入源码。

如果详情页只能通过“更多”按钮或滚动加载出现,那么它被发现的前提就变得很脆弱。

核对二:筛选与聚合是否制造了无限列表

带排序、价格区间、标签组合的筛选页,往往能产出成千上万个 URL。这些页面内容相似、价值重复,却因为不断有新 URL 出现而持续吸引抓取。结果就是蜘蛛在筛选页里打转,详情页分到的次数变少。

处理顺序上,先收敛筛选参数,再谈详情页收录,比反过来做更省力。

收敛方式包括:只保留有搜索量的筛选组合、对无价值组合加 noindex 或 robots 限制、用可抓取的链接结构替代纯 JS 筛选。

核对三:详情页自身是否具备入库条件

  • 正文是否完整可达,有没有被登录、弹窗或懒加载挡住;
  • 同一模板下的详情页是否高度雷同,只有标题和一行参数不同;
  • canonical 是否指向本身,而不是误指向列表页或其他版本;
  • 返回的状态码是否稳定,有没有间歇性 5xx 或软 404。

如果详情页本身信息量不足,即便链接通畅、被抓取,也可能长期停在索引之外。

核对四:用日志看抓取次数怎么分配

从日志里分别统计列表页、分页、筛选页、详情页的抓取次数和状态码分布。重点看两件事:筛选类 URL 是否占了很大比例;详情页的抓取是否集中在少数几个页面上。前者说明资源被中间层吃掉,后者说明内链导出的分布不均。

按顺序处理,留出观察窗口

  1. 先收敛筛选与排序参数,减少低价值 URL 的产生;
  2. 确保详情页能从列表页第一屏或分页源码中直接点击到达;
  3. 站点地图只提交值得收录的详情页,不要把筛选页塞进去;
  4. 改完后观察一段时间,对比详情页的抓取次数与索引状态变化。

结构调整的效果通常需要一段抓取周期才能体现,中途频繁改动反而会干扰判断。把核对做在前面,比反复提交 URL 更有意义。