看到一堆薄頁被收錄,第一個念頭往往是把所有篩選頁設成 noindex,這恰好是最容易出錯的一步。篩選頁(faceted navigation)的處理順序應該是:先分類哪些值得留、哪些該擋,再動用 canonical、noindex、robots 這三個作用完全不同的工具。使用者按幾個篩選條件,網址就多出一組參數,一個有十幾個篩選項的分類,理論上能生出成千上萬種網址組合,這些頁面多半內容薄、彼此重複,卻大量被搜尋引擎抓取,稀釋整站評價、吃掉爬蟲預算。這篇談的就是怎麼分類,再用對的工具把這團亂收拾乾淨。

1. 為什麼篩選頁是電商最容易失控的技術問題

篩選頁的問題在於它「無中生有」。你原本規劃了幾百個分類頁,結果篩選功能一開,網址組合暴增到六位數,而這些頁面沒有一個是你刻意規劃、想拿去排名的。它們就這樣悄悄膨脹,等你發現時,索引裡已經塞滿一堆薄頁,真正重要的商品頁反而被擠到後面。我們診斷過的電商案例裡,這幾乎是最常見、也最容易被忽略的一類技術債。它不像明顯的錯誤那樣一眼看得出來,而是隨著商品數和篩選項增加,一點一點累積成大問題,等到流量遲遲上不去、重要頁遲遲不收錄,才回頭發現病根在這裡。

1.1 一個篩選功能,能生出多少種網址

假設一個分類有顏色、尺寸、價格區間、品牌四種篩選,每種各五個選項,光是單選組合就有幾十種,允許複選再排列組合,數量是好幾個數量級的成長。我們看過一個賣服飾的購物網站,實際規劃的分類不到三百個,搜尋引擎卻抓到超過二十萬個網址,多出來的全是篩選參數的排列。爬蟲的抓取資源是有限的,它忙著抓這些沒價值的組合,真正重要的商品頁反而被排到後面,遲遲不被收錄。這才是篩選頁真正的代價:不是多了垃圾頁,而是排擠了你想要的頁。

1.2 薄頁與重複,怎麼拖累整站評價

這些篩選頁大多有兩個毛病。一是薄:某個冷門條件組合底下只有一兩件商品,內容單薄。二是重複:「紅色 M 號」和「M 號 紅色」其實是同一批商品,只是參數順序不同,卻是兩個網址。搜尋引擎面對大量薄頁與近乎重複的頁面,會對整站的內容品質打折。換句話說,這些你根本不想要的頁面,反而在扯你想要的頁面後腿。整站的評價是連動的,薄頁多了,好頁也跟著受累。

還有第三個毛病比較隱蔽:空結果頁。當使用者把條件組得太細,例如某個品牌剛好沒有紅色的 XS 號,系統仍會生出一個網址,只是頁面上一件商品都沒有。這種頁面對客人是死路,對搜尋引擎更是明確的低品質訊號。我們盤點一個購物網站時,光是各種組合出來的零結果頁就佔了被抓取網址的一成多,這些頁面不但沒有任何價值,還持續消耗著爬蟲的資源。處理篩選頁時,零結果的情境一定要單獨列出來,讓它回傳適當的狀態、或直接擋在索引之外,不要放它們在索引裡累積。

1.3 先分清楚:哪些篩選頁值得留、哪些該擋

處理篩選頁的第一步不是急著設 noindex,而是分類。有些篩選組合其實有明確搜尋需求,例如「防水 運動耳機」這種屬性組合,值得整理成正式的著陸頁去承接;有些純粹是使用者站內操作的過程,例如「價格 500 到 800、依上架時間排序」,沒有人會去搜,就該擋在索引之外。分清楚這兩類,後面的處理才不會一刀切錯。我們在實務上看過太多案例,是連值得留的屬性頁都一起 noindex 掉,白白丟了有搜尋量的入口,那比不處理還可惜。

2. canonical、noindex、robots,各自的分工

處理篩選頁有三個常用工具,很多人搞混它們的作用,用錯反而製造新問題。我們先把它們的分工講清楚,後面實作才不會互相打架。

2.1 canonical 是「這頁的內容以哪個網址為準」

canonical 適合用在「內容實質相同、只是網址不同」的情況。像參數順序不同、或加了排序參數但商品清單其實一樣的頁面,我們會讓它們的 canonical 指向那個乾淨的、代表性的分類網址,把重複的權重集中回主網址。要注意 canonical 是給搜尋引擎的建議、不是強制指令,而且被指向的頁面內容要跟來源夠接近,否則搜尋引擎可能不理會你的指定,自己另選一個它認為更合適的標準頁。

2.2 noindex 是「這頁別放進搜尋結果」

noindex 適合用在「這頁確實存在、使用者也會用,但你不希望它出現在搜尋結果」的情況,例如多重篩選疊加出來的薄頁組合。設了 noindex,頁面還是能被抓取、爬蟲仍會順著上面的連結走,只是不收進索引。這跟 canonical 是兩回事:canonical 是合併權重、noindex 是排除收錄。同一頁不要既設 noindex 又用 canonical 指向別頁,這兩個訊號會互相打架,搜尋引擎收到矛盾指示,反而不知道該聽哪個。

實務上我們看過一個常見的誤解:以為設了 noindex,爬蟲就不會再來抓這頁,於是把它和 robots.txt 一起用,想省抓取資源。這個想法只對了一半。noindex 要發揮作用,前提是爬蟲讀得到它,所以這頁必須維持可被抓取;若你同時用 robots.txt 擋掉,爬蟲根本讀不到那行 noindex,頁面反而可能以一個沒有說明的樣子卡在索引裡。正確的順序是:想排除收錄就先讓它可抓、掛上 noindex,等它確實被移出索引、且沒有外部連結還指著它之後,再考慮要不要進一步擋抓取。把這個先後順序記牢,能避開大半的篩選頁處理意外。

2.3 robots.txt 擋抓取,但擋不掉已收錄的頁

robots.txt 是控制「要不要抓取」,不是控制「要不要收錄」。這是最常被誤用的一個。如果你用 robots.txt 擋掉某個參數路徑,爬蟲確實不會去抓,但它也因此讀不到那頁上的 noindex,萬一那頁已經因為外部連結被收錄,反而更難把它移出索引。所以想讓一頁「不被收錄」,正確做法是讓爬蟲抓得到、並在頁面上讀到 noindex,而不是用 robots.txt 一擋了事。這個因果關係搞反,問題會愈處理愈大。

2.4 三種工具的適用情境對照

工具 作用 適合情境 常見誤用
canonical 指定代表網址、合併權重 內容實質相同、參數或排序不同 指向內容差很多的頁面
noindex 排除於搜尋結果之外 使用者會用、但無搜尋價值的薄頁 同時又用 robots.txt 擋抓取
robots.txt 阻止抓取 純站內功能路徑、確定不需被讀到 用它處理已收錄頁面
整理成著陸頁 正式承接搜尋需求 有明確搜尋量的屬性組合 把所有組合都當著陸頁

3. 我們實際上怎麼替一個電商站設定篩選頁規則

工具講完,講實作。我們做這件事有一套固定流程,避免漏掉或誤傷正常頁面,也讓團隊後續能照著維護。

3.1 先用資料找出「有人搜、值得留」的組合

我們會從關鍵字工具與站內搜尋紀錄裡,撈出使用者真的會搜的屬性組合。有一次幫一個賣家電的購物網站盤點,發現「靜音 除濕機」「小坪數 除濕機」這類組合有穩定搜尋量,於是把它們從一般篩選頁升級成正式的著陸頁,給它們乾淨的網址、專屬的說明文字與可收錄的設定。這批頁面後來成了穩定的流量來源。剩下沒搜尋量的組合,才進入下一步的擋收錄處理。先有資料,再動手,才不會憑感覺把有價值的頁也擋掉。

3.2 值得留的升級成著陸頁,其餘設 noindex

經過篩選,值得留的那少數組合,我們會把它們當成正式頁面經營:乾淨語意化的網址、獨有的品類說明、正常收錄。其餘絕大多數的參數組合,統一設 noindex, follow,讓爬蟲能繼續順著連結走、但不收錄這些薄頁。這裡的 follow 很重要,它讓權重還能透過這些頁面往下傳,只是頁面本身不進索引。少了 follow,權重就在這些頁斷掉,反而浪費了內部連結的傳遞。

這裡常有人問:既然這些頁不收錄,乾脆把它們的連結也全部拿掉、不讓爬蟲進去不就好了?這麼做其實弊大於利。篩選頁上往往連著一批真正的商品頁,那些商品頁需要從各種入口被連到、被抓到,如果為了省事把整個篩選區塊封死,連帶也切斷了商品頁的部分內部連結,反而害到你真正想收錄的頁。所以我們的做法幾乎都是「頁面本身 noindex、但保留 follow」,讓爬蟲可以穿過這些薄頁、繼續走到底下的商品,權重與抓取路徑都不中斷,只是薄頁本身不進索引。這個分寸拿捏,是篩選頁處理得好不好的關鍵之一。

3.3 排序、分頁參數,交給 canonical 收斂

排序方式(價格高到低、上架時間)與純粹改變呈現順序的參數,商品清單其實一樣,這種我們一律用 canonical 指回不帶參數的乾淨版本。分頁的處理則要小心,第二頁、第三頁有各自不同的商品,不該全都 canonical 到第一頁,否則後面幾頁的商品會失去被收錄的機會。我們通常讓每個分頁自我指向 canonical,讓它們各自被看見。分頁和排序看起來像,處理邏輯卻相反,別混為一談。

3.4 設定完一定要用實際網址抽查驗證

規則寫完不代表就對。篩選頁的設定常常是靠樣板套出來的,一個樣板錯,可能影響成千上萬頁。我們會挑幾種代表性的網址實際打開來看:該 noindex 的是不是真的帶了 noindex、該 canonical 的是不是指到正確的乾淨版本、該升級的著陸頁是不是正常可收錄。也要檢查 robots.txt 有沒有不小心把要讀 noindex 的頁一起擋掉。這一步花不了多少時間,卻能避免上線後整批頁面設定失效、或誤把正常商品頁也擋掉的意外。根據我們的服務經驗,篩選頁出包十之八九不是規則寫錯,而是規則套用的範圍沒想清楚,抽查就是在補這個漏洞。

4. 內容策略:讓該留的篩選頁站得住腳

技術設定處理的是「別讓垃圾頁膨脹」,但那些你決定要留下、要拿去排名的篩選著陸頁,還得靠內容讓它們站得住腳,不然它們自己也會變成薄頁,白白升級一場。很多人把心力全放在 canonical 和 noindex 的設定上,卻忘了留下來的頁如果沒有內容撐著,一樣排不上去,技術與內容得兩邊一起顧。

4.1 著陸頁要有專屬說明,不能只是篩選結果

一個「防水 運動耳機」的著陸頁,如果只是把符合條件的商品排一排,內容一樣很薄。我們會替它補一段專屬說明:這個組合適合誰、挑選時該注意什麼、跟一般款差在哪。這段文字讓頁面有了自己的內容,也讓搜尋引擎明白這頁在講一個具體的主題,而不只是一次篩選操作的結果。有了專屬內容,它才配得上一個可收錄的正式頁面身分,也才有機會在品類詞上跟對手競爭。

這段專屬說明該寫多長、放在哪裡,也有講究。位置上,我們習慣把一小段導言放在商品清單上方,讓客人和爬蟲一進頁面就讀到這頁的主題;比較完整的選購說明則可以放在清單下方,避免把商品推得太遠。長度不必貪多,兩三百字能把「適合誰、怎麼挑、和鄰近品類差在哪」講清楚就夠了,重點是每一頁的說明都要針對自己的組合量身寫,而不是套同一段模板只換幾個詞。如果你發現幾個著陸頁的說明文字幾乎可以互換,那代表這些組合的區別本來就不夠大,與其硬撐成多頁,不如合併成一頁寫得更透。

4.2 用最少的頁面,涵蓋最多的搜尋需求

我們的原則是「寧可少而精,不要多而薄」。與其放任成千上萬個組合頁自由生成,不如挑出十幾、二十個真正有搜尋量的組合,把它們做成內容扎實的著陸頁,其餘全部擋在索引外。這樣爬蟲的資源集中在有價值的頁面上,整站的內容品質評價也不會被一堆薄頁拖累。頁面不是愈多愈好,能被收錄且有價值的頁面愈多才好。這個取捨想清楚,整站的結構會健康很多。對電商而言,這也是一種資源分配:與其把力氣攤平在無數薄頁上,不如集中在少數能真正帶來轉換的頁面,投報率差很多。

4.3 升級後持續追蹤,別升了就放著

把組合升級成著陸頁不是一勞永逸。我們會在上線後追蹤這些頁的收錄狀況與流量,確認搜尋引擎確實把它們當成獨立頁面收錄,也確認它們真的有帶進流量。如果某個組合升級後半年都沒起色,可能是當初判斷的搜尋量並不穩,那就考慮把它降回一般篩選頁、改設 noindex,把資源挪去更值得的組合。名單不是一次定死,而是隨資料滾動調整。

5. 常見問題

5.1 篩選頁到底該用 canonical 還是 noindex?

看這頁跟主頁面內容像不像。內容實質相同、只是參數不同,用 canonical 合併;內容不同但沒有搜尋價值、你只是不想收錄,用 noindex。兩者作用不同,別混用在同一頁。判斷時先問自己:這頁跟代表頁是不是同一批商品?是,就 canonical;不是但沒價值,就 noindex。

5.2 可以直接用 robots.txt 把所有帶參數的網址都擋掉嗎?

不建議。robots.txt 擋的是抓取,爬蟲讀不到頁面上的 noindex,已經收錄的薄頁反而更難移除。而且一擋,權重也無法透過那些頁面往下傳。想排除收錄,讓爬蟲抓得到、並在頁面上讀到 noindex 才對。robots.txt 比較適合用在你確定完全不需要被讀到的站內功能路徑。

5.3 把大量篩選頁設成 noindex,會傷到整站排名嗎?

正常情況下不會,反而多半是好事。把沒價值的薄頁移出索引,等於讓搜尋引擎把注意力集中在你真正想排名的頁面上。我們處理過的案例裡,收斂薄頁之後,重要頁面的表現通常是持平或往上,很少往下。前提是 noindex 設對位置、沒有誤傷有搜尋量的頁。如果擔心,可以分批處理,先處理最明顯的薄頁分類,觀察一兩週確認重要頁沒受影響,再擴大範圍,這樣即使判斷有誤也好回頭。

5.4 怎麼知道哪些篩選組合值得做成著陸頁?

用資料判斷。從關鍵字工具看該屬性組合有沒有穩定搜尋量、從站內搜尋紀錄看使用者實際會怎麼組合條件。有明確需求的才升級成著陸頁,沒有的就擋掉,別憑感覺全做或全不做。資料是唯一能讓你不吵架就做決定的依據。另外也可以觀察外部的搜尋建議與相關搜尋,看使用者習慣用什麼詞描述這個組合,這會影響著陸頁的命名與說明文字怎麼寫,讓它更貼近真實的搜尋語言。

5.5 分頁的第二頁、第三頁要 canonical 回第一頁嗎?

不要。每一頁的商品都不一樣,全指回第一頁會讓後面幾頁的商品失去被收錄的機會。我們的做法是讓每個分頁自我指向 canonical,各自被搜尋引擎看見。分頁和排序參數不同,後者商品清單一樣才適合收斂回乾淨版本。

5.6 2026 年處理 faceted navigation,最該先動手的是哪一步?

先盤點。在動任何 canonical 或 noindex 之前,先用爬蟲工具看清楚搜尋引擎到底抓到了多少參數網址、其中有多少是薄頁。把規模摸清楚,才知道問題有多大、該從哪個分類先收斂,盲目設定只會製造新的混亂。先看清楚,再動手,是整個流程最省事的起點。

5.7 商品條件組合出來卻沒有任何商品的空頁,要怎麼處理?

空結果頁不該放任它留在索引裡。理想的做法是在系統判斷某個組合沒有對應商品時,就不產生可被收錄的頁面,或讓它回傳適當的狀態、把使用者導回上一層還有商品的分類。若基於功能需要這頁仍得存在,至少要掛上 noindex,並在頁面上給客人一個明確的下一步,例如放寬條件或看相近的商品,而不是丟一個空白畫面。空頁對客人是死路,對搜尋引擎是低品質訊號,愈早攔下愈省事。

5.8 商品會上架下架,升級過的著陸頁之後商品變很少了怎麼辦?

這正是前面說升級後要持續追蹤的原因。著陸頁的價值建立在它底下有足夠且相關的商品,一旦某個組合的商品長期掉到只剩寥寥幾件,它就從原本的正式頁慢慢退化成薄頁。定期回看這些頁的商品數與流量,若發現某頁已經撐不起一個獨立主題,就該把它降回一般篩選頁、改設 noindex,或和相近的著陸頁合併。把它當成需要定期盤點的資產,而不是升級一次就永久有效的設定。