搜索抓取

Sitemap 里有、内链里没有:孤岛页面靠什么被蜘蛛发现

有些页面在 Sitemap 里列着,站内却没有任何链接指向它。本文说明蜘蛛发现 URL 的几种入口、孤岛页面的常见成因,以及如何用服务器日志判断是否真的被抓取,并给出把这类页面接回站内主干的具体做法。

搜索抓取

Sitemap 里有、内链里没有:孤岛页面靠什么被蜘蛛发现

做站点运营的人常会遇到一种情况:某个页面在 Sitemap 里列着,URL 也能直接打开,但站内翻遍导航和列表都找不到通往它的链接。这类页面在抓取语境里常被称为「孤岛页面」。它能不能被蜘蛛发现,取决于蜘蛛是否把 Sitemap 当作可信的发现入口,以及这个地址本身是否值得再抓一次。

蜘蛛发现 URL 的主要入口

蜘蛛不是凭空知道地址的,它需要一个来源。常见的有几类:

  • 内链:从已抓取的页面顺着链接走到新页面,这是最稳定、也自带上下文的一条路径。
  • Sitemap:站点主动提交的 URL 清单,相当于一份目录,蜘蛛可以按表抓取。
  • 外链与主动提交:其他站点指向你的链接,以及在搜索平台手动提交的单个地址。
  • 跳转与规范化:重定向、canonical 指向的地址,也可能成为发现来源。

孤岛页面切断了第一条,只能依赖剩下的路径。Sitemap 是一条有效路径,但它只告诉蜘蛛「这里有个地址」,并不告诉蜘蛛「这个地址有多重要」。

孤岛页面是怎么产生的

多数孤岛不是有意做出来的,而是站点演进留下的结果:

  • 改版时删掉了旧入口,页面本身却还保留着;
  • CMS 自动生成的标签页、归档页、作者页,没有放进任何导航;
  • 批量生成的详情页先发了 Sitemap,内链还来不及补;
  • 只在筛选、排序等交互中出现,无法人工构造抓取路径的页面。

这类页面往往数量不少,积累起来会挤占抓取资源,在日志里也常表现为抓取很散、深度很浅。

Sitemap 能做什么,不能做什么

Sitemap 的价值在于补充发现:当内链路径太深或已经断开,它能把地址直接送到蜘蛛面前。维护好 lastmod 有助于蜘蛛判断某个地址是否需要重新抓取,但这并不等于收录承诺。如果 Sitemap 里长期堆着大量重复、参数化或低质量地址,蜘蛛对这个文件的信任度会下降,抓取节奏也可能趋于保守。

另一个常见误区是把 Sitemap 当成唯一的发现方式。只靠 Sitemap、不给内链的页面,即使被抓到,也很难从站内获得稳定的再抓取信号——页面更新了,却没有任何入口提醒蜘蛛回来看。

怎么确认孤岛页面是否被抓

  • 查服务器日志:搜对应的 URL 路径,确认是否有蜘蛛 UA 的请求,以及返回码是 200 还是 3xx、4xx。
  • 统计内链数:把站内链接抓取一遍,找出指向数为 0 的地址。
  • 区分「没抓」和「抓了没收录」:这是两个问题,前者要修发现路径,后者要看内容质量与规范化设置。

日志里也要留意抓取的时间分布。孤岛页面如果只在 Sitemap 更新后才偶尔被访问,说明抓取兴趣有限,此时补内链通常比反复提交更有效。

把孤岛接回主干的思路

  1. 在相关的内容页里补自然内链,锚文本写清楚目标页的主题,不要用「点击这里」。
  2. 让列表页、聚合页或分类页收录这些地址,给它们一个稳定的上一层。
  3. 检查面包屑和相关推荐位,确认从首页到目标页有一条走得通的路径。
  4. Sitemap 继续保留,并让其中的 lastmod 与页面真实更新时间保持一致。
  5. 如果页面确实没有保留价值,考虑合并、重定向或设置 noindex,而不是让它以孤岛形式占着抓取预算。

小结

URL 发现是一条链:入口、路径、抓取、再抓取。Sitemap 能补上入口,却补不上路径和上下文。想让孤岛页面被稳定抓取,最终还是要回到最基础的一件事——给它一条从站内走得通的链接。

孤岛页面不是抓不到,而是缺少被反复抓的理由。内链提供路径,Sitemap 提供目录,两者同时存在时,抓取才更稳定。