蜘蛛抓取站点时,並不是只按 Sitemap 或内鏈逐一訪問。它经常會在同一内容上遇到多個 URL:带跟踪參數的分享連結、排序參數、篩選條件、會话 ID、大小寫差异、末尾斜杠等。對蜘蛛来说,這些地址可能被当作不同入口,導致同一頁面被重复抓取,也會占用抓取額度、稀释内鏈信号。
同一内容為什么會出現多個 URL
常见来源有三類:一是站内功能生成的參數,比如列表排序、篩選、分頁;二是外部連結附带的推廣參數,比如 utm 系列;三是技術寫法不统一,比如 http 與 https、带 www 與不带 www、URL 末尾斜杠、大小寫混用。蜘蛛從不同入口拿到這些地址後,會先放進待抓队列,再在後續處理中判断是否属于同一内容。
蜘蛛的去重大致看哪些信号
搜尋引擎對 URL 的規范化處理没有公開的统一流程,但通常會综合以下信号:
- URL 本身:參數顺序、是否包含跟踪碼、是否重复路径。
- 頁面里的 canonical:指向首選 URL,帮助蜘蛛理解哪一版是主版本。
- 重定向:301 把多個入口指向同一個最终地址,比 canonical 更直接。
- 内容相似度:正文、标题、主要结构高度一致时,被合並的概率更高。
- 内鏈與 Sitemap:站内一致指向的地址,更容易被视作首選。
這些信号不是二選一,而是叠加判断。如果站内自己都指向混乱,蜘蛛就更难确定哪個 URL 應该保留。
參數 URL 的常见處理方式
參數不一定都要屏蔽,有些篩選頁本身有搜尋價值,也能带来長尾流量。關键是区分“必要參數”和“装饰參數”。
- 跟踪參數:utm、ref、from 等不影响内容,可用 canonical 指向無參數版本。
- 排序參數:同一批内容換顺序,通常合並到預設排序頁。
- 篩選參數:如果篩選组合數量可控、内容有差异,可以保留;如果生成大量空白或重复结果,需要收敛。
- 會话與用戶 ID:不應出現在可抓取連結里,否則會制造無穷 URL。
- 分頁參數:保留正常分頁,但不要让分頁鏈無限延伸。
用内鏈與 Sitemap 明确首選地址
想让蜘蛛少走重复路径,站内連結最好保持同一套寫法。列表頁、詳情頁、面包屑、相關推荐都指向規范化後的 URL,而不是随机带參數。Sitemap 里也只放首選地址,不要把同一頁面的多個參數版本全部提交。
蜘蛛的抓取路径往往沿着站内連結展開。内鏈指向哪里,它就更可能把哪里当作主入口。
服務器與抓取节奏的配合
当大量重复 URL 同时進入抓取队列,服務器會承受額外請求。若响應變慢或频繁超时,蜘蛛可能降低訪問频率,连真正重要的新 URL 也會被拖延。因此,處理重复 URL 不只是“干净不干净”的問题,也影响抓取效率和服務器稳定。
自查清單
- 随机抽取詳情頁,检查是否存在带參數的可抓取連結。
- 確認 canonical 指向的 URL 可正常訪問,且與内鏈、Sitemap 一致。
- 检查 301 是否只跳一层,避免長重定向鏈。
- 观察日誌里同一内容是否被多個 URL 反复抓取。
- 對無搜尋價值的參數组合,考虑用 robots.txt 或 noindex 收敛,但要先评估影响。
URL 去重不是一次性工作。站点功能迭代、活動頁上线、第三方分享都會带来新參數。定期看日誌和抓取資料,比一次性配置更能發現重复入口。