站內搜尋結果頁該不該被收錄:從盤點、擋抓取到挖出內容缺口的六步驟教學

站內搜尋結果頁多半不該被收錄。它的內容由訪客輸入的字詞即時拼成,數量沒有上限,重複度高。處理順序是:先找出網址格式,已被收錄的先加 noindex,等它們退出索引再考慮擋抓取,同時切斷入口,最後把搜尋紀錄拿來找內容缺口。

這篇是步驟教學,照順序做即可。我用一個示範情境說明:一家用 WordPress 架站的居家用品電商,商品約數百項,部落格有一百多篇文章。情境是虛構組合,不是真實客戶。

為什麼站內搜尋結果頁會變成問題?

每一次有人在你的網站搜尋框輸入字詞,系統就產生一個新網址。在 WordPress 上,網址會長得像在網域後面加上問號與 s 等於某個字詞。輸入什麼,就有什麼網址。

這些網址一旦被搜尋引擎找到,就可能被收錄。問題有三個。

  • 數量失控。訪客能輸入的字詞沒有上限,網址也就沒有上限,爬蟲的時間被花在這些頁面上。
  • 內容重複。搜尋「收納盒」和「收納 盒」得到幾乎一樣的結果,卻是兩個不同網址。
  • 對讀者沒有幫助。從搜尋引擎點進一個站內搜尋結果頁,看到的是另一份清單,讀者得再點一次才找得到答案。

Google 在建立實用內容的說明中強調,內容應該以幫助人為主要目的。自動拼出來的清單頁,很難符合這個方向。

步驟一:找出站內搜尋的網址格式

先確認你的網站搜尋結果頁長什麼樣子。方法很簡單:到自己網站的搜尋框輸入一個字,按下搜尋,看瀏覽器網址列。

常見的格式有兩種。一種是參數型,網址後面接問號與參數,例如 s、q、search、keyword。另一種是路徑型,網址裡有一段 search 目錄。有些網站兩種都有,例如佈景主題用一種,商品搜尋外掛用另一種。

示範情境的電商就是這樣。部落格搜尋用 WordPress 預設的參數,商品搜尋用購物外掛的另一個參數。兩種都要記下來,後面每一步都要用到。

步驟二:確認有多少搜尋頁已被收錄

知道格式後,接著查它們有沒有被收錄、數量多少。我會用兩個方法交叉確認。

  • 在 Search Console 的頁面索引報表裡,用網址篩選功能找含有搜尋參數或搜尋路徑的網址,看已建立索引與未建立索引各有多少。
  • 用網址審查工具抽查幾個搜尋頁,看 Google 是怎麼發現它的,參照網址是哪一頁。

第二點很重要。搜尋頁會被發現,一定有入口。可能是你的網站地圖誤收了它,可能是頁面上的熱門搜尋區塊連到它,也可能是外部網站連過來。找到入口,步驟四才知道要切哪裡。

頁面索引報表裡不同狀態的意思,可以參考頁面索引報表五種狀態的判斷表。

步驟三:決定處置方式,順序比方法重要

擋住搜尋頁的方法有幾種,每種作用不同。下表整理常見選項。三種擋頁方式的完整比較,可以看noindex、robots.txt 封鎖與密碼保護的比較。

方法作用適合的情況要小心的地方
noindex 標記允許抓取,但要求不要收錄已經有大量搜尋頁被收錄頁面必須能被抓取,標記才會被讀到
robots.txt 禁止抓取不讓爬蟲抓取該類網址搜尋頁從未被收錄,想預防已收錄的網址可能留在索引裡
兩者依序搭配先 noindex 清出索引,再擋抓取已收錄又想長期省下爬取資源要等索引數下降後才換步驟
改做正式分類頁把穩定的搜尋需求變成真正的頁面某些搜尋詞的結果固定且有價值要有獨立內容,不能只是清單換網址

最常見的錯誤,是一發現搜尋頁被收錄,就馬上在 robots.txt 裡擋掉。看起來最快,結果往往相反。爬蟲被擋在門外,讀不到頁面上的 noindex,已經收錄的網址就可能一直留著。

示範情境的做法是:兩種搜尋網址都先加上 noindex,觀察幾週,等報表裡的已索引數量明顯下降,再把參數寫進 robots.txt。在 WordPress 上,很多 SEO 外掛預設就會替搜尋頁加 noindex,先檢查設定,不要重複做。

步驟四:切斷讓爬蟲找到搜尋頁的入口

處置做完,還要把入口關掉,否則新的搜尋頁會不斷被發現。依步驟二找到的參照網址,逐一檢查:

  • 網站地圖:確認沒有收進任何搜尋頁網址。
  • 熱門搜尋與標籤雲:很多佈景主題會在側欄放「熱門搜尋」,每一個字都連到搜尋結果頁。改成連到對應的分類頁或文章。
  • 站內文章:撰稿人有時會在文中放「點這裡搜尋所有相關商品」的連結,改成連到分類頁。
  • 內部搜尋外掛的自動建議:有些外掛會把建議字詞做成可抓取的連結,檢查是否能關閉。

標籤頁和搜尋頁的問題很像,處理邏輯可以互相參照,詳見部落格標籤頁該不該給 Google 索引。

步驟五:防止垃圾字詞被灌進索引

有一種情況比單純的數量失控更麻煩。有人刻意在外部網站大量放置連到你站內搜尋的網址,搜尋字詞是廣告、賭博或其他垃圾內容。若這些頁面被收錄,搜尋結果上就會出現你的網域加上那些字詞的標題。

防範方式和前面的步驟一致:搜尋頁加 noindex,頁面標題不要直接帶入訪客輸入的字詞,或者帶入前先過濾。搜尋結果為零時,頁面不要顯示「搜尋某某字詞的結果」這類把字詞放大的標題。

若已經發生,先在頁面索引報表裡確認數量,用前面的順序處理。數量很大時,清理節奏可以參考索引膨脹的清理順序。

步驟六:把站內搜尋紀錄變成內容缺口清單

擋掉搜尋頁之後,別忘了搜尋框本身是一份寶藏。訪客在你的網站上輸入的字詞,就是他們想找卻不一定找得到的東西。

如果你使用 Google Analytics 4,可以在增強型評估裡開啟站內搜尋追蹤,系統會依網址中的搜尋參數記錄字詞。設定細節與支援的參數名稱,請查Google Analytics 說明中心。示範情境的商品搜尋用的是自訂參數,就要額外加進設定裡。

每個月匯出一次搜尋字詞,用試算表整理成下面幾欄:

欄位填寫方式後續動作
搜尋字詞合併同義與錯字合併後再看次數
是否有對應頁面有、部分、沒有沒有的列入選題池
搜尋後的行為點進結果、再搜尋一次、離開再搜尋或離開代表結果不夠好
建議處置新寫文章、補強現有頁、建分類頁排入下一季內容行事曆

示範情境整理後發現,訪客常搜尋某種尺寸的收納規格,網站卻沒有一頁講清楚。這就是一篇該寫的文章,也是一個該做成正式分類頁的候選。

處理完之後,怎麼確認真的有效?

六個步驟做完,不代表事情結束。我建議在接下來兩到三個月,每兩週看一次下面幾件事,記在同一張試算表裡。

  • 頁面索引報表中,含搜尋參數的已索引網址數量是否持續下降。
  • 被排除的原因是否顯示為 noindex,而不是其他意料之外的狀態。
  • 網站地圖與站內連結是否又出現新的搜尋頁網址,通常是改版或換佈景主題時被帶回來。
  • 重要的商品頁與文章,收錄狀態有沒有受到影響。

最後一點最容易被忽略。robots.txt 的規則寫得太寬,可能把正常頁面一起擋掉。例如規則只寫了 search 這個字,網址裡剛好有這個字的部落格文章也會被擋。每次修改規則後,用網址審查工具抽查幾個重要頁面,確認它們仍然可以被抓取。

等索引數量穩定下來,再切換到 robots.txt 擋抓取。切換後同樣觀察兩週,確認沒有誤傷。這段觀察期不要省,它是整個流程裡唯一能及早發現錯誤的時間點。

適用與不適用的情況

這套步驟適合大多數有站內搜尋功能的網站:電商、內容型網站、知識庫與企業官網。搜尋頁越多、網站越大,處理越急。

有幾種情況要另外判斷。一是你的網站沒有開放搜尋功能,或搜尋頁從未被收錄,那只要確認預設設定正確即可,不必大動。二是大型電商把篩選與搜尋混在一起,網址結構複雜,這時應該把搜尋頁與篩選頁一起規劃,不要只處理一半。三是某些搜尋結果頁已經帶來穩定的自然流量,直接 noindex 會失去這些流量,應該先把它們轉成正式頁面,再處理原本的搜尋頁。

技術設定的基本原則,可以對照 Google 的搜尋引擎最佳化入門指南。若需要有人協助盤點與排程,可以參考冠誠數位行銷的技術 SEO 顧問服務。

寫在最後的三件事

版權

本站每一個字、每一版面與案例紀錄,皆由冠誠數位行銷逐字撰寫、逐版校訂而成,原稿與時間戳紀錄完整保存。未經書面同意而複製、改寫、轉載或挪作他用者,本所將依著作權法追究,絕不寬貸。

隱私

您寫給我們的每一個字,只用來回覆您的委託,不轉售、不交換。全站以 HTTPS 加密傳輸,主機由 WP Engine 代管。

保密

委託期間與結束之後,您的企業名稱、數據與案情一律不對外揭露;正式合作前,雙方簽署保密協議。所有往來以文字全程紀錄,說過的話都有據可查。