跳到內容

主機被 AI 爬蟲爬掛過,全擋掉之後換成沒人引用

整理日期:2026-07-05

之前主機被 AI 爬蟲爬到當機過,所以在 Cloudflare 把爬蟲擋得很兇。

後來想確認網站能不能被 ChatGPT 這類工具讀到。測出來的結果是:讀不到。

打開 Cloudflare 的 AI Crawl Control 看數據,24 小時內:

  • ClaudeBot 失敗 20 次
  • PerplexityBot 失敗 18 次
  • ChatGPT-User 失敗 14 次
  • GPTBot 失敗 13 次
  • Perplexity-User 失敗 12 次

其中 ChatGPT-User 的失敗比較刺眼。那不是機器人排程,是真的有人在 ChatGPT 裡問到相關問題,ChatGPT 試著來讀網站,然後被擋掉。

等於一邊想著要被 AI 引用,一邊把上門的引用擋在外面。

這件事最容易犯的錯,是把「AI 爬蟲」當成同一種東西。

實際上至少要分兩批看。

會把主機吃垮的,是訓練型爬蟲。GPTBot、ClaudeBot、Bytespider 這類,一來就是全站掃描,幾千個請求。小主機當機,通常是這批幹的。

帶來引用的,大多是輕量的。ChatGPT-User 是使用者發問才來抓一頁。OAI-SearchBot、PerplexityBot 是搜尋索引型,行為跟 Googlebot 同類。這批量小,不太可能弄掛主機。

所以「全擋」和「全開」都不對。要做的是分級。

先看數據,不先改設定。AI Crawl Control 會列出每隻爬蟲的請求數和被擋數。先知道誰有來、誰被擋,再決定動哪裡。

再檢查 WAF 自訂規則。這次的規則裡有一段,直接封鎖「驗證過的 AI 爬蟲」這個類別。意思是通過驗證的本尊,被擋得比假冒的還徹底。把這段拿掉之後,假冒爬蟲照樣會被其他條件擋住,安全性沒有變差。

然後逐隻放行輕量型。放行的是 ChatGPT-User、OAI-SearchBot、PerplexityBot、Perplexity-User 這批。

訓練型繼續擋。要開它們之前,得先把 HTML 邊緣快取和頻率限制做好,讓爬蟲打到的是 CDN 節點,不是主機本體。防護沒鋪好之前,不開。

改完直接開 ChatGPT,貼網站網址請它讀。

改之前它回無法存取。改完幾分鐘後再試,就讀得到了。

Cloudflare 的數據頁接下來幾天也看得到變化:放行那批的失敗數歸零,主機負載沒有增加。

  • 主機當機的時間點,和當時的存取紀錄(誰在爬)
  • Cloudflare 有沒有開「封鎖 AI 機器人」這類設定
  • WAF 自訂規則裡,有沒有用「bot」字串或機器人類別在擋
  • robots.txt 現在實際輸出什麼

這件事的根本問題不是技術,是這些設定平常沒有人固定看。

自己顧的話,照上面的順序檢查一次。要找人看的話,先把上面四項整理好再問,會快很多。