蜘蛛發現 URL,通常离不開两條路:一條是 Sitemap,告诉蜘蛛“這里有哪些頁面”;另一條是站内連結,带着蜘蛛“從目前頁面走到下一個頁面”。两條路不是替代關系,單獨依赖其中一條,都容易出現抓取慢、深頁不進队列、新頁面迟迟不被發現的情况。
Sitemap 给的是清單,不是抓取路径
Sitemap 的價值在于集中列出 URL,尤其是那些不容易通過内鏈到達的頁面。它不能决定蜘蛛先抓谁,也不能替代頁面之間的連結關系。蜘蛛讀到 Sitemap 後,仍然會结合抓取队列、服務器响應、頁面重要性和已有抓取记錄来安排。
比較适合放進 Sitemap 的,通常是新發布頁面、改版後換過 URL 的頁面、层級較深的頁面、孤立頁面,以及分頁列表中的後續頁。提交之後,lastmod 要尽量真實,不要每次生成都改時間,否則這個信号會變成噪音。
内鏈决定蜘蛛能不能走到、走多深
内鏈是蜘蛛實际爬行的路。首頁、栏目頁、列表頁、正文里的相關連結、面包屑,都會影响蜘蛛到達一個 URL 的难易程度。一個頁面如果從首頁出發要点击很多次才能到,被抓取的概率通常會低一些。
- 重要頁面尽量從首頁出發,经過两三次点击就能到達。
- 分頁列表保留“下一頁”連結,不要只靠 JavaScript 加载。
- 面包屑和相關推荐不要只装饰,要輸出可抓取的連結。
- 避免把大量内鏈塞在同一個区块,連結密度過高會稀释注意力。
两條路怎么配合
- 新頁面發布:先在相關栏目或正文里加上内鏈,再更新 Sitemap。這样蜘蛛既能看到入口,也能在清單里確認這個 URL。
- 深层頁或孤立頁:用 Sitemap 提交,同时從主题相近的頁面给出至少一個入口。只提交不連結,蜘蛛可能仍會忽略。
- 改版或迁移:舊 URL 做 301 到新 URL,内鏈替換到新地址,Sitemap 同步更新。不要让 Sitemap 里同时存在舊地址和新地址。
- 服務器稳定:Sitemap 文件和内鏈指向的頁面都要能稳定响應。如果服務器频繁超时,蜘蛛可能降低抓取频率,清單再全也难發挥作用。
常见誤区
- Sitemap 全量提交,但内鏈長期不更新,新頁面只能靠清單被發現。
- Sitemap 里包含 404、重定向或 noindex 頁面,浪費抓取請求。
- 内鏈只堆關鍵詞,不考虑用戶是否真的需要点過去。
- 服務器响應慢,却只盯着 Sitemap 格式检查,忽略抓取环境。
可以把 Sitemap 当成给蜘蛛的备查清單,把内鏈当成日常通行的路。清單可以补路,但不能代替路。
观察與調整
看抓取日誌时,可以分開观察 Sitemap 的抓取和頁面 URL 的抓取。如果 Sitemap 经常被抓,但里面的頁面很少被訪問,優先检查内鏈入口、robots 規則、服務器狀態和頁面是否返回正常狀態碼。反過来,如果頁面通過内鏈被抓得不错,Sitemap 可以更精简,只保留真正需要补充的 URL。
两條路配合好,核心不是提交更多 URL,而是让蜘蛛用更少的绕路,找到那些值得抓的頁面。