搜尋抓取

面包屑與 HTML 站点地图:给蜘蛛准备的第二條通路

XML Sitemap 不是唯一的入口。本文讨论面包屑、HTML 站点地图、归档頁等辅助路径如何补位,让蜘蛛在主導航之外仍能發現並走到深层頁面,同时提醒這些入口自身的维護成本與常见失效原因。

搜尋抓取

面包屑與 HTML 站点地图:给蜘蛛准备的第二條通路

很多站点的抓取入口其實只有一條:首頁導航加一份 XML Sitemap。一旦某個栏目不在導航里,或者導航依赖 JS 渲染,深层頁面就只能等蜘蛛碰运气。给蜘蛛准备第二條通路,不需要多复杂,通常是几處结构化的 HTML 連結。

一、XML Sitemap 解决“知道有”,不解决“怎么走”

Sitemap 告诉蜘蛛某個 URL 存在,但它不提供頁面之間的關系。蜘蛛拿到一堆地址後,仍然要判断每個地址在站点里的位置、優先級和更新频率。如果這些地址在 HTML 里没有任何指向,抓取就變成一次性的,回訪和權重传递都很难持續。

更現實的問题是:Sitemap 里的地址往往遠多于内鏈能覆盖的數量。那些只存在于 Sitemap 的頁面,抓取频次通常明顯低于有内鏈的頁面。

二、面包屑:把层級關系寫進 HTML

面包屑是成本最低的补充入口。它不需要額外的管理成本,只要頁面模板里有一處,就能让每個詳情頁都有一條回到栏目頁和首頁的路径。

寫法上的几個注意点

  • 用普通 <a> 連結,不要只靠 JS 点击事件跳轉。
  • 层級要和實际目錄结构一致,避免出現“首頁 > 全部商品 > 首頁”這類循环。
  • 面包屑里的連結文本尽量使用栏目名,而不是“点击這里”。
  • 如果同时輸出结构化資料,注意 HTML 與 JSON-LD 里的层級要一致。

三、HTML 站点地图:给老頁面留一扇门

当頁面數量到了一定規模,XML Sitemap 往往只剩下一串地址,运营者自己都很难從里面看出结构。這时可以维護一個 HTML 版本的站点地图頁,按栏目把主要頁面列出来。

它不必覆盖全站。通常列出栏目頁、重要聚合頁和近期更新的内容,效果就已经足够。關键是這個頁面本身要有内鏈指向,否則它同样會變成孤岛。

四、归档頁與标簽頁:辅助入口也有邊界

按時間归档、按标簽聚合,本质上都是自動生成的列表頁,能為老内容提供持續的内鏈。但它們很容易失控:

  • 标簽随意组合,产生大量只有一两條内容的空列表頁。
  • 归档頁翻到很深的頁碼,内容價值递减。
  • 同一批内容被多個标簽頁反复聚合,形成大量近似頁面。

可行的做法是给這些列表頁设一個下限,比如内容少于一定數量就不生成頁面,或者用 noindex 處理,避免把抓取资源消耗在低價值列表上。

五、辅助入口同样要過服務器這關

無论入口设計得多好,最终還是要落在响應上。面包屑和站点地图頁如果响應時間偏長,或者在高频抓取时返回 5xx,蜘蛛會逐步降低對這部分路径的訪問。稳定返回 200、响應時間可控,是這些入口能長期生效的前提。

六、一次可执行的检查清單

  1. 在浏览器里禁用 JS,看面包屑和 HTML 站点地图中的連結是否仍然存在。
  2. 核對面包屑层級與目錄结构是否一致,有没有循环或断鏈。
  3. 抽查标簽頁和归档頁,統計空列表頁的數量。
  4. 用服務器日誌確認這些入口頁面是否真的被抓取過,频次是否合理。
  5. 检查入口頁的响應碼與响應時間,排除偶發的 5xx。
补充入口的價值在于降低對單一入口的依赖,而不是替代導航。它不會让頁面立刻被抓取,但能让發現路径更稳定一些。

落地时不必一次全上,先补面包屑,再整理一份 HTML 站点地图,通常就能看到入口结构的變化。