搜索抓取

首页到内页的距离:页面层级怎样影响蜘蛛的抓取顺序

蜘蛛从已知 URL 沿链接逐层抓取,页面距离入口的层数会直接影响被发现的先后与回访频率。本文说明抓取距离怎么算、层级过深会出现哪些现象,以及如何通过导航、正文内链、聚合页与 Sitemap 组合,把重要内容放进更短的路径里,并给出用日志验证的基本方法。

搜索抓取

首页到内页的距离:页面层级怎样影响蜘蛛的抓取顺序

蜘蛛从一个已知 URL 出发,沿着页面上的链接向外走。它先到哪个页面、多久回访一次,很大程度上取决于这个页面距离入口有多少层链接。这个层数通常被称为点击距离或抓取距离。它不是硬性的规则,但会实实在在影响页面被发现的先后顺序。

抓取距离是怎么算出来的

最简单的算法:从首页开始,点几下能到目标页面。首页算第 0 层,导航直接指向的栏目算第 1 层,栏目里的列表指向的文章算第 2 层,依次类推。蜘蛛没有站点全貌,它靠链接一层层爬,这个层数就是它理解站点结构的顺序。

实际计算时要注意几点:

  • 从已被抓取的任一入口算起都有效,不限于首页
  • JS 渲染后才出现的链接,对蜘蛛来说距离会变长
  • 同一个页面有多条路径时,取最短的那条

层级太深的常见表现

内容层级深,问题往往不是完全抓不到,而是被抓得太晚、太稀疏。

  • 新发布的页面几天甚至更久没有出现在日志里
  • 老内页更新后,蜘蛛迟迟不回访,看到的还是旧版本
  • 抓取请求大量落在中间层列表页,真正的内容页被挤到后面
  • 同类页面之间没有互链,只能靠列表页维持连接,一旦列表改版就断了路径
把抓取预算看成有限的访问次数,路径越绕,花在中间环节的次数就越多。

把重要页面的层级压下来

不需要把全站压平,但核心内容应该有几条短路径。

  • 主导航和二级分类保持稳定,不要频繁调整位置
  • 首页保留数量克制、指向明确的一级入口
  • 正文里的相关文章、上下篇、同主题推荐,是缩短距离最直接的手段
  • 面包屑既给向上路径,也可以横向指向同级分类

下拉菜单、悬浮导航、需要点击才展开的模块,如果链接只在交互后才写入 DOM,蜘蛛看到的距离会比用户感觉的长。

深层页面也不能只靠 Sitemap

Sitemap 能提供入口,但它更像一份清单,不负责说明页面之间的关系和重要性。深层页面的发现,通常要多种方式叠加:

  1. 在相关内容的正文里自然链出
  2. 由同主题的聚合页或标签页收拢
  3. 通过上下篇、系列文章形成链式路径
  4. Sitemap 兜底,避免遗漏

层级不是越平越好

把所有页面都塞到首页链接里,首页链接数量会迅速膨胀,单条链接能分到的关注度反而下降。适度的分层能让同主题页面彼此靠近,也让蜘蛛在抓一个栏目时顺便覆盖到相关内容。对多数站点来说,核心内容控制在三跳以内可达,是一个现实的目标。

怎么验证抓取距离

  • 按目录统计日志里蜘蛛的访问次数,看深层目录是否长期偏低
  • 记录新页面上线到第一次被抓的时间,对比不同层级
  • 检查列表页翻页、筛选参数是否制造了大量中间层 URL
  • 手动从首页出发点击,看看能不能走到最重要的那几个页面

抓取距离不是一次性配置,而是随栏目调整、模板改版不断变化的东西。发布新内容时顺手想一想:这个页面从哪个已有页面点得到,路径有多长,往往比事后反复提交更有效。