網站收錄

參數 URL 的收錄取舍:哪些该放行,哪些在抓取层就拦掉

參數 URL 容易在抓取和收錄之間被混為一谈。本文把常见參數按用途分類,给出放行、收敛和拦截的判断顺序,並說明 robots、noindex、canonical 與 sitemap 各自该管哪一段,方便站点运营定期抽查和調整。

網站收錄

參數 URL 的收錄取舍:哪些该放行,哪些在抓取层就拦掉

带參數的 URL 在站内很常见:篩選、排序、分頁、跟踪来源、會话标识,随手一点就可能生成一個新地址。讨论收錄时,容易把“蜘蛛抓不抓”和“索引收不收”混在一起,结果規則互相打架。更稳的做法是先按參數用途分類,再分別决定抓取层和索引层怎么處理。

抓取允许不等于希望被收錄

robots.txt 的 Disallow 管的是抓取,不是索引。一個 URL 被 Disallow 後,蜘蛛通常拿不到頁面内容,也就看不到頁面里的 noindex。反過来,noindex 需要蜘蛛至少抓取一次才能讀到。所以如果某個參數 URL 确定不想進索引,優先让它可抓取,再用 noindex;如果它只是數量太大、抓取成本高,才考虑在抓取层拦掉。

常见參數類型與處理方向

  • 篩選和排序參數:如果篩選结果能形成稳定、有搜尋需求的頁面,可以保留;如果只是同批商品的換序展示,通常用 canonical 指回主列表頁,或让内鏈只指向預設排序。
  • 跟踪參數:如来源、活動、渠道标识。這類參數不改變頁面内容,适合在規范 URL 中统一去掉,内鏈和 sitemap 都不要带。
  • 會话 ID 和临时令牌:會為同一頁面生成大量地址,通常直接在抓取层限制,同时保證正常用戶訪問不受影响。
  • 站内搜尋和结果頁:多數时候不该被索引,可以用 noindex,但不必急着 Disallow,除非蜘蛛已经大量抓取。
  • 分頁參數:要單獨判断,第 2 頁以後是否值得收錄,取决于内容是否獨立、是否有用戶直接訪問的需求。

用一套顺序做判断

  1. 這個參數 URL 是否有獨立且稳定的内容,而不是同一批内容的重新排列?
  2. 用戶會不會直接搜尋到它,或者從站外連結進入?
  3. 它會不會批量生成近似頁面,把抓取预算拉走?
  4. 站内有没有稳定的入口和連結指向它,還是只靠參數拼接?
  5. 半年後是否還有人维護,還是活動結束就變成死連結?

五個問题里,如果多數答案是否定的,就不必让它進入索引。判断完再選手段:抓取层拦截、頁面級 noindex、canonical 收敛,三種方式的目标不同,不要混着用。

索引层的几個配合点

canonical 是建议信号,不是强制指令。如果頁面内容确實不同,硬指 canonical 通常無效;如果内容相同,内鏈、sitemap 和 canonical 最好指向同一個規范 URL。sitemap 只放希望被收錄的規范地址,不要把带跟踪參數的版本也塞進去。内鏈也一样,預設排序、預設篩選的連結優先。

不要用 robots.txt 屏蔽一個 URL,又指望頁面里的 noindex 生效。蜘蛛拿不到頁面,就看不到 noindex。

定期抽查,別只看規則

規則定完之後,還要看實际结果。日誌里可以观察蜘蛛抓了哪些參數、返回什么狀態碼、同一類參數是否被反复抓取。索引抽查則看目标 URL 是否進入索引、展示的是哪個版本。把同一批 URL 隔一段時間再對一次,比一次性改完更可靠。

參數 URL 的處理很少一步到位。先分類,再按“抓取层管成本、索引层管质量”的思路小步調整,观察一段時間再收窄或放宽,通常比一次性全站規則更可控。