蜘蛛抓取一個頁面时,會把頁面上的連結抽出来放進待抓队列。導航、侧邊栏、頁脚這類在每個頁面上都會出現的連結,因此成了蜘蛛最熟悉的面孔——同一批 URL 會被反复提交。理解它們的作用和副作用,比單纯讨论“该不该放”更有意义。
全站連結:帮助發現,也带来重复
全站連結最大的價值是提供稳定入口。不管蜘蛛從哪個頁面進入,都能顺着導航走到主要栏目。對于新站或者结构較深的站点,這几乎是让栏目頁被尽快發現的唯一手段。
但重复提交也有代價。抓取队列是有限的,相同 URL 被反复寫入,虽然搜尋引擎一般會做去重處理,仍然會占用一部分調度资源。所以全站連結不是越多越好,而是要放在真正需要被频繁訪問的入口上。
導航决定点击深度
放在主導航里的栏目,一般一到两次点击就能到達;如果某個栏目只在父栏目的列表頁里出現,蜘蛛就得先抓父栏目、再抓列表頁、才能走到它。层級越深,被發現的時間通常越晚。
- 重要栏目尽量直接放進主導航,不要藏在三級菜單里
- 導航不要塞入大量不相關的分類,連結數量應控制在可讀范围内
- 導航如果只輸出图片或依赖 JS 展開,要確認蜘蛛能看到連結本身
頁脚連結的取舍
頁脚是很多站点用来堆連結的地方:關于我們、联系方式、友鏈、标簽云、全部分類。适量的頁脚連結确實能帮蜘蛛补全發現路径,但如果數量太多、锚文本又全是“点击這里”“了解更多”,效果會打折。
更實际的做法是:只保留真正需要全站曝光的頁面,兜底連結回到首頁和主要栏目即可。锚文本最好能清楚描述目标頁面的主题,蜘蛛也會據此判断連結的相關性。
面包屑:给路径一個回退方向
面包屑導航通常展示“首頁 > 栏目 > 詳情”的层級。它一方面帮用戶判断目前位置,另一方面也给蜘蛛一條從詳情頁回到列表頁、再回到首頁的路径。
没有面包屑的站点,蜘蛛從詳情頁出去後,往往只能依赖導航或正文里的連結跳轉,路径會變得碎片化。补上面包屑不保證收錄,但對理解站点层級是有帮助的。
侧邊栏與“热门文章”模块
侧邊栏一般是栏目級或全站級的連結聚合。热门文章、最新推荐這類模块内容會動態變化,蜘蛛每次抓到的連結可能都不一样。這本身没問题,但如果模块是靠异步請求渲染出来的,蜘蛛很可能根本看不到里面有哪些連結。
如果這些連結對發現新内容很重要,最好在服務端渲染时就輸出到 HTML 中,而不是等頁面加载完再插入。
一份可执行的检查清單
- 随便打開一個詳情頁,看導航、面包屑、頁脚里有没有回到栏目頁和首頁的入口
- 統計頁脚連結數量,超過几十個就精简一轮
- 检查锚文本是否统一、是否能說明目标頁面的内容
- 確認導航和侧邊栏的連結在 HTML 源碼中可见,而不是只出現在渲染後的頁面里
- 對照抓取日誌,看這些全站連結對應的 URL 被抓取的频率是否異常偏高或偏低
全站連結负责的是“被發現”,不负责“被收錄”。把入口整理清楚,剩下的還是交给内容本身。
内鏈结构不需要复杂,稳定、层級清楚、數量克制就够了。蜘蛛的行為會變,但顺着可预测的路径走,始终是它最容易完成抓取的方式。