很多人把「封鎖 AI 爬蟲」當成一個開關,以為一行 Disallow: / 下去,就能既擋掉惱人的爬取、又不影響網站。實際上,去訓練模型的爬蟲和即時把你內容抓進 AI 答案裡引用的爬蟲,是兩種完全不同的機器人,走的也是兩條不同的 robots.txt 指令。你封掉前者,省的是頻寬、保的是內容版權;你封掉後者,丟掉的卻是品牌出現在 ChatGPT、Perplexity 答案裡的機會。
所以真正的問題從來不是「要不要擋 AI 爬蟲」,而是「擋哪一種、放哪一種」。robots.txt 封鎖 AI 爬蟲這件事,搞錯對象的代價,往往是默默把自己從 AI 搜尋裡刪掉,卻什麼也沒保護到。
這篇會先帶你把訓練爬蟲和引用爬蟲分清楚,再給你一套封鎖與允許的決策矩陣,最後附上可以直接複製貼進 robots.txt 的範本片段。先從這兩種 bot 為什麼不能用同一條規則處理講起。
為什麼 AI 爬蟲不是一種,而是兩種
判斷要不要封鎖之前,得先承認一件事——AI 爬蟲底下其實是兩個目的完全相反的族群,一個拿走你的內容、不還你任何流量,另一個拿走你的內容、卻把你的品牌名字放進答案裡還給使用者。
第一種是訓練爬蟲(training crawler)。它的工作是把你的網頁抓回去,當成大型語言模型的訓練養分。GPTBot、ClaudeBot、Google-Extended、CCBot 都屬於這一類。它們爬完就走,不會在任何地方標註你是來源,也不會替你帶來一個訪客。對你來說,這是純粹的單向付出。
第二種是即時引用爬蟲(retrieval / search crawler)。它是在使用者向 AI 提問的當下,即時去抓你的頁面,把內容片段融進答案、並附上你的來源連結。OAI-SearchBot、Claude-SearchBot、PerplexityBot 都是這一類。它們抓你的內容,是為了在答案裡引用你、把使用者導回你的網站。這是雙向的:你給內容,它給能見度。
兩種放在一起看就很清楚——這就像有人來你店裡,一種是把你的菜單偷拍回去自己開店,另一種是把你的招牌菜寫進美食推薦、還附上你的地址。你會想擋的是前者,但很多人一刀切下去,連後者一起趕了出去。
還有一個常被混淆的第三類,叫使用者觸發爬蟲(user-triggered fetch),例如 ChatGPT-User、Claude-User、Perplexity-User。它們不會主動大規模爬站,只在某個使用者明確要求 AI「去讀這個網址」時,才即時抓一次。流量極小,本質是替使用者代勞,多數情況沒有封鎖的理由。
封鎖 AI 爬蟲擋掉了什麼,又保不到什麼
封鎖的效果,取決於你封的是哪一類爬蟲,而且 robots.txt 本身的能耐,比多數人想像的小。
先講封訓練爬蟲。把 GPTBot、ClaudeBot 這類擋掉,理論上能讓你的內容不被拿去訓練新模型,也能省下一些被密集爬取的伺服器負擔。如果你的內容是付費牆後的獨家資料、或有明確版權顧慮,這個選擇是合理的。但要清楚一點:擋掉訓練爬蟲,對你「能不能被 AI 搜尋引用」幾乎沒有影響,因為負責引用的是另一批 bot。
再講封即時引用爬蟲。把 OAI-SearchBot、PerplexityBot 擋掉,等於主動告訴 ChatGPT 搜尋和 Perplexity:「不要在答案裡提到我。」這不會保護任何敏感資料,只會讓你的品牌從 AI 生成的答案裡消失。當愈來愈多人改用 AI 問問題,這形同把一個正在長大的流量來源,親手關在門外。
更現實的是 robots.txt 的執行力問題。它本質上是一張貼在門口的告示,不是一道鎖。守規矩的爬蟲(包括 OpenAI、Anthropic、Perplexity 的官方 bot)會讀它、會遵守;但有些爬蟲根本不理。最常被點名的是字節跳動的 Bytespider,它有忽略 robots.txt 的紀錄。換句話說,你真正想擋掉的那種暴力爬取,往往正是最不會聽話的那種;而願意聽話的,反而是會替你帶來引用流量的好爬蟲。
這裡也要順手澄清一個技術常識——robots.txt 管的是「爬取」,不是「索引」。它能叫爬蟲不要抓某個路徑,但如果別的網站連到那個網址,它仍可能被搜尋引擎知道存在。真要讓某頁不出現在搜尋結果,該用的是 noindex、密碼保護或移除頁面,而不是只靠 robots.txt 擋。同理,它也不是資安工具——robots.txt 是公開檔案,把後台或機密路徑寫進去,反而等於告訴有心人「我的金庫在這個門後面」。
該封鎖還是該允許?一張決策矩陣幫你定位
要不要封,取決於你網站的內容性質和經營目標。與其憑感覺,不如把幾個關鍵問題攤開來對照。
下面這張矩陣把「內容性質」和「對應策略」對起來,你可以對號入座:
| 你的情況 | 訓練爬蟲(GPTBot 等) | 引用爬蟲(OAI-SearchBot 等) | 一句話策略 |
|---|---|---|---|
| 內容型網站、部落格、想被 AI 引用帶流量 | 可放可擋(多數放) | 一定要允許 | 開門迎接引用,能見度優先 |
| 有版權顧慮、獨家報告、付費內容 | 封鎖 | 視情況允許 | 擋訓練、保留引用機會 |
| 純功能型網站、後台、會員系統 | 封鎖路徑 | 封鎖路徑 | 該擋的是路徑,不是整站 |
| 被暴力爬取、伺服器吃不消 | 封鎖兼用伺服器層防護 | 評估個別爬蟲負載 | robots.txt 之外還要架真的牆 |
從這張表會發現一個共識:對絕大多數想經營內容、希望被搜尋到的網站來說,最穩的姿態是「擋訓練、放引用」,而不是無差別全擋。這也是目前看得到的主流做法——封掉只拿不還的訓練爬蟲,同時把會替你帶來引用的搜尋爬蟲全部放行。
如果你還在猶豫,可以照三個問題依序問自己:
- 我的內容有沒有版權或獨家性,是「不希望被拿去訓練」的?沒有的話,連訓練爬蟲都不一定要擋,因為被訓練到反而可能強化品牌在 AI 裡的存在感。
- 我希不希望品牌出現在 ChatGPT、Perplexity 的答案裡?只要答案是「希望」,引用爬蟲就絕對不能擋。
- 我真正想解決的是「版權」還是「伺服器負載」?如果是負載,robots.txt 治標不治本,得搭配伺服器層或 CDN 層的速率限制與防護機制。
把這三題答完,你的 robots.txt 該怎麼寫,方向就出來了。
你需要認得的主要 AI 爬蟲名單
寫規則之前,得先叫得出每個爬蟲的全名、知道它屬於哪一類,否則很容易擋錯人或放錯人。以下是目前該認得的主要對象,按公司整理。
OpenAI(ChatGPT)
- GPTBot:訓練爬蟲,蒐集模型訓練資料,遵守 robots.txt。
- OAI-SearchBot:即時引用爬蟲,負責 ChatGPT 搜尋的索引;封了它就不會出現在 ChatGPT 搜尋結果。
- ChatGPT-User:使用者觸發爬蟲,只在使用者要求 ChatGPT 讀某網址時才抓。
Anthropic(Claude)
- ClaudeBot:訓練爬蟲,蒐集 Claude 的訓練資料,遵守 robots.txt。
- Claude-SearchBot:即時引用爬蟲,負責 Claude 搜尋的索引。
- Claude-User:使用者觸發爬蟲,使用者直接要求時才抓頁。
Anthropic 這三隻是完全獨立的,只擋 ClaudeBot 不會連帶擋掉 Claude-SearchBot 或 Claude-User,每一隻都要各自寫指令。另外要特別提醒:Claude-Web 和 anthropic-ai 是早年的舊名稱,現在已經停用,還在用這兩個字串擋 Anthropic,等於沒擋到現役的 ClaudeBot,這是 robots.txt 裡很常見的失效設定。
Perplexity
- PerplexityBot:負責索引、提供即時引用的爬蟲,遵守 robots.txt。
- Perplexity-User:使用者觸發抓取。
Google 與其他
- Google-Extended:控制內容是否被 Google 用於 Gemini 等生成式 AI 訓練;它不影響你在 Google 一般搜尋的收錄與排名,這兩件事是分開的。
- CCBot:Common Crawl 的爬蟲,抓回的開放資料集被多家 AI 拿去訓練。
- Bytespider:字節跳動用於訓練的爬蟲,有不遵守 robots.txt 的紀錄。
- Meta-ExternalAgent、FacebookBot:Meta 用於蒐集訓練資料的爬蟲。
把這份名單對照前面兩種分類,你會清楚看到一件事:要擋,擋的是 GPTBot、ClaudeBot、Google-Extended、CCBot、Bytespider 這些訓練類;要放,放的是 OAI-SearchBot、Claude-SearchBot、PerplexityBot 這些引用類。名字認對了,下一步寫範本就只是填空。
可以直接複製的 robots.txt 範本片段
知道要擋誰、放誰之後,剩下就是把規則寫進網站根目錄的 robots.txt。下面三套範本對應三種常見立場,挑一套貼上、再依自己網站微調即可。記得 robots.txt 一定要放在根目錄,也就是 你的網域.com/robots.txt,子網域要各自設定。
範本一:擋訓練、放引用(多數內容網站建議)
這套最適合想被 AI 引用、又不想被無償拿去訓練的內容型網站。
# 允許即時引用 / 搜尋爬蟲
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: Claude-User
Allow: /
# 封鎖訓練爬蟲
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Bytespider
Disallow: /
# 一般搜尋引擎照常
User-agent: *
Allow: /
Sitemap: https://你的網域.com/sitemap.xmlCode language: plaintext (plaintext)
範本二:全部歡迎(能見度優先)
如果你的內容就是要被最大化地引用、也不在意被訓練,可以對所有 AI 爬蟲開門。許多想衝 AI 能見度的品牌會這樣做。
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
Sitemap: https://你的網域.com/sitemap.xmlCode language: plaintext (plaintext)
範本三:保守封鎖(版權優先,但保留搜尋引用)
適合有獨家報告、付費內容、明確版權顧慮的網站。把訓練類盡量擋掉,但至少留下搜尋引用爬蟲,不讓自己從 AI 答案裡消失。
# 至少放行搜尋引用,避免從 AI 答案中消失
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
# 封鎖各家訓練爬蟲
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Meta-ExternalAgent
Disallow: /
User-agent: FacebookBot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: *
Allow: /
Sitemap: https://你的網域.com/sitemap.xmlCode language: plaintext (plaintext)
三套的共同原則只有一條——除非有明確理由,搜尋引用類那幾隻盡量都留著。封它們省不到頻寬、保不到版權,只會折損 AI 能見度。
設定後最容易踩的幾個坑
範本貼上去不代表就萬事大吉,robots.txt 看起來簡單,錯起來卻常常默默傷到自己。幾個最常見的狀況,設定完一定要回頭檢查。
第一、用舊的、已停用的爬蟲名稱去擋。 前面提過的 anthropic-ai、Claude-Web 就是典型,寫了等於沒寫。AI 爬蟲的命名更新得很快,每隔一段時間就該重新核對一次官方公布的爬蟲清單,別讓規則停留在兩年前。
第二、一行 Disallow: / 把整站全封。 這常發生在測試站搬到正式站、卻忘了移除測試環境的封鎖規則。如果這條留在正式站的 robots.txt,連 Googlebot 都進不來,網站會從搜尋結果整批消失。新站上線、改版、換主機後,這是最該優先檢查的一行。
第三、CDN 或安全防護把 AI 爬蟲一起擋了。 有些網站的 robots.txt 寫得很歡迎,卻在 Cloudflare 之類的 CDN 層、或防火牆規則裡,把 AI 爬蟲整批攔下來。結果你以為自己開著門,AI 其實連門口都到不了。檢查能見度時,這兩層要一起看。
第四、以為擋了訓練爬蟲就能完全不被訓練。 不守規矩的爬蟲不會理你的 robots.txt,真要控管,得搭配伺服器層的存取控制、付費牆或法律授權,而不是把希望全押在一個告示牌上。
第五、把封鎖當成資安手段。 再說一次,robots.txt 是公開檔案,任何人輸入網址都看得到內容。把敏感路徑寫進去防爬,反而是把藏寶圖貼在門上。機密資料該用登入驗證、密碼保護、伺服器權限控管來守,這跟 AI 爬蟲是兩回事。
設定完,最後一個動作是上線驗證。用 Google Search Console 的 robots.txt 測試工具檢查語法有沒有錯、重要頁面有沒有被誤擋,再實際打開 你的網域.com/robots.txt 確認檔案真的部署上去了。
把選擇權拿回自己手上
robots.txt 對 AI 爬蟲的真正意義,不是築一道牆把所有機器人擋在外面,而是一份你親手寫的客人名單——誰只是來搬走你的東西、誰會替你把名字傳出去,由你決定誰進得來。
當 AI 搜尋愈來愈多人用,沉默的全擋和沉默的全放,都是把這份選擇權交了出去。花十分鐘把訓練爬蟲和引用爬蟲分清楚、貼上一套對的範本,你保留的不只是頻寬或版權,更是品牌在下一個世代搜尋裡,還能不能被人提起的位置。
