SEM.tw
AISO · · 6 分鐘閱讀 · 3 次閱讀

AI 爬蟲該不該擋?robots.txt 完整設定指南與決策框架

GPTBot、ClaudeBot、PerplexityBot 該放行還是封鎖?本文拆解訓練爬蟲與檢索爬蟲的關鍵差異,附上完整的 robots.txt 設定範本與決策判斷流程。

去年有個客戶找我們看網站,他很困惑:明明內容做得不錯,但在 ChatGPT 裡問相關問題,永遠不會提到他的品牌。競爭對手倒是常常出現。

翻了半天,問題在 robots.txt 第三行。他們的 IT 半年前在資安會議後決議「封鎖所有 AI 爬蟲」,一口氣把能想到的 AI User-Agent 全擋了。

這個決定本身沒有錯——擔心內容被拿去訓練是合理的。錯在他們沒有分清楚:擋掉「拿你內容去訓練模型」的爬蟲,和擋掉「幫使用者即時查資料」的爬蟲,是兩件完全不同的事。 他們一併擋掉了後者,等於主動退出了 AI 搜尋。

這篇文章要把這件事講清楚。


AI 爬蟲有哪幾種?差別在哪?

AI 爬蟲大致分成三類,混為一談是絕大多數設定錯誤的根源:

訓練型爬蟲負責蒐集資料,餵給模型訓練。它抓走的內容會變成模型權重的一部分,你得不到任何流量或引用。代表是 GPTBotClaudeBotanthropic-aiGoogle-ExtendedApplebot-ExtendedCCBot

檢索型爬蟲負責建立 AI 搜尋的索引。使用者問問題時,AI 從這個索引找出答案來源,並附上連結。擋掉它,你就不會出現在 AI 的回答裡。代表是 OAI-SearchBotPerplexityBot

即時取用代理是使用者當下觸發的。有人在 ChatGPT 貼了你的網址、或是 AI 決定要點開某個連結確認內容,這時發出的請求就屬於這類。代表是 ChatGPT-UserPerplexity-User。這類請求背後是一個真實的使用者,擋掉它就像擋掉一個正在讀你網站的人。

主要的爬蟲對照如下:

User-Agent 所屬 類型 擋掉的後果
GPTBot OpenAI 訓練 內容不進入模型訓練,不影響 ChatGPT 搜尋
OAI-SearchBot OpenAI 檢索 在 ChatGPT 搜尋中消失
ChatGPT-User OpenAI 即時取用 使用者貼你的網址時讀不到內容
ClaudeBot Anthropic 訓練 內容不進入訓練
anthropic-ai Anthropic 訓練 同上
Claude-Web Anthropic 即時取用 使用者在 Claude 中讀不到你的頁面
PerplexityBot Perplexity 檢索 在 Perplexity 回答中消失
Perplexity-User Perplexity 即時取用 使用者點擊時讀不到
Google-Extended Google 訓練 不影響一般搜尋排名,但退出 Gemini 訓練用途
Applebot-Extended Apple 訓練 退出 Apple Intelligence 訓練
Bytespider 字節跳動 訓練 內容不進入該體系模型
meta-externalagent Meta 訓練 內容不進入 Llama 訓練

最需要記住的一行:GPTBot 不會讓你從 ChatGPT 搜尋中消失,擋 OAI-SearchBot 才會。 這兩個名字長得像,功能天差地遠,而網路上大量「一鍵封鎖 AI」的範本會把兩個一起擋掉。

AI 爬蟲的三種類型對照:訓練型、檢索型與即時取用代理,各自的代表爬蟲與封鎖後果

該不該擋 AI 爬蟲?

判斷方式其實不難:先問「我的內容是拿來賣的,還是拿來建立信任的?」

如果你的內容本身就是產品——線上課程、付費報告、會員專屬資料庫、原創攝影或插畫作品集——那訓練型爬蟲對你只有損失沒有收益,擋掉合理。

如果你的內容是取得信任、帶進詢問的手段——教學文章、產品說明、企業部落格、服務介紹——那被 AI 讀懂、被推薦,本來就是目的。這種情況下,檢索型爬蟲一定要放行,訓練型爬蟲則見仁見智。

我個人對訓練型爬蟲的看法:對絕大多數行銷導向的網站來說,放行的實質風險很低。你的文章進不進得了模型訓練,影響的是模型知不知道「這個領域有這種說法」,而不是「這篇文章是誰寫的」。真正決定你會不會被推薦的,是檢索階段——AI 當下搜尋時找不找得到你、內容夠不夠清楚能被引用。這也是GEO 與 AISO 差別的核心:戰場在檢索,不在訓練。

還有兩種情況值得個別考慮。新聞與原創研究媒體擋訓練爬蟲是主流做法,因為內容本身有授權金的談判價值。電商網站則相反,商品頁被 AI 讀取通常直接有利,AI 推薦商品時要引用規格和價格,讀不到就不會推薦你。

robots.txt 該怎麼寫?

先講一個容易踩的坑:robots.txt 的規則不會累加。 爬蟲只會採用最符合自己的那一個 User-agent 區段,一旦某個爬蟲有專屬區段,User-agent: * 底下的規則對它就完全失效。

所以這樣寫是錯的:

一般規則寫在 User-agent: * 底下設了 Disallow: /admin,然後另外開一段 User-agent: GPTBot 只寫 Allow: /——結果 GPTBot 會忽略 Disallow: /admin,因為它有自己的區段。要擋的路徑必須在每個專屬區段裡重寫一次。

建議一:內容導向網站(放行檢索、放行訓練)

適合教學站、企業官網、部落格。這是我們自己採用的設定:所有 AI 爬蟲全部放行,User-agent: * 底下只擋站內搜尋結果頁那類沒有索引價值的路徑。理由前面說過了——我們的商業價值在被引用,不在藏內容。

建議二:折衷派(放行檢索、封鎖訓練)

適合媒體、原創研究、有內容授權談判空間的網站。做法是把 GPTBotClaudeBotanthropic-aiGoogle-ExtendedApplebot-ExtendedCCBotBytespider 設為 Disallow: /,同時把 OAI-SearchBotChatGPT-UserPerplexityBotPerplexity-UserClaude-Web 設為 Allow: /

這是目前國際大型媒體最常見的組態。要注意的是,這個組合對 Perplexity 沒有訓練/檢索的區分空間——PerplexityBot 同時承擔兩種角色,你只能全放或全擋。

建議三:全面封鎖

只有在內容確實是付費資產時才這樣做。要有心理準備:你會同時退出 AI 搜尋的所有版位,而這個流量來源在 2026 年還在成長。

不管選哪一種,有三件事一定要做:把 sitemap 位置寫進 robots.txt、確認 /llms.txt 沒有被擋、確認你要被讀取的內容路徑沒有被舊規則誤傷。robots.txt 的基本語法如果還不熟,可以先看robots.txt 設定教學

robots.txt 的三種 AI 爬蟲策略:全面放行、放行檢索封鎖訓練、全面封鎖,各自的適用對象

robots.txt 擋得住 AI 爬蟲嗎?

擋不住,至少不是技術上擋得住。robots.txt 是一份君子協定,沒有任何強制力——它只是禮貌地告訴爬蟲「請不要抓這裡」,遵不遵守全看對方。

主流 AI 公司(OpenAI、Anthropic、Google、Perplexity)目前都公開承諾遵守 robots.txt,實務上也確實照做。但小型爬蟲、資料仲介商、以及各種偽裝 User-Agent 的抓取工具,完全不受約束。

如果你的內容真的必須保護,robots.txt 只能算第一道門。真正有效的是登入牆、伺服器層的 User-Agent 封鎖與速率限制、以及 WAF 規則。反過來說,如果你的目的只是「表達不希望被拿去訓練的立場」,robots.txt 就夠了,那本來就是它的設計用途。

設定完怎麼驗證?

第一步,看檔案本身。 打開 你的網域/robots.txt,逐段檢查有沒有語法錯誤、有沒有互相矛盾的規則。特別確認每個專屬區段裡該擋的路徑都重寫了。

第二步,查伺服器日誌。 過濾 User-Agent 含 GPTBotOAI-SearchBotPerplexityBotClaudeBot 的請求,看兩件事:它們有沒有來、有沒有拿到 200。如果某個你放行的爬蟲回傳 403 或 429,那問題不在 robots.txt,在 CDN 或防火牆——Cloudflare 之類的服務有預設的 AI 爬蟲封鎖選項,很多人不知道自己開著。

實務上這是最常見的意外:robots.txt 寫得完美,CDN 後台的「阻擋 AI 機器人」開關卻是開的。設定完務必兩邊都確認。

第三步,實際問一次。 到 ChatGPT 和 Perplexity 問幾個你的內容應該能回答的問題,看會不會引用到你。這個測試不精確,但至少能確認你沒有整站消失。長期追蹤方法可以參考GEO 監測工具比較

結語

AI 爬蟲的設定,本質上是一個商業判斷題,不是技術題。技術部分二十分鐘就寫完了,難的是想清楚你的內容在商業模式裡扮演什麼角色。

如果只能記一件事,記這個:先確認檢索型爬蟲是放行的,再去煩惱訓練型要不要擋。 前者決定你存不存在於 AI 搜尋,後者只影響一件比較抽象、也比較難量化的事。順序搞反,就會變成文章開頭那個客戶——內容做得好好的,卻在 AI 世界裡隱形了半年。

設定好之後,下一步是讓 AI 讀到你的內容時能快速理解結構,這時候llms.txt 就派得上用場了。