搜尋抓取

URL 參數與蜘蛛抓取路径:篩選、排序、跟踪參數各有什么影响

蜘蛛會把带參數的 URL 当作新地址繼續抓取,但參數是否值得抓,取决于它有没有改變内容。本文梳理篩選、排序、跟踪、分頁等參數對抓取路径的影响,並给出内鏈、canonical、robots 和 Sitemap 的配合做法,帮助把抓取集中在有獨立價值的地址上。

搜尋抓取

URL 參數與蜘蛛抓取路径:篩選、排序、跟踪參數各有什么影响

蜘蛛在爬行时並不理解參數的含义,它只看到一個又一個 URL。带參數的地址會進入抓取队列,但是否值得抓取,取决于這個參數是否對應獨立内容。

蜘蛛怎么看待带參數的 URL

從爬虫视角,URL 只要不同,通常就算不同地址。它會按發現顺序去抓,抓完後判断内容是否重复。如果多個參數版本最终渲染出几乎一样的頁面,蜘蛛可能選一個作為代表,也可能分別收錄,造成重复。

關键在于參數有没有改變主体内容:

  • 篩選與排序參數:如 ?color=red、?sort=price。若列表结果确實不同,可能值得被抓;若只是顺序不同,價值很低。
  • 跟踪參數:如 utm_source、gclid。通常不改變内容,最好別让蜘蛛大量抓取。
  • 分頁參數:如 ?page=2。分頁是真實内容序列,蜘蛛需要能顺着走。
  • 會话或打印參數:如 sid、print=1。一般不應進入抓取路径。

抓取路径會被參數怎样带偏

内鏈和 Sitemap 是蜘蛛發現 URL 的主要入口。如果内鏈里夹杂跟踪參數,蜘蛛會把這些地址也当候選,抓取预算被分散到無差异頁面上。更常见的是篩選组合:一個列表頁有颜色、尺寸、排序多個參數,组合出的 URL 數量可能遠超實际内容量。

參數越多,蜘蛛越容易在“看起来不同、内容相同”的地址之間来回走,真正需要更新的頁面反而排到後面。

站内可以做的几件事

  1. 規范内鏈:站内連結尽量指向不带跟踪參數的干净 URL,篩選和排序若不需要收錄,用按钮或表單提交,而不是大量 a 标簽。
  2. 统一規范地址:對同一内容的不同參數版本,用 canonical 指向首選 URL。若服務器能判断,也可以 301 到規范地址。
  3. 谨慎使用 robots.txt:屏蔽跟踪參數可以节省抓取,但被屏蔽的 URL 不會再被抓取,也不會传递信号。若某些篩選頁希望被收錄,不要直接屏蔽,改用 canonical 或 noindex。
  4. Sitemap 只放規范 URL:提交带參數的地址會让蜘蛛優先抓這些版本,和 canonical 信号容易冲突。
  5. 處理大小寫、斜杠與參數顺序:/Page 和 /page、/a?b=1&c=2 和 /a?c=2&b=1 最好由服務器统一重定向,否則蜘蛛會当成多個地址。

分頁參數要單獨看

分頁不是重复内容,它是列表的连續部分。蜘蛛需要從第一頁走到後面,才能發現更多詳情頁。所以分頁連結應保持可抓,別用 rel=nofollow 全部切断,也別只靠 JavaScript 点击。若分頁 URL 參數過多,可保留 page 參數,去掉其他跟踪參數。

观察與調整

想確認參數是否影响抓取,可以看服務器日誌中带參數的請求比例、蜘蛛在哪些參數组合上停留、這些頁面返回的内容是否相似。若發現大量參數 URL 被抓但内容重复,優先收内鏈、加 canonical、统一重定向,而不是一味屏蔽。

简單说,蜘蛛對參數没有偏好,它跟着連結走。站内把有價值的 URL 路径做清晰,把無差异的參數地址收敛掉,抓取效率會更集中。