蜘蛛在站点里走的路,並不總是我們设計的那條。常见情况有两種:一種是一個内容被多條 URL 到達,蜘蛛反复抓同一頁;另一種是重要頁面明明存在,却没有一條稳定的内鏈入口让蜘蛛走到。前者消耗抓取額度,後者让頁面長期等不到訪問。把這两類問题分開看,排查會清晰很多。
路径重复:蜘蛛為什么绕圈
路径重复的本质是同一份内容對應了多個可訪問 URL。蜘蛛不判断内容是否相同,它只看連結和响應。只要站内或外部有連結指向不同寫法,它就會分別抓取。
- 參數差异:排序、篩選、分頁參數生成大量可抓 URL,内容主体却相同。
- 大小寫與斜杠:/Page 與 /page、带尾斜杠與不带尾斜杠同时可訪問。
- 會话或跟踪參數:URL 里带 sid、ref 等參數,每次生成新地址。
- 打印頁、AMP 頁、移動頁:没有用 canonical 或 robots 明确指向主版本。
- 内鏈不统一:導航、正文、相關推荐里混用不同 URL 寫法。
處理思路不是把參數頁全部封死,而是先确定主版本,再让内鏈、Sitemap 和 canonical 指向同一個地址。對确實不需要抓取的參數组合,可以用 robots 或頁面級 noindex 控制,但要注意別誤伤主内容頁。
路径缺失:重要頁面為什么等不到蜘蛛
路径缺失通常不是服務器問题,而是入口問题。蜘蛛没有站内連結可跟,Sitemap 又没更新,頁面就只能在原地等待。常见原因包括:
- 新頁面只通過 JS 交互出現,HTML 里没有可抓連結。
- 詳情頁只從搜尋结果或篩選结果進入,缺少分類頁、专题頁的固定入口。
- 内鏈层級過深,中間頁没有繼續向下的連結。
- Sitemap 更新滞後,或分片文件没有被索引文件引用。
- 服務器對部分路径返回超时或 5xx,蜘蛛重试几次後降低訪問。
补入口比反复提交更有效。先给頁面找一條稳定路径:首頁或频道頁到列表頁,列表頁到詳情頁,詳情頁再通過相關推荐、面包屑回鏈。路径越稳定,蜘蛛越容易重复走到。
用日誌、内鏈、Sitemap 三方對照
排查时不要只看一個来源。日誌能看到蜘蛛實际走了哪些 URL,内鏈能看到站内可達路径,Sitemap 能看到你希望被抓的清單。三者對照,重复和缺失都會顯形。
- 從日誌中篩選蜘蛛訪問,按 URL 分组,看同一内容是否對應多個地址。
- 抽取一组重复 URL,检查它們的响應碼、canonical 和内鏈寫法是否一致。
- 把 Sitemap 中的 URL 與日誌訪問记錄做差集,找出長期未被抓取的頁面。
- 對未被抓取的頁面,检查站内是否有至少一條普通 HTML 連結指向它。
- 检查服務器對重点路径的响應時間,排除因超时導致的抓取减少。
如果日誌里某類參數 URL 占比很高,但带来的有效訪問很少,就值得收敛。反之,如果 Sitemap 里大量 URL 没有日誌记錄,優先补内鏈和检查服務器响應,而不是繼續加提交量。
路径重复和路径缺失往往同时存在:重复的 URL 占用了抓取時間,缺失入口的頁面又得不到机會。先统一 URL,再补關键入口,通常比單獨調參數更有效。
處理建议與观察窗口
具体動作可以分三步:第一,统一 URL 寫法,内鏈、Sitemap、canonical 指向同一版本;第二,為重要頁面补上固定内鏈入口,避免只靠 JS 或搜尋頁;第三,保持服務器稳定响應,减少超时和 5xx。做完後给蜘蛛一段观察時間,通常需要几周才能從日誌里看到路径變化。
不要期待立刻收錄或排名。更實际的目标是:重复抓取减少,重要頁面的訪問记錄逐渐出現,抓取路径與站内结构趋于一致。