單一入口的問题
很多站点的 URL 發現路径其實只有一條:首頁 → 栏目頁 → 列表頁 → 詳情頁。看起来清晰,但只要中間任意一环出問题,比如栏目頁改版没保留舊連結、翻頁參數被挡、某個中間頁抓取失敗,後面整串 URL 就會集体失联。蜘蛛不會绕路,它只會沿着能走通的連結繼續往下。
還有一種常见情况:新内容只出現在首頁最新区块,几天後被顶下去就不再有任何入口。這條路径的生命周期太短,URL 一旦没在第一轮被抓走,後面再被發現的概率就很低。
三種發現来源各管什么
- 内鏈:负责持續、稳定地暴露 URL,是日常發現的主力,也是權重传递的通道。
- Sitemap:负责兜底和补充,把内鏈覆盖不到的 URL 交给蜘蛛,尤其是新發布、层級較深的頁面。
- 外鏈:负责把蜘蛛带到站内,通常指向首頁或少數重点頁,不要指望它来發現所有詳情頁。
三者不是替代關系。只靠 Sitemap,蜘蛛拿到了清單,但仍需要站内路径来確認頁面在结构中的位置;只靠内鏈,深层頁面可能永遠等不到机會。
冗余不等于堆連結
给同一批 URL 留多條路径,重点是路径的類型不同,而不是數量多。比較有效的冗余通常長這样:
- 栏目頁列表里出現一次;
- 正文里的相關阅讀、上下篇指向一次;
- 标簽頁或聚合頁再出現一次;
- Sitemap 中登记一次。
這几條路径從不同位置出發,其中一條断了,其他几條還能把蜘蛛送到目标頁。反過来,如果只是在頁脚堆几百個連結,本质仍是同一個入口,一旦頁脚被降權或改版,冗余就归零。
枢纽頁要定期体检
枢纽頁指的是那些被大量連結指向、同时向外輸出很多連結的頁面,例如分類首頁、专题頁、标簽聚合頁。它們决定了蜘蛛能走多宽。体检时重点看三点:
- 翻頁是否可抓取。用參數實現的翻頁如果被 robots.txt 挡掉,或者靠 JS 点击才加载,後續頁面的入口就断了。
- 連結是否直出。用 href 輸出真實 URL,不要只给 onclick,蜘蛛讀不出目标地址。
- 列表是否長期不變。固定不動的列表會反复暴露老 URL,新 URL 却始终排不上队。
怎么確認冗余真的生效
可以從日誌入手,挑几個目标 URL,看它們最近一次被抓取时,前一步請求来自哪個頁面。如果每次都只有同一個来源,說明其他路径蜘蛛並没有走通,需要检查那條路径上是否有断鏈、跳轉或屏蔽。
另一個動作是抽样检查内鏈是否可点击、可爬取:把某條内鏈在測試环境临时改错,看蜘蛛是否還能從別的入口到達该頁面。這只是驗證手段,正式环境不要故意留错誤連結让蜘蛛踩。
冗余的目标不是让蜘蛛多抓几次,而是让每條 URL 至少有一條稳定、可走通的到達路径。