robots.txt封鎖了,為什麼網頁還出現在Google?

你在robots.txt加了Disallow,Google搜尋卻仍出現那個網址。先別急著把規則寫得更嚴:robots.txt控制的是爬取,並不是把網址從搜尋結果中刪除。如果你的目的是「頁面可以公開瀏覽,但不要顯示在Google」,通常要處理的是noindex,而且Google必須能讀到它。

先分清:不讓爬取,還是不讓搜尋顯示?

依 Google的robots.txt說明,即使Google不能爬取網頁,仍可能從其他頁面的連結得知網址,再把網址顯示於搜尋結果。封鎖成功與搜尋結果仍有網址,可以同時發生。

noindex則告訴支援這項規則的搜尋引擎,不要將內容編入索引。對Google來說,它需要先爬取頁面,讀到HTML的meta標記或HTTP回應標頭,才能處理這個要求。若同一網址又被robots.txt封鎖,Google就可能看不到你加的noindex。

還有一個容易混淆的需求:如果頁面含有訂單、客戶資料或內部文件,你需要的是登入驗證與權限控制。robots.txt與noindex都不是保密機制;不要為了讓Google讀到noindex,就解除敏感內容的存取保護。

用公開篩選頁看兩種設定的差別

假設網站有一個任何人都能開啟的商品篩選頁,路徑是/filter/red/。它可以供訪客使用,但你不想讓這個特定頁面出現在Google。以下是設定示例,路徑應換成你自己的頁面;不是要求把全站篩選頁一律排除。

如果robots.txt寫著:

User-agent: *
Disallow: /filter/red/

同時又在該頁HTML的<head>加入:

<meta name="robots" content="noindex">

這兩項不是加倍保險。對遵守封鎖規則的Googlebot而言,它先被擋在頁面外,就無法讀到裡面的noindex。若你的目標確實是不顯示這個公開頁面,應保留noindex,並讓該網址可被爬取;調整前要核對所有匹配它的robots規則,避免只刪一行卻仍被其他規則封鎖,也不要解除不相關路徑的封鎖。

HTML頁面可採上面的meta標記;PDF等非HTML資源,也可由伺服器回應 X-Robots-Tag: noindex。這是 Google支援的兩種noindex方式。不要把Noindex:寫進robots.txt,Google不支援這種寫法。

改好設定後,怎麼知道Google真的處理了?

先檢查「設定有送出」,再檢查「Google已讀到」,最後才看搜尋結果是否改變。

  1. 用瀏覽器或HTTP工具查看目標網址的實際回應。meta應在HTML的head中;若用X-Robots-Tag,檢查的是HTTP標頭。外掛畫面勾選了noindex,不代表訪客與爬蟲收到的頁面一定如此。
  2. 有該網站Search Console權限時,使用網址檢查的即時測試,確認Google能否存取頁面,以及它收到的HTML或索引規則。這是在查當下可讀的設定,不代表Google索引已立即更新。
  3. 再看網址檢查中的索引資料與網頁索引報表,留意最近爬取時間和noindex排除狀態。Google需重新爬取才能處理新增規則,不能用自己刷新搜尋結果幾次,就判定設定無效或已永久移除。

若急需移除已顯示的網址,可查看 Google的移除資訊說明。暫時移除工具不是永久處理,仍需用適合該內容的方式控制索引或存取。敏感資料應先處理存取權限與內容暴露,再處理搜尋結果,不能只等noindex生效。

資料核對:2026年10月2日。範例說明設定邏輯,實際網址的爬取與索引狀態應以你的網站回應及Search Console資料為準。

參考資料

原文鏈接:https://wntheme.com/robots-txt-noindex-google-results/,轉載請註明出處。
0

評論0

顯示驗證碼
沒有帳號?註冊  忘記密碼?