分面導覽 SEO:電商篩選器產生的無限 URL 如何控管

分面導覽(faceted navigation)的顏色、尺寸、價格區間三種篩選器只要各有 5 個選項,組合數就是 5×5×5=125 個 URL,實務上一個中型電商類別頁常見組合數上看數萬——多數是近重複頁,會吃光 Googlebot 的抓取預算。 控管方法不是「全部 noindex」或「全部放行」,而是分三層:只放行有獨立搜尋量的組合、其餘 noindex 但仍可爬、無意義排列組合直接 robots.txt 擋掉。

為什麼分面導覽會失控?

篩選器是乘法問題,不是加法。一個類別頁若有:

理論組合數是 4×6×3×2=144 個 URL,全部指向同一批商品,內容重疊率往往超過 90%。多數平台(Shopify、自架 WooCommerce、Magento)預設每種篩選都會產生獨立可索引 URL,且排序方式不同的 URL 常被系統當成不同頁面——這是分面導覽 SEO 問題的根源。

實測案例:一個約 800 個 SKU 的服飾電商站,篩選器全開放索引後,Google Search Console「已探索、目前未編入索引」的頁數在三個月內衝到 1.2 萬筆,遠超過站內實際的 800 個商品頁與約 40 個類別頁——多出來的一萬多筆全是篩選器排列組合。

三層控管法:不是全放也不是全擋

把每種篩選器組合分到以下三層之一,而不是用同一套規則對待所有組合:

層級 判斷依據 處理方式
放行索引 該組合有獨立且有意義的搜尋量(如「紅色洋裝」「M 號外套」) 保留可索引、自我 canonical、加入 sitemap
noindex 但可爬 組合本身無搜尋量,但使用者會用(如「顏色+尺寸」雙篩選) noindex, follow,canonical 指向類別頁,不放入 sitemap
直接擋爬 排序、分頁參數、低價值多重篩選(如 3 種以上篩選疊加) robots.txt disallow 該參數模式,或用 rel=nofollow 減少內部連結導流

判斷「有無搜尋量」的具體做法:把該篩選詞組丟進關鍵字工具或 GSC 效能報表查詢,月搜尋量個位數且無點擊記錄的組合一律歸入第二或第三層。

參數規則的具體設定

Canonical 標籤:所有 noindex 層與擋爬層的頁面,<link rel="canonical"> 一律指向不帶篩選參數的類別頁本身,而非指向某個「主要」篩選組合——避免 canonical 鏈跳轉。

URL 參數處理三選項:

  1. Query string(?color=red&size=m):最常見,但預設會被視為獨立 URL,需靠 canonical/noindex 主動控管。
  2. 靜態路徑(/dresses/red/):適合搜尋量已驗證的組合,做成獨立可索引頁面,通常轉換率也較高。
  3. JavaScript 前端篩選不改網址:完全不產生新 URL,抓取預算問題消失,但放棄了長尾篩選詞的排名機會——這是三者間最保守的做法。

多數成熟電商站是三種混用:高搜尋量組合用靜態路徑(選項 2)承接流量,其餘用 query string 加 noindex(選項 1)避免浪費抓取預算,內部 UI 互動用 JS 微調(選項 3)不產生垃圾 URL。

上線前檢查清單

  1. 用 Screaming Frog 或類似工具爬一次類別頁,統計實際產生的參數化 URL 總數。
  2. 對照 GSC「頁面索引」報表,確認「已探索、目前未編入索引」的頁數是否異常偏高(超過站內實際商品數的 2 倍即為警訊)。
  3. 抽查 20 個高流量篩選組合,逐一確認 canonical 指向是否正確。
  4. 檢查 robots.txt 是否已擋掉排序參數(如 ?sort=)與分頁疊加篩選的組合。
  5. 確認 sitemap.xml 只列出「放行索引」層的 URL,不包含 noindex 或擋爬層。
  6. 每季重跑一次搜尋量查詢,把新出現搜尋需求的組合從 noindex 層升級為放行索引層。

常見問題(FAQ)

Q1:所有篩選器組合都該加 noindex 嗎? 不是。有獨立搜尋量的組合(如「紅色洋裝」這種使用者真的會搜尋的詞)應該保留索引並做成獨立頁面;只有無搜尋量的排列組合才該 noindex。全部 noindex 等於放棄了長尾篩選詞帶來的流量。

Q2:noindex 頁面還要不要讓 Googlebot 爬? 通常建議 noindex, follow(不擋爬),因為完全擋爬(robots.txt disallow)會讓 Google 連頁面上的 noindex 標籤都讀不到,導致舊有索引資料遲遲不消失。robots.txt 擋爬應保留給排序參數、分頁疊加篩選這類完全無 SEO 價值的組合。

Q3:canonical 標籤可以取代 noindex 嗎? 不能完全取代。Canonical 是「建議」,Google 有時仍會選擇自己認定的正典頁;noindex 是較強的指令。對確定不想被索引的組合,兩者併用(canonical 指向類別頁+加 noindex)比只用 canonical 更可靠。

Q4:抓取預算問題只有大型電商站才需要在意嗎? 中小型站也會受影響,只是影響幅度較小。若站內商品數在 500 以下但篩選器組合破萬,Googlebot 仍可能把大量抓取配額耗在無意義的排列組合上,導致新商品頁被發現與索引的速度變慢。


分面導覽的抓取預算問題,本質上和 AI 爬蟲的抓取範圍控管是同一類技術課題——放行有價值的內容、擋掉會稀釋訊號的雜訊,方法可以互相參照,細節見〈AI 爬蟲清單與管理〉。想確認你的頁面結構整體是否對 SEO 與 AI 引用都友善,可以用 GEO 就緒度檢測器 快速檢查。