跳到內容

Cloudflare WAF 擋到 Googlebot

整理日期:2026-03-27

有兩個頁面被 Googlebot 抓取時,沒有正常回應內容,而是被 Cloudflare 丟到 Managed Challenge。

Googlebot 不會像真人一樣解 challenge。對搜尋引擎來說,這種狀況就等於頁面可能抓不到。

這種問題不一定會每次都發生。Search Console 可能前面看起來正常,後面某幾次抓取又被擋住,所以它會比一般 404 或 500 更難判斷。

我會先拆成幾層:

  • 是網站本身回錯,還是 CDN / WAF 擋住。
  • 被擋的是一般使用者,還是搜尋引擎。
  • Cloudflare 規則裡有沒有用 ASN、UA、路徑或 bot 判斷。
  • 規則有沒有把 Googlebot / Bingbot 這類搜尋引擎排除。

如果只從 WordPress 後台看,通常看不出問題。這類狀況要去 Cloudflare 的安全事件紀錄看。

Cloudflare 自訂 WAF 裡有一條比較積極的爬蟲規則。

那條規則用 ASN 黑名單擋掉一批來源,但裡面也包含 Google 和 Microsoft / Bing 會用到的 ASN。

規則雖然有排除 cf.client.bot,但這不能當成 100% 保險。

Googlebot 現在使用 evergreen User-Agent,看起來會很像一般 Chrome。Cloudflare 不一定每次都能正確標成 cf.client.bot = true,所以還是可能命中規則。

把搜尋引擎相關 ASN 從 Cloudflare WAF 的 ASN 黑名單移掉。

這次主要移掉:

  • Google 相關 ASN
  • Microsoft / Bing 相關 ASN

規則改完後,Cloudflare 會即時生效,不需要等 WordPress 或快取更新。

不要看到 Search Console 有抓取問題,就先回 WordPress 裡改文章內容。

也不要只看前台能不能開。真人可以看到頁面,不代表 Googlebot 沒被 WAF 擋住。

更不要把所有可疑流量都用 ASN 一刀切。這種擋法很快,但也很容易誤傷搜尋引擎、外部監測服務或合法工具。

  • Search Console 顯示的錯誤時間。
  • Cloudflare 安全事件裡對應的時間。
  • 被擋的 URL。
  • 被擋的 IP、ASN、User-Agent。
  • 命中的 WAF 規則名稱。
  • 回應是 block、challenge,還是 managed challenge。

這類問題要把 Search Console 和 Cloudflare 事件對起來看,單看其中一邊很容易誤判。

  • Cloudflare
  • WAF
  • Googlebot
  • GSC
  • 索引
  • 搜尋引擎抓取