參數頁為什么容易失控
篩選、排序、價格区間、颜色尺碼、站内搜尋,這些功能對用戶有用,但它們生成的地址往往是“组合式”的。一個列表頁加上三個篩選维度,就可能衍生出成百上千條 URL;站内搜尋更夸張,任意關鍵詞都能拼出一條可以訪問的地址。如果不加约束,蜘蛛會在這些地址之間来回打轉,真正需要被抓取的詳情頁反而排不上队。
這里说的不是“參數頁一定有害”。有搜尋需求、内容确有差异的參數组合,本身可能是流量入口;問题出在没人管,让系統自動生成的所有组合都開放抓取。
第一步:把所有會产生參數的入口列出来
- 列表頁的篩選與排序,比如價格、销量、時間以及多维度交叉
- 站内搜尋结果頁,以及搜尋结果頁自己的分頁
- 分頁與篩選叠加产生的地址
- 會话與来源跟踪類參數,如 utm、sid、from 之類
- 前端路由或接口直接生成的可訪問地址
建议在服務器日誌里把带問号的地址單獨筛一遍,看實际被訪問的 URL 有多少、其中多少来自蜘蛛。這一步不需要額外工具,把日誌導出到表格里就能做。
第二步:给參數分三档處理
值得收錄的
有明确搜尋需求、且頁面内容确實不同于預設列表的參數组合,比如“城市加品類”的落地頁。這類地址應当有獨立的标题和描述,頁面里给出可讀的說明文字,而不是把商品換個顺序排一遍。canonical 指向自身,也可以在 sitemap 里挑一两條有代表性的提交。
可以抓取但不必收錄的
排序、單一篩選、站内搜尋结果頁,通常属于這一档。做法是在頁面头部加 noindex, follow,让蜘蛛能顺着連結繼續走,但不把這些地址当作内容收錄。站内搜尋頁尤其要留意:它是用戶的入口,不是内容頁面。
不建议抓取的
纯排序、會话參數、营销跟踪參數、無限组合的交叉篩選,可以用 robots.txt 屏蔽關键參數,或者在前端生成連結时干脆不輸出。需要提醒的是,robots.txt 寫错很容易誤伤正常地址,改動前先在小范围驗證,別一次性把整個目錄屏蔽掉。
第三步:控制内鏈入口
很多參數頁之所以被抓得凶,是因為站内到處都在鏈它們。導航、侧栏、底部推荐里如果挂着带參數的地址,蜘蛛每爬一轮都會重新走一遍。整理时可以從模板下手:哪些位置的連結是必要的,比如让用戶切換排序;哪些只是歷史上顺手加上去的。把不必要的那部分去掉,比事後屏蔽更省事。
第四步:定期看抓取比例
在日誌里按地址類型分類統計,看带參數的地址占了多少次抓取、返回的是正常頁面還是跳轉、平均响應時間如何。如果參數頁占了大头,而詳情頁、内容頁被抓得很少,說明前面的策略需要收紧。這個比例不用天天看,按月看一次趋势就够。
落地建议
- 先統計再動手,別凭印象屏蔽。
- 一次只改一類參數,观察两到四周的抓取變化。
- 改動留档,寫清改了什么、為什么改、预期是什么。
- 站内搜尋頁優先處理,它的地址增長最快。
參數頁管理没有一劳永逸的方案,站点功能一變,新的參數就會出現。把“新增功能时同步確認參數處理方式”寫進發布流程,比每隔半年集中清理一次要轻松得多。