给站内做一次連結盘点,常會發現同一批商品或文章對應着几十條甚至上百條带參數的 URL:?utm_source=xxx、?sort=price_desc、?filter=red。這些連結有的被分享出去,有的寫在广告素材里,還有的只是篩選器自動生成的。它們會不會被收錄、要不要被收錄,其實是两件需要分開判断的事。
先把带參連結分成几類
- 纯跟踪參數:utm_source、gclid、fbclid 之類,只用于归因,不改變頁面呈現的内容。
- 排序與视图參數:?sort=、?order=、?view=list,頁面主体集合相同,只是排列或样式不同。
- 篩選參數:?color=red&size=40,内容是對主集合的收窄,组合數量往往成倍增長。
- 分頁與游标參數:?page=2、?offset=60,属于同一列表的延續。
分類的意义在于:這四類連結對應的處理方式並不一样,混在一起谈“要不要屏蔽”,很容易做出互相矛盾的决定。
爬虫為什么容易顺着參數抓下去
蜘蛛發現 URL 的主要途径還是站内連結、sitemap 和外鏈。只要篩選器是可点击的 a 标簽而不是纯 JS 交互,爬虫就會顺着点進去;再加上篩選條件可以两两组合,URL 的數量會迅速膨胀。抓取本身不等于收錄,但大量低價值 URL 會占用抓取配額,也會让日誌和收錄报告更难讀。反過来,如果這些頁面确實承接了搜尋需求,一刀切屏蔽又會白白丢掉入口。
不同類別的處理思路
跟踪參數
最干净的做法是让站内所有連結都不带跟踪參數,只在广告、邮件、社媒等對外投放渠道上附加。頁面本身用 canonical 指向不带參的規范版本。如果某個带參地址已经积累了較多外鏈,可以保持可訪問,同时把它規范到主版本,而不是让它單獨參與索引。
排序與视图參數
這類地址通常没有獨立搜尋需求。方向是让頁面上的連結统一使用預設排序的 URL,排序狀態尽量通過前端交互實現;對已经存在的排序地址,canonical 指向預設版本即可。注意別让導航、面包屑和相關推荐里也挂着 ?sort,否則带參連結就成了站内主路径。
篩選參數
這一類需要逐個看。像“红色连衣裙”“两千元以内手机”這種有明确搜尋意图的组合,值得作為可索引的落地頁,配獨立标题和描述;而颜色乘尺碼乘品牌叠加出来的長尾组合,多數只是给用戶現场用的,可以让 canonical 指回上級分類頁,或用 noindex, follow 保留連結传递。做這類改動时,先小范围測試再推廣到全站。
分頁參數
分頁是列表内容的延續,一般不建议用 robots.txt 整体屏蔽,否則列表後半段的内容會長期缺少被發現的机會。更稳妥的是让分頁可訪問、可抓取,同时保證每一頁都有唯一的标题和自指的 canonical。
几個容易踩的坑
- canonical 自指:篩選頁的 canonical 寫成了自己,等于告诉搜尋引擎“這就是規范版本”,重复内容就此散開。
- sitemap 混入參數連結:把篩選、排序地址一起寫進 sitemap,等于主動把爬虫引向低價值頁面。
- 只改 canonical 不改内鏈:頁面上仍在大量輸出带參連結,規范信号會被内鏈不断抵消。
- 用屏蔽代替判断:把有搜尋需求的篩選頁也一起屏蔽,等于把一個流量入口關掉。
自查可以看這几處
- 在服務器日誌或抓取統計里筛出带問号的請求,看它們占總抓取請求的比例和變化趋势。
- 抽查若干篩選頁,確認 canonical 指向的是预期版本,而不是它自己。
- 在搜尋结果里看看带參頁面是否有排名和点击,有真實需求再考虑保留為獨立頁面。
- 調整之後持續观察一段時間,重点看抓取结构、收錄分布和篩選頁的自然流量有没有異常波動。
參數本身不是問题,問题是同一份内容被拆成了多少條可訪問地址,以及其中哪些真的值得出現在搜尋结果里。
没有一套參數規則能套用所有站点。先把連結按類型分好,再按“有没有獨立搜尋價值”逐類决定保留、归一還是不參與索引,比笼统地讨论“參數會不會影响收錄”要實用得多。