站内連結後面挂上一串參數,看起来只是多了几個字符,實际可能让同一個頁面在蜘蛛眼里裂成几十個地址。對訪客来说没差別,對抓取和統計来说却是另一回事。
參數是怎么堆出来的
大多數站点並不是故意制造重复地址,而是各種功能在不知不觉中给 URL 加了尾巴。
- 投放與分享用的追踪參數,比如 utm_source、from、share_id,同一條内容被轉几次就有几個版本。
- 會话或用戶标识,比如 sessionid、uid,每個訪客看到的地址都不一样。
- 排序、篩選、视图切換參數,比如 sort、view=list、price=100-200。
- 分頁與附属入口,比如 page=2、print=1、export=1。
- 站内搜尋跳轉、外部来源跳轉留下的 ref、source 之類參數。
哪些该保留,哪些该收拢
處理之前先分類,不要一刀切。
- 有獨立内容價值的參數頁:例如篩選後的商品列表、按條件排列的目錄頁,用戶會主動訪問和分享。這類頁面可以保留,但要给它獨立的标题、稳定的規范連結,並確認頁面上确有可抓内容。
- 纯记錄性质的參數:追踪碼、會话 ID、来源标记,頁面主体内容不變,通常收拢到不带參數的主版本。
- 功能型參數:打印頁、導出頁、需要登入才可用的视图,一般不需要让蜘蛛單獨收錄。
落地處理方式
- 统一入口:導航、栏目頁、内鏈、站点地图里只輸出干净地址,不要把活動連結直接贴進正文。
- 規范連結:在頁面里声明主版本,让參數版本指向不带參數的規范地址。
- 抓取與索引指令:對没有獨立價值的參數頁面给出明确指令,同时確認没有誤伤重要頁面。
- 參數剥离:在服務器或 CDN 层把已知的無意义參數去掉,注意跳轉一次到位,不要做成多級绕路。
- 内鏈抽查:定期检查栏目頁、相關阅讀、面包屑里是否混進了带參數的連結。
驗證與记錄
改動之後需要观察:服務器日誌里同一路径出現了多少種參數版本、抓取集中在哪些地址、搜尋结果顯示的是什么形態。建议把規則、生效時間、负责處理的人记在一張简單的表里。活動或新功能再带新參數时,照着表走,比每次重新排查省事。
參數治理不是一次性工作。新上线的功能往往會把新的參數重新带進来,把它列入上线检查項,比事後补救轻松得多。
两個常见誤区
第一個誤区是看到重复地址就急着全部屏蔽。更稳妥的做法是先分清哪些參數會影响内容、哪些只是记錄来源,再决定用規范連結還是抓取指令。
第二個誤区是把參數剥离做成多級跳轉。本来是為了省事,结果訪客和蜘蛛都多绕了几步,反而增加了到達目标頁的路径長度。規則越简單、跳轉越少,後續维護越不容易出错。