站点运营

站点运营:URL 參數與篩選排序自查,別让蜘蛛在無限组合里迷路

站内篩選、排序、會话和追踪參數會组合出大量 URL,容易让蜘蛛把抓取预算花在重复或低價值頁面上。本文從日誌观察、參數分類到 canonical、robots.txt 與 noindex 的取舍,梳理一套可落地的自查與收敛思路。

站点运营

站点运营:URL 參數與篩選排序自查,別让蜘蛛在無限组合里迷路

很多站点上线篩選和排序功能後,服務器日誌里會突然多出一大批带參數的 URL。它們指向的内容可能和主列表差不多,只是顺序、颜色、價格区間不同。蜘蛛如果把這些组合都当成獨立頁面抓取,抓取预算很快就會被消耗在低價值頁面上,真正需要更新的内容反而排到後面。

參數為什么容易失控

一個列表頁如果允许用戶同时選擇多個篩選條件、多種排序方式,再加上分頁,URL 组合數量會成倍增長。如果連結里還带着會话 ID 或追踪參數,同一個頁面還會被拆成更多版本。這些頁面在蜘蛛看来都是可訪問的 URL,但其中大部分對用戶和搜尋都没有額外價值。

先分清四類參數

  • 排序類:如按價格、销量、上架時間排序。預設排序通常應该保持無參數,其他排序只是同一批内容的不同排列。
  • 篩選類:如颜色、尺寸、品牌、價格区間。部分篩選组合可能有真實搜尋需求,但绝大多數组合是長尾中的長尾。
  • 追踪與會话類:utm、gclid、session id 等。它們不改變頁面内容,只是记錄来源或用戶狀態。
  • 站内搜尋類:搜尋结果頁往往能生成無限组合,内容也多為列表拼合,通常不适合被大量索引。

自查:從日誌和索引里找线索

  1. 抽取一段服務器日誌,統計带問号的 URL 占蜘蛛總抓取量的比例。如果長期偏高,說明參數頁面在持續消耗抓取资源。
  2. 在站長平台查看已收錄或已抓取的样本,观察參數頁是否在索引中大量出現,以及它們是否有獨立的标题和描述。
  3. 检查站内搜尋、排序和篩選連結的寫法,看看預設狀態是否也會生成參數。
  4. 用几组典型參數组合在浏览器中打開,確認它們返回的是正常内容還是空结果。空结果頁尤其容易被当成低质頁面。

收敛思路:保留、規范、屏蔽

保留少數有價值的组合

如果某些篩選组合确實有用戶搜尋,比如固定品牌加品類,可以為它們保留獨立 URL,並配上獨立的标题、描述和内容說明。但要有明确的取舍标准,不要因為技術上能生成就全部放開。

用 canonical 指向預設版本

對于排序、追踪參數這類不改變内容的 URL,可以在頁面 head 中用 rel=canonical 指向無參數的預設版本。canonical 是提示而不是强制指令,所以最好同时让内部連結尽量只出現干净 URL,减少蜘蛛接触到參數版本的机會。

robots.txt 與 noindex 不要混用

如果决定不让某個參數頁被索引,可以選擇 noindex,或者用 robots.txt 阻止抓取。但两者不要针對同一個 URL 同时使用:robots.txt 阻止抓取後,蜘蛛看不到頁面上的 noindex,反而可能因為外鏈存在而繼續保留 URL。站内搜尋结果頁通常更适合 noindex,而不是直接屏蔽抓取,因為屏蔽後你無法看到頁面上的其他指令。

參數頁面的處理目标不是让蜘蛛完全看不到,而是让有價值的頁面被優先發現,低價值组合不占用太多抓取額度。

從連結源头控制

參數問题往往不是搜尋引擎造成的,而是站内連結自己带出来的。可以在几個地方做調整:導航和面包屑只連結到干净的分類頁;篩選和排序操作尽量用表單或交互组件触發,而不是把可爬連結直接铺在 HTML 里;追踪參數通過脚本寫入或放在 Cookie 中,避免出現在蜘蛛可抓到的 href 里;分頁連結不要叠加過多篩選參數,必要时只保留核心路径。

持續观察,不要一次改完

參數收敛通常需要观察一段時間。每次調整後,留意日誌中參數 URL 的抓取比例、索引中參數頁的數量,以及核心頁面的抓取频次是否回升。不要一次性把所有參數都屏蔽,否則可能誤伤有真實搜尋需求的组合。把參數当成站点结构的一部分来管理,蜘蛛的抓取路径會清晰很多。