搜尋抓取

URL 參數與蜘蛛抓取:带問号的地址會不會被当成新頁面

带參數的 URL 在用戶眼里只是換了個视图,在搜尋蜘蛛眼里却可能是一串全新的地址。本文梳理排序、篩選、分頁、追踪四類參數對抓取路径的影响,以及用規范連結、内鏈入口和 Sitemap 把抓取收口到主干地址的具体做法,並给出可落地的检查顺序。

搜尋抓取

URL 參數與蜘蛛抓取:带問号的地址會不會被当成新頁面

同一個商品列表頁,加上排序、篩選、货幣、来源追踪參數之後,可能产生几十甚至上千個地址。這些地址對用戶来说只是換了種视图,對搜尋蜘蛛来说却可能是完全陌生的 URL。理解參數在抓取流程里的位置,能帮运营判断哪些地址值得被抓,哪些應该尽快收口成一條主干。

蜘蛛看到的 URL 和用戶看到的不是一回事

用戶在頁面上点篩選,地址栏變化、内容跟着更新,整個過程是连續的。蜘蛛拿到的只是一串字符串:如果两個地址在它看来不同,就會被分別排队。它不會先理解“這只是同一個列表換了排序”,而是先抓取,再通過頁面上的規范連結、站内連結结构和内容相似度去判断。

所以參數本身不是問题,問题在于參數制造了多少個入口,以及這些入口有没有被明确引導。

哪些參數容易把抓取路径摊開

  • 排序與视图:orderby、sort、view、layout 之類,通常只是同一批内容換顺序。
  • 篩選與分面:颜色、尺碼、價格区間,多選组合會成倍增長。
  • 分頁:page、p、start 本身需要被蜘蛛走到,但很容易和篩選參數叠加在一起。
  • 追踪與會话:utm_、ref、sid、sessionid,對頁面内容几乎没有影响。
  • 搜尋與随机:站内搜尋词、時間戳、随机數,往往是無限生成的地址。

前两類需要在“方便用戶操作”和“让蜘蛛有路可走”之間做取舍,後两類基本属于要清理或屏蔽的對象。

收口的三件事:規范連結、入口控制、清單控制

規范連結寫對

带參數地址的頁面上,規范連結應指向不带追踪參數、不带排序參數的主干版本,且要指向一個确實可訪問、内容一致的地址。如果規范連結本身也带參數,或者指向了另一個带參數的變体,判断就會變得模糊。

内鏈只指向主干

站内導航、面包屑、正文里的連結尽量只用干净地址。很多參數 URL 的入口並不是 Sitemap,而是站内某個篩選連結被蜘蛛顺着走下去,再一层层组合出新地址。把入口收紧,等于從源头减少發現量。

Sitemap 只放想被抓的版本

Sitemap 里出現的地址,本身就是一份“請来抓”的清單。把带排序、追踪參數的地址放進去,等于主動扩大了抓取范围。清單里保留主干頁面和必要的分頁頁即可。

用日誌和抓取統計驗證收口效果

  1. 拉一段服務器日誌,按 URL 路径統計带問号的請求占比,看哪些參數出現频率最高。
  2. 把高频參數按业務含义分類:影响内容的、只影响呈現的、完全無意义的。
  3. 检查這些參數地址返回的狀態碼和規范連結,確認没有指向自身或错誤目标。
  4. 在 robots.txt 里對確認無意义的參數做统一屏蔽,注意不要誤伤需要被抓的分頁。
  5. 改完之後隔一段時間再看日誌,確認带參數請求的比例是否下降。
參數不是一定要删掉,而是要有一個明确的“哪條是主干、哪些是分支”的答案,並且這個答案在連結、規范标簽和清單里保持一致。

抓取路径的形成是入口累加的结果。參數越多,蜘蛛分给主干頁面的時間就越少。把參數地址当成一次结构梳理来做,通常比事後反复提交新地址更省事。