搜尋抓取

内鏈孤岛:站内没有入口的 URL,只靠 Sitemap 够不够

站内連結是蜘蛛走過的路,Sitemap 只是一份清單。当某個 URL 只出現在 Sitemap 里,導航、列表和正文推荐都找不到入口,它就成了内鏈孤岛。本文說明孤岛頁面的常见成因、蜘蛛對這類 URL 的處理差异,以及從抓取日誌自查和修复的顺序。

搜尋抓取

内鏈孤岛:站内没有入口的 URL,只靠 Sitemap 够不够

站内連結是蜘蛛走過的一條條路,Sitemap 更像一份清單。清單上寫了地址,不代表路上真的有人走。当某個 URL 只出現在 Sitemap 里,導航、列表頁、正文推荐里都找不到入口,它就變成了一條孤岛。

内鏈孤岛是怎么形成的

孤岛通常不是故意造出来的,多半是流程上的時間差或者结构上的遗漏:

  • 新頁面先上线,Sitemap 已经推送,但栏目頁和推荐位還没来得及挂連結。
  • 列表頁分頁太深,靠後的頁數几乎没有其他頁面指向。
  • 标簽、归档這類自動生成的聚合頁,只在後台存在,前台没有可達路径。
  • 舊頁面下线或改路径後,原本指向它的入口被删掉,舊地址還留在 Sitemap 中。
  • 内容靠 JS 异步加载,連結在初始 HTML 里看不见。

蜘蛛拿到孤岛 URL 之後會怎样

抓取和索引是两件事。孤岛 URL 通常不會完全不被抓,但抓取的稳定性和复查频率,往往會明顯弱于有内鏈支撑的頁面。

  • 發現渠道單一:Sitemap 是主要甚至唯一来源,這條通道一旦断掉,就没有替代路径。
  • 缺少連結上下文:没有锚文本、没有来源頁面,蜘蛛只能依赖 URL 本身和頁面内容做判断。
  • 抓取優先級偏低:在額度有限时,队列更倾向先處理被多個頁面指向的 URL。
  • 复查节奏變慢:頁面更新後缺少站内信号,變化被重新看到的時間會更長。
  • 站内關系传递不到:同類内容之間的連結關系無法流向它。

自查:從抓取日誌里找孤岛

日誌是最直接的證據,可以按下面几步做一次筛查:

  1. 看来源字段:如果某個 URL 的抓取记錄里,来源几乎都是 Sitemap 或者為空,站内頁面极少出現,就值得留意。
  2. 統計同一 URL 的抓取频次:把有内鏈支撑的頁面和疑似孤岛頁面分组對比,看复查間隔差了多少。
  3. 人工驗證可達性:從首頁出發,看能不能在两三次点击内走到這個 URL。
  4. 做一次站内爬取模拟:如果爬虫走遍全站都到不了它,實际抓取路径大概也差不多。

修复的顺序

優先接入有真實流量的入口,而不是随便找几個頁面挂上連結。

  1. 先在同類内容之間加相關推荐,方向自然,上下文也清楚。
  2. 把頁面挂進最近的栏目頁或列表頁,同时控制列表分頁的深度。
  3. 补上面包屑,让层級路径可讀。
  4. 标簽和归档頁按需保留,没有内容的就清理掉,別让它們制造新的孤岛。
  5. Sitemap 只放有實际入口的 URL,避免清單越来越長、真正可抓的却不多。
  6. 老頁面改路径时,舊地址做重定向,同时把站内指向舊地址的連結改成新地址。

不要為了消灭孤岛而乱加連結

内鏈不是越多越好。同一個頁面被几十個頁脚連結反复指向,反而會让蜘蛛在同一批 URL 上打轉,把額度消耗在重复路径上。判断标准很简單:這個連結對用戶有没有用。如果有用,它通常對蜘蛛也有用。

站内連結解决的是“怎么走到”,Sitemap 解决的是“有哪些”。两者重合的部分越扎實,URL 發現的通道就越稳。

一個可以固定下来的检查清單

  • 新頁面上线时,同步確認至少一條站内入口。
  • 定期比對 Sitemap 覆盖的 URL 與站内連結能到達的 URL,找出差集。
  • 關注抓取日誌中来源單一的那批 URL,作為重点观察對象。
  • 定期清理既没有内容、也没有入口的聚合頁。