微信客服
Telegram:guangsuan
电话联系:18928809533
发送邮件:xiuyuan2000@gmail.com

Cloudflare防火牆攔截谷歌爬蟲丨導致收錄失敗怎麼解決

本文作者:Don jiang

許多站長發現網站突然從Google搜尋結果中「消失」,背後很可能是Cloudflare防火牆誤攔截了Google爬蟲(Googlebot),導致搜尋引擎無法正常抓取頁面。

由於Cloudflare預設的防護規則較為嚴格,尤其是針對高頻訪問的爬蟲IP,稍有不慎就會觸發防火牆攔截,輕則延遲收錄,重則導致關鍵字排名斷崖式下跌。

本文將透過4個實操步驟,從排查攔截原因、調整防火牆基礎配置,到精準設置爬蟲白名單,手把手解決因Cloudflare規則導致的Google收錄問題。

Cloudflare防火牆攔截谷歌爬蟲

先確認是不是真的被攔截了

很多站長一發現網站未被Google收錄,就急著改配置,但其實Cloudflare可能並沒有攔截爬蟲,也可能是其他SEO問題(比如內容品質、robots.txt限制)。

先透過以下方法驗證攔截是否真實存在,避免盲目操作導致更複雜的故障。

Google Search Console抓取錯誤報告

  • 路徑:進入GSC後台 → 左側「索引」 → 「覆蓋範圍」 → 查看「已排除」頁面中的「抓取失敗」記錄。
  • 關鍵指標:若錯誤類型顯示「已拒絕」(403/5xx)或「已重新導向」,可能是防火牆攔截。

對比Cloudflare防火牆日誌

操作:登入Cloudflare → 進入「安全」 → 「事件」 → 篩選時間範圍,搜尋「User-Agent」包含「Googlebot」的請求。

重點看狀態:

  1. Block:明確攔截(需放行)
  2. Challenge:觸發驗證碼(可能影響爬蟲效率)
  3. JS Challenge:瀏覽器檢查(可能導致行動版爬蟲失敗)

使用Google官方測試工具

  1. 工具地址:https://search.google.com/search-console/inspect
  2. 輸入被攔截的頁面URL,點擊「測試實際網址」,觀察結果:
  3. 若顯示「無法抓取」(Crawl blocked),結合下方詳情中的HTTP回應碼(如403)確認。

區分「驗證碼」和「完全攔截」

驗證碼挑戰:爬蟲收到CAPTCHA頁面(返回200但內容為驗證碼),Google無法解析,導致收錄失敗。

完全攔截:直接返回403/5xx錯誤碼,爬蟲無法獲取任何頁面內容。

檢查Cloudflare防火牆基礎設置

Cloudflare的預設安全配置雖然保護了網站,但也可能「誤傷」Google爬蟲。

尤其是高頻抓取行為容易被判定為攻擊,導致爬蟲被限流甚至攔截。

以下4項基礎設置必須優先排查,簡單調整即可大幅降低誤封機率。

調整Security Level(安全等級)

  1. 問題:等級設為「高」或「極高」時,可能攔截30%以上的合法爬蟲請求。
  2. 操作:進入Cloudflare控制面板 → 「安全」 → 「設置」 → 將「安全級別」調至「中」或「低」。
  3. 注意:調低後需觀察攻擊日誌,可配合「自定義規則」精準攔截真實威脅。

關閉地區屏蔽中的誤封選項

  • 風險點:若開啟「區域封鎖」且屏蔽了北美、歐洲IP段,可能誤封Google爬蟲(Googlebot伺服器主要位於美國)。
  • 操作:進入「安全」 → 「WAF」 → 「區域」 → 檢查是否開啟地區封鎖,建議臨時關閉或排除ASN15169(Google專用網路)。

關閉Under Attack Mode(紅色盾牌圖標)

  • 影響:該模式強制所有訪問者先驗證身分(跳轉5秒頁面),但Google爬蟲無法透過此驗證,導致完全攔截。
  • 操作:在Cloudflare控制台首頁 → 找到「Under Attack Mode」開關 → 確認處於關閉狀態。

禁用對搜尋引擎的JS挑戰

致命錯誤:開啟「瀏覽器完整性檢查」時,部分爬蟲(尤其行動版Googlebot)因無法執行JS腳本而抓取失敗。

操作:進入「安全」 → 「設置」 → 找到「瀏覽器完整性檢查」 → 勾選「不對搜尋引擎生效」。

補充:可針對User-Agent包含Googlebot的請求單獨關閉JS挑戰。

必須設定的防火牆規則白名單

單純降低安全等級可能讓網站暴露風險,更穩妥的方案是透過防火牆規則「精準放行」Google爬蟲。

Cloudflare支援基於User-Agent、IP來源、ASN(自治系統號)等條件設定白名單。

User-Agent白名單(優先級最高)

規則作用:直接放行所有攜帶Googlebot標識的請求,繞過防火牆檢測。

操作路徑

Cloudflare控制台 → 「安全」 → 「WAF」 → 「規則」 → 創建新規則

  • 欄位User-Agent包含 → 輸入正規表示式:.*Googlebot.*
  • 操作:選擇「繞過」或「跳過」

注意:需同時匹配Googlebot-Image(圖片爬蟲)、Googlebot Smartphone(行動版)等變體。

ASN放行(防止偽造User-Agent)

必要性:惡意爬蟲可能偽造Googlebot的UA,需結合IP來源驗證。

操作:在防火牆規則中添加條件:

  • 欄位ASN等於 → 輸入15169(Google全球伺服器專用ASN編號)
  • 操作:設為「允許」

驗證工具:透過IPinfo查詢任意IP的ASN歸屬。

匯入Google官方IP段(終極防護)

數據源:使用Google官方發布的爬蟲IP列表:https://developers.google.com/search/apis/ipranges/googlebot.json

操作

  1. 下載JSON文件,提取所有IPv4/IPv6地址段
  2. 在Cloudflare防火牆規則中,設定「IP來源」匹配這些IP段,並設為「允許」

維護成本:需每季手動更新一次IP庫(Google會動態調整)。

為Googlebot設定速率限制例外

場景:若網站開啟了「速率限制」(Rate Limiting),可能誤判高頻抓取為攻擊。

操作

  1. 進入「安全」 → 「WAF」 → 「速率限制規則」 → 編輯現有規則
  2. 添加條件:IP來源Googlebot IP段內 → 選擇「不應用此規則」

避坑提示

  • 規則優先級:確保白名單規則排在攔截類規則上方(Cloudflare按從上到下順序執行)。
  • 避免過度放行:若規則中同時包含User-AgentASN條件,建議用「且」邏輯(而非「或」),防止被惡意請求利用。

驗證是否修復成功

調整防火牆規則後,千萬別急著等Google自動恢復!由於緩存延遲或規則衝突,可能出現「配置已改但爬蟲仍被攔截」的情況。

以下方法可快速驗證修復效果,避免因誤判而錯過最佳補救時機。

終端模擬Googlebot請求(最快驗證)

命令

curl -A "Googlebot/2.1" https://你的網站URL -I  

關鍵指標

返回HTTP/2 200:抓取正常

返回4035xx:攔截未解除

返回301/302:檢查是否因跳轉規則導致爬蟲循環

即時查看Cloudflare放行日誌

操作路徑:Cloudflare控制台 → 「安全」 → 「事件」 → 篩選條件:

  1. 動作Allow
  2. User-Agent:包含Googlebot
  3. ASN15169

成功標誌:5分鐘內出現多條Googlebot的Allow記錄

Google官方抓取測試工具

工具Google URL Inspection Tool:https://search.google.com/search-console/inspect

操作

輸入曾被攔截的URL → 點擊「測試實際網址」 → 查看「抓取狀態」

通過條件:顯示「已找到頁面」且無「被robots.txt屏蔽」警告

監測行動版爬蟲專用UA

特殊UAGooglebot Smartphone(行動版爬蟲更易觸發JS挑戰)

驗證方法

在Cloudflare防火牆日誌中搜尋該UA

或用命令:

curl -A "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.606.0 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://你的網站URL -I  

提交Sitemap後觀察索引覆蓋率

操作:在Google Search Console重新提交sitemap.xml

成功訊號

24小時內「已覆蓋」頁面數逐步上升

「排除」報告中相關錯誤減少

注意事項

  • 若使用CDN緩存,先清除Cloudflare緩存(路徑:「緩存」 → 「配置」 → 「清除所有緩存」)
  • Google爬蟲生效延遲:測試工具結果即時,但索引恢復需1-3天
  • 規則優先級衝突:檢查是否其他防火牆規則覆蓋了白名單設定

防火牆規則調整後,爬蟲訪問量通常在6小時內回升,若流量未反彈,90%的問題出在驗證環節的疏漏。善用curl和即時日誌,精準鎖定殘留攔截點!

滚动至顶部