搜索抓取

孤儿页没有内链入口时,蜘蛛还能从哪些路径抵达

站点里总有一些页面能正常打开,却没有任何内链指向它。这类孤儿页只能靠 Sitemap、外链和日志排查来处理。本文整理孤儿页的常见来源,说明用 Sitemap 补救时需要满足的前提、外部链接能起到的发现作用,以及如何通过补一条合理内链,让蜘蛛对这类页面保持稳定访问。

搜索抓取

孤儿页没有内链入口时,蜘蛛还能从哪些路径抵达

站内所有页面都能从首页顺着链接点到,是一种理想状态。实际运营中,总会有一部分 URL 处于没人指向它的位置:它们能正常返回 200,内容也不差,但站内没有任何一个 a 标签指向它们。这类页面通常被称为孤儿页。

孤儿页是怎么出现的

大多数孤儿页不是故意做出来的,而是页面结构变动留下的痕迹:

  • 栏目改版,旧列表页被撤掉,但详情页还挂在服务器上;
  • 商品下架后从分类页移除,URL 本身没有做 410 或 301;
  • 由筛选条件、站内搜索生成的参数页,只在特定操作下才出现;
  • 活动页下线后入口被删,页面文件仍然存在;
  • 新站上线时先放了页面,导航和列表还没配好。

这些页面的共同点是:它们只能被外部线索发现,而无法被站内路径发现。蜘蛛沿链接爬行的习惯决定了,没有入口的 URL 不会在常规抓取中被自然遇到。

Sitemap 是主要补救手段,但有几个前提

Sitemap 的价值在于主动把 URL 递到蜘蛛面前,绕开必须有人链接它这一限制。不过它并不是万能的:

  1. 文件本身要能被抓到。放对路径、返回 200、内容类型正确,这些基础项缺一不可。
  2. Sitemap 里列出的应当是最终地址。放入会 301 的旧地址,蜘蛛要多跟一跳才拿到目标页,等于多花一次抓取。
  3. 只放需要被收录的页面。把大量低质参数页、重复页塞进去,会稀释整份文件的可信度。
  4. lastmod 要如实。频繁无意义地更新,会让这个字段失去参考价值。

另外,Sitemap 通常对已经建立抓取关系的站点更有效。一个刚上线、几乎没有外链的域名,即使提交了 Sitemap,被发现和抓取的节奏也会慢一些,这是正常现象。

外部链接仍然是有效的发现入口

对孤儿页来说,来自站外的链接往往是它第一次被蜘蛛看到的途径。这可能是一条友链、一篇引用了该页面的外部文章,或者社交平台上的一次分享。数量不需要多,一条稳定存在的链接就足以让 URL 进入抓取队列。

需要注意:外部链接解决的是被发现,不解决被持续重访。如果这个页面长期没有任何站内入口,它的抓取频率会明显低于同类页面。

服务器日志能告诉你蜘蛛到底走没走到

判断孤儿页是否被访问,最直接的办法是看日志。按状态码和 URL 路径筛选,观察这些页面的请求来自哪个 UA、频率如何、是否集中在某几天。常见的结果有两种:

  • 完全没有任何蜘蛛请求,说明连发现这一步都没完成;
  • 有零星请求但没有后续,通常是抓过一次之后缺乏内链支撑,优先级被排到后面。

日志还能帮你确认另一件事:页面是不是因为服务器不稳定而抓取失败。5xx 或连接超时较多时,蜘蛛的抓取节奏会整体放缓,孤儿页这种本来就排在队尾的 URL,受影响最明显。

更省事的做法是给它补一个入口

与其依赖外部线索,不如在站内结构上做一点调整:

  1. 确认页面还有没有保留价值。没有就 301 到最相关的页面,或者直接返回 410。
  2. 有价值但位置尴尬的页面,放进相关的聚合页、专题页或推荐模块。
  3. 列表分页、标签页这类天然聚合入口,保持可被爬取的普通链接形态,不要只靠 JS 渲染。
  4. 定期抽查内链,避免改版之后出现入口指向 404 的断链。

孤儿页的问题本质上不在页面本身,而在于它和站点结构脱了节。补上一条合理的内链,往往比反复提交 Sitemap 更有效。