搜索抓取

URL 层级与抓取路径:重要页面别埋在第五层目录

蜘蛛的抓取深度受预算和路径影响,目录层级与点击深度共同决定一个 URL 被发现的难易。本文说明怎么判断页面是否埋得太深,以及用扁平化路径、面包屑、HTML 站点地图和内链把重要页面提到更浅的位置。

搜索抓取

URL 层级与抓取路径:重要页面别埋在第五层目录

站点做大之后,常会遇到一种情况:首页和栏目页被抓得很勤,而某些真正有转化的页面,日志里好几个月不见蜘蛛。多数人第一反应是查 robots 或 Sitemap,其实更常见的原因是这些 URL 埋得太深——蜘蛛要走很多层链接才能到,或者目录层级本身就长。

抓取深度其实有两层含义

说页面“埋得深”,往往混了两件事:一是点击深度,从首页出发点几次链接能到这个 URL;二是目录层级,URL 路径里有几层斜杠。两者相关但不等同。点击深度决定蜘蛛能不能沿着链接走过来,目录层级更多影响路径的可读性和后期改版时的稳定性。优化时先看点击深度,因为它直接对应抓取路径。

深层页面为什么更难被抓

  • 抓取预算有限,蜘蛛倾向于优先重复访问已发现的浅层 URL;
  • 信任度随层级衰减,深层页面拿到的内链和入口都更少;
  • 路径越长,中间任一环节出问题(分页断链、参数写错、返回 404),后面的页面这一轮就抓不到;
  • 服务器响应变慢时,预算先被浅层页面吃掉,深层页面被排到队列后面。

几种把页面越埋越深的写法

列表页分页翻到十几页以后:新内容进不了前几页,蜘蛛也很少顺着第八、第九页继续往下走,后面的详情页只能等下一次。按年份、月份做归档目录:结构上清楚,抓取路径上却拉得很长,内容一多就形成一长串时间层级。

标签页和筛选页大量复制同一批链接,蜘蛛在这些页面之间绕圈,反而消耗掉通往详情页的次数。还有一种是把内容放在多级子目录里,首页到详情页要经过五六个中间页,任何一层改版都会影响整条通路。

把重要页面提到浅层的做法

  • URL 路径尽量控制在两三层以内,目录名保持语义化,方便判断页面归属;
  • 重要页面在首页或一级栏目直接给入口,而不是只出现在列表页末尾;
  • 用面包屑补齐上下级关系,让蜘蛛从详情页可以横向走到同层级页面;
  • HTML 站点地图放在全站页脚,一次点击就能拿到主要栏目和重点页面,作为兜底通路;
  • 正文内的相关阅读、推荐位把深层页面互连起来,减少对分页列表的依赖。

服务器稳定性在这里起什么作用

层级深意味着一次抓取要串起更多请求。如果中间页面响应时间不稳定或偶发 5xx,蜘蛛可能在半路停住,后面的 URL 这一轮就没了。相比之下,浅层页面即使偶发失败,下一轮也容易被重新抓到。

所以控制响应时间、错误率,和优化内链结构其实是一件事的两面,不必分开做。只调结构不改稳定性,深层页面的抓取频次提升往往有限。

怎么确认页面是不是埋太深

比较直接的办法是看日志:统计每个页面一个月内被蜘蛛抓取的次数,再对照它在站点里的点击深度。两条曲线通常大致平行——浅层页面抓得多,越深越少。如果某个重要页面的抓取次数明显低于同层级其他页面,先检查内链入口和 Sitemap 是否完整,再看它是不是只能从分页列表的靠后位置进入。

几个容易忽略的细节

  • 层级不是越平越好,扁平只是手段,让重要页面有一条短而稳定的通路才是目的;
  • 改版时如果调整了目录结构,记得用 301 把旧路径指到新路径,别直接删掉;
  • 新上线的重点页面,可以临时在首页或栏目页给它一个入口,等它被抓过几轮后再撤下。
页面被抓不到,先别急着怪蜘蛛;从首页数一数要走几步才到它,答案通常就在那几步里。