搜尋抓取

孤儿頁没有内鏈入口时,蜘蛛還能從哪些路径抵達

站点里總有一些頁面能正常打開,却没有任何内鏈指向它。這類孤儿頁只能靠 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 更有效。