作者:平白設計編輯部|發布與最後查證:2026-09-27|適用:台灣(中華民國)|技術資訊,不保證搜尋排名
網站內部搜尋產生的動態網址若被爬蟲大量抓取,會稀釋權重並消耗預算。透過 robots.txt 與 meta 標記雙重處理,再觀察 Search Console 變化。本文為技術檢查流程,不保證排名或收錄結果。
文章重點
- 站內搜尋頁被索引會稀釋整體權重與爬蟲預算
- 外部連結直接指向搜尋網址是最常見成因之一
- 用 robots.txt 阻擋爬取路徑可節省抓取資源
- 在搜尋樣板加上 noindex 標記防止頁面被收錄
為何搜尋結果頁不應被索引
搜尋引擎的設計目的是提供高品質且具備實質內容的頁面,而站內搜尋結果頁通常由使用者輸入關鍵字後動態產生,缺乏固定結構與獨立資訊價值。若這類帶有問號與參數的頁面被大量收錄,會分散爬蟲預算,讓真正重要的文章、產品頁或服務說明得不到足夠的抓取頻率,進而影響整體網站在搜尋引擎中的表現。
當爬蟲把有限的資源花在無限組合的搜尋參數上,例如不同關鍵字、排序方式或篩選條件所生成的網址,網站整體的索引效率就會明顯下降。這不僅影響新內容被發現的速度,也可能讓既有頁面的更新延遲被讀取。因此,將搜尋結果頁排除在索引之外,是技術優化中必須優先處理的基本動作,而非可有可無的選項。
在正式處理搜尋頁之前,建議先盤點網站基礎設定是否一致,避免其他動態資源也出現類似問題。例如確認 改版後 favicon 路徑怎麼抽樣,確保靜態資源沒有因為網址結構變動而被誤抓或產生重複索引,這些細節都會影響後續清理工作的準確度。

搜尋網址被索引的常見成因
最常見的狀況是外部網站直接連結到你的搜尋網址。例如有人在論壇討論時,複製了帶有問號與查詢參數的完整連結貼到文章中,或者社群平台上的分享按鈕自動帶出了當前搜尋狀態的網址。爬蟲順著這些外部連結進入後,便會嘗試抓取該頁面,若沒有適當阻擋機制,最終就會被納入索引庫中。
另一種情況是分頁參數未妥善處理。當使用者在搜尋結果中翻頁時,網址會不斷疊加 page 或 paged 參數,形成大量相似但網址不同的頁面。若沒有設定 canonical 標籤或在 robots.txt 中加入阻擋規則,每一頁都會被視為獨立網址送進索引庫,造成嚴重的重複內容問題,同時大幅消耗爬蟲預算。
此外,網站內部的導覽設計也可能意外暴露搜尋網址。例如某些側邊欄的熱門搜尋標籤、商品篩選功能直接生成帶有查詢字串的連結,卻沒有加上 nofollow 屬性,導致爬蟲沿著這些路徑一路抓取下去。在 WordPress 環境中,部分主題的即時搜尋功能也會透過 AJAX 產生動態網址,若未限制爬蟲存取範圍,同樣會被大量索引。
用 Search Console 找出問題網址
打開 Search Console 的「涵蓋範圍」報告,利用頂部的篩選功能找出包含問號或特定參數的網址。你可以直接在網址檢查工具中輸入 site:yourdomain.com/?s= 來快速定位搜尋結果頁是否已被索引。若使用 WooCommerce,還需額外檢查 ?orderby、?min_price 等參數組合,這些都是常見的爬蟲陷阱。
若發現大量搜尋網址出現在有效頁面清單中,代表問題已經存在一段時間,且爬蟲持續在浪費資源。此時應匯出這些網址,按參數類型分類,例如純關鍵字搜尋、分頁參數、篩選條件等,以便後續針對不同情境選擇最適合的阻擋或清理策略,而不是用單一規則試圖解決所有問題。
檢查過程中也可同步確認其他標籤是否正常運作,避免因動態網址影響社交分享或應用程式整合。例如參考 改版後 og:locale 怎麼抽樣,確保社交分享標記沒有因為搜尋參數而出錯,同時也能一併檢視 改版後 web manifest 怎麼抽樣 是否受到影響。

雙重處理:robots.txt 與 noindex
第一道防線是在 robots.txt 中使用 Disallow 指令阻擋爬蟲進入搜尋路徑,例如針對 WordPress 預設的 /?s= 參數或自訂的 /search/ 目錄進行封鎖。這樣做能有效節省爬蟲預算,但要注意一個關鍵限制:若該網址已被外部連結指向,搜尋引擎仍可能只索引網址本身而不抓取內容,導致它依然出現在搜尋結果中。
第二道防線是在搜尋結果頁的樣板中加入 noindex meta 標記。即使爬蟲因故進入該頁面,看到 noindex 後也不會將其納入索引。兩道防線搭配使用時需注意順序:若要讓 noindex 生效,就不能在 robots.txt 中完全阻擋該路徑,否則爬蟲無法讀取頁面原始碼中的標記。實務上可針對不同參數類型採取不同策略。
對於 WordPress 環境,部分外掛會自動產生搜尋頁快取或改變網址結構。例如某些 AJAX 搜尋外掛會將結果載入新的網址,卻沒有繼承主題的 noindex 設定。安裝任何搜尋相關外掛前,務必確認它是否會覆寫你設定的規則,或產生額外的動態參數。建議在測試環境中先用爬蟲模擬工具驗證,確認標記正確輸出後再部署到正式站台。
已索引舊網址的清理方式
對於已經被索引的搜尋網址,單純在 robots.txt 中阻擋爬取是不夠的,因為搜尋引擎無法再訪問該頁面來讀取 noindex 指令。你需要讓爬蟲至少能再造訪一次,才能接收到移除訊號。因此,清理已索引頁面的第一步是暫時放寬阻擋規則,或針對特定舊網址開放存取,直到搜尋引擎完成重新抓取為止。
可行的做法是對確定不再需要的舊搜尋網址回傳 410 Gone 狀態碼,明確告知搜尋引擎該資源已永久消失,這比 404 更能加速移除流程。或者,若某組搜尋結果對應到某個具體的分類頁,可以用 canonical 標籤將權重集中指向該分類頁。操作時需逐批處理,避免一次性改動過多網址導致伺服器負載異常。
清理完成後,持續在 Search Console 觀察涵蓋範圍報告的變化,特別注意「已排除」類別中是否出現「已遭『noindex』標記排除」或「已遭到 robots.txt 封鎖」的項目。索引移除需要時間,通常需要數週甚至數月才能完全反映,這是正常的技術流程。此為技術盤點與清理步驟,並非設定後就能立即見效的操作。
