很多站点在栏目或列表頁上加入了篩選、排序、分頁、来源追踪等參數,本意是方便訪客,但如果缺少统一規則,同一個内容可能對應几十個甚至上百個地址。對搜尋引擎来说,這些地址如果都能被抓取,會分摊本就有限的抓取预算,也让日誌和收錄資料變得难以判断。
先分清哪些參數是必要的
不是所有參數都该被禁止。先按用途分類:
- 功能參數:分頁頁碼、搜尋關鍵詞、篩選條件、排序方式。這類通常會产生大量组合。
- 追踪參數:utm_source、ref、from 等,主要用于統計,不影响頁面内容。
- 會话參數:sessionid、sid 等,同一訪客不同時間訪問可能带不同值。
- 展示參數:视图切換、每頁條數、語言或地区切換。部分有獨立價值,部分只是同一内容的換装。
分類之後,再判断每個參數是否值得拥有獨立 URL。能通過頁面交互完成、又不产生獨立内容價值的,尽量不让它出現在可抓取連結里。
從日誌和連結里找出失控的地址
光凭感觉容易漏。可以结合几處資料:
- 抓取日誌中带參數的請求占比,看看蜘蛛是否把大量時間花在组合頁上。
- 站点地图和站内搜尋里是否混入了參數地址。
- 使用站長平台的重复頁面报告或索引覆盖資料,观察同一标题是否對應多個 URL。
- 检查列表頁、篩選按钮、分頁组件生成的連結,是否預設把全部參數都拼進 URL。
如果同一批商品或文章,通過不同參數组合能打開十几個几乎一样的頁面,而每個頁面又互相連結,就需要優先處理。
用 canonical 和連結規則收敛
對于必须保留但内容重复的頁面,可以在頁面头部声明規范地址,让搜尋引擎知道哪個是主版本。同时,站内連結尽量指向規范地址,而不是带一堆參數的版本。分頁、篩選的連結如果只是给訪客用,可以用 JavaScript 或表單提交,减少可抓取的 a 标簽數量;也可以考虑用 robots.txt 屏蔽特定參數,但要注意屏蔽後该地址仍可能被索引,需要配合 noindex 或 canonical。
處理时注意優先級
- 先處理數量大、重复度高的篩選和排序參數。
- 再處理追踪和會话參數,這些通常没有收錄價值。
- 分頁參數要谨慎,不要把正常翻頁也一刀切屏蔽,避免影响深层内容發現。
改完之後持續观察
參數規則不是一次配置就結束。栏目調整、新篩選功能上线、統計代碼更換,都可能重新引入參數地址。建议在日誌巡检中加入固定項:每周看一次带參數 URL 的抓取比例,每月核對一次站長平台的重复頁面數量。發現異常时,先確認是連結生成問题還是外部引用問题,再决定用規范标簽、robots 規則還是服務端重定向来處理。
把 URL 參數管理好,並不是為了追求一個好看的數字,而是让抓取請求尽量落在真正有内容的頁面上。對站点运营来说,這属于结构基础工作,做得越早,後面改版和内容扩展时越省事。