重點摘要:想讓內容出現在 AI Overview、ChatGPT、Perplexity 的答案裡,第一步不是寫得多好,而是先確認 AI 爬蟲「抓得到」你的網站。這些爬蟲分兩種——「檢索/引用型」決定你會不會被引用,「訓練型」決定內容會不會被拿去訓練模型。想要 AI 曝光就別擋前者;想控制版權與伺服器成本,可以只擋後者。而最容易踩的坑往往不是 robots.txt 寫錯,而是主機邊緣或 Cloudflare 規則在你不知情的狀況下,把 AI 爬蟲整批擋在門外。
一、AI 爬蟲是什麼?有哪些?
AI 爬蟲是各家 AI 公司用來抓取網頁的自動程式,運作方式和 Googlebot 一樣:讀你的 HTML、依 robots.txt 決定能不能抓。差別在「用途」。同一家公司往往派出好幾支爬蟲,分別負責「訓練模型」與「即時檢索/引用」,這個分別是後面所有決策的關鍵。
| User-agent | 來自 | 類型 | 用途 |
|---|---|---|---|
| GPTBot | OpenAI | 訓練型 | 抓取內容供模型訓練 |
| OAI-SearchBot | OpenAI | 檢索/引用型 | 供 ChatGPT search 顯示與引用連結 |
| ChatGPT-User | OpenAI | 使用者觸發 | 使用者在 ChatGPT 中要求即時瀏覽某頁 |
| ClaudeBot | Anthropic | 訓練型 | 抓取內容供模型訓練 |
| PerplexityBot | Perplexity | 檢索/引用型 | 建立索引供 Perplexity 引用 |
| Googlebot | 檢索/引用型 | 一般搜尋索引;AI Overview 也是用這個索引 | |
| Google-Extended | 訓練型 | 控制內容是否用於 Gemini/Vertex AI 訓練(不影響搜尋與 AI Overview) | |
| CCBot | Common Crawl | 訓練型 | 公開語料,許多 LLM 訓練資料的來源 |
關鍵觀念:「被 AI 引用」和「被拿去訓練」是兩件事,用的是不同爬蟲。想被答案引擎引用,要放行的是檢索/引用型爬蟲(OAI-SearchBot、PerplexityBot、Googlebot);擔心內容被訓練,才需要處理訓練型爬蟲(GPTBot、ClaudeBot、CCBot、Google-Extended)。把兩者混為一談,常導致「為了防訓練,連 AI 曝光一起殺掉」。
二、該讓 AI 爬蟲抓,還是該擋?
該放行的理由:AI 曝光
AI Overview、ChatGPT search、Perplexity 這類答案引擎,只能引用它們抓得到的內容。爬蟲被擋在門外,你的網站在 AI 生成的答案裡就不會被列為來源——等於在新的搜尋介面上隱形。對想靠內容獲客的 B2B 網站,這是實打實的曝光損失。特別提醒:Google 的 AI Overview 用的是一般搜尋索引(Googlebot),不是另一支專用爬蟲,所以只要你正常被 Google 收錄,就具備進 AI Overview 的資格,不必額外「開通」什麼。
該擋的理由:版權與成本
反過來,若你的內容是付費資產(會員內容、原創資料庫),或不希望被拿去訓練商業模型,可以選擇擋掉訓練型爬蟲。另外,密集抓取確實會吃伺服器資源,流量大的站可對特別激進的爬蟲設限。重點是——這是一個商業選擇,該逐一決定要放行或封鎖哪一支,而不是一刀切全擋或全放。
三、robots.txt 怎麼設(含範例)
robots.txt 放在網站根目錄,用 User-agent 指定對象、Disallow 與 Allow 控制路徑。最保守、也最推薦的基準,是只擋後台、其餘全放行:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://richers.co/sitemap.xml
如果你的政策是「歡迎被引用、但拒絕訓練」,可以針對個別爬蟲分組設定:
# 放行檢索/引用型(想被 AI 答案引擎引用就別擋)
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
# 只擋訓練型(不影響 AI 引用曝光)
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: *
Disallow: /wp-admin/
Sitemap: https://richers.co/sitemap.xml
兩個容易誤解的細節:其一,多數合規爬蟲只會讀最符合自己的那一組指令,不會把 User-agent: * 那組再加進來,所以針對特定爬蟲的設定要寫完整、別漏了 Disallow 或 Allow。其二,Google-Extended 只控制內容是否用於 Gemini/Vertex AI 的訓練與接地,不影響 Google 搜尋收錄,也不影響 AI Overview——想擋訓練又保留 AI Overview 曝光,這正是該用的旋鈕。
還要記得:robots.txt 是「君子協定」。OpenAI、Anthropic、Perplexity、Google、Common Crawl 等主流爬蟲會遵守,但惡意爬蟲不會;真要強制阻擋,得靠防火牆或 CDN 邊緣規則——而下一段的坑,也正出在這裡。
四、最常見的坑:以為沒擋,其實擋在你看不到的地方
實務上,robots.txt 寫得再乾淨,AI 爬蟲仍可能抓不到,因為擋的動作發生在網站程式碼之外:
- Cloudflare 一鍵封鎖 AI 爬蟲:Cloudflare 有「Block AI Scrapers and Crawlers」與 AI Crawl Control 這類開關,還有 Bot Fight Mode/WAF 規則會對非瀏覽器的 user-agent 發出 JS 挑戰。AI 爬蟲通不過挑戰,等於被擋——而且 robots.txt 完全正常,從後台看不出問題。2025 年起 Cloudflare 甚至對部分新網域預設封鎖 AI 爬蟲。
- 主機/CDN 的邊緣層覆寫:某些 managed 主機會在邊緣層直接回一份和源站不同的 robots.txt,你在後台改的檔案根本沒送到 Google 面前。
- WAF 依 user-agent 封鎖:資安規則把陌生 user-agent 一律擋掉,順手也把 AI 爬蟲一起擋了。
一個真實案例:我們接手管理的一個網站,從主機內部看 robots.txt 完全正確(只擋後台),但對外——包含 Google 看到的——拿到的卻是 User-agent: * / Disallow: /,全站封鎖。追查後發現,是 managed 主機的邊緣層把「尚未正式上線」的站硬回一份全站封鎖的 robots.txt,而且它只攔精確的 /robots.txt 路徑。我們的做法是在邊緣前加一條規則,把 /robots.txt 改寫成 /robots.txt?x=1(並部署一支輕量 Worker 動態向源站取回正確檔案),邊緣不再攔截,Google 當天就拿到正確版本。根本解仍是請主機商解除封鎖,但這條繞道讓我們不必乾等索引恢復——這就是「擋在你看不到的地方」最典型的樣子。
五、怎麼驗證有沒有被擋?
不要只用瀏覽器測,因為瀏覽器的 user-agent 和 AI 爬蟲不同,看到 200 不代表爬蟲也拿得到。正確做法是用指令帶上爬蟲的 user-agent,直接看回應碼是不是 200:
# 測首頁對 GPTBot 是否放行
curl -A "GPTBot" -I https://你的網域/
# 看 robots.txt 對 PerplexityBot 回什麼
curl -A "PerplexityBot" https://你的網域/robots.txt
其他該一起看的地方:伺服器 access log 裡這些 user-agent 的狀態碼(200 是放行,403/503 或挑戰頁就是被擋);Cloudflare 的 AI Crawl Control 與 Security Events;以及 Google Search Console 的 robots.txt 報告與網址檢查——後者確認 Googlebot 抓得到,等於確認你具備進 AI Overview 的資格。
六、豐遠資訊怎麼幫客戶檢查
我們把「AI 爬蟲可抓性」當成 SEO 健檢的固定項目,做的是三件可驗證的事:
- 實測而非猜測:用一份完整的 AI 爬蟲 user-agent 清單(GPTBot、ClaudeBot、PerplexityBot、CCBot 等)逐一打你的網站,記錄每支的回應碼,找出被擋的那些。
- 連邊緣一起查:不只看 robots.txt,還檢查主機/CDN 邊緣、Cloudflare AI Crawl Control/Bot Fight/WAF 規則,以及伺服器 log,把上一段那種「看不到的封鎖」揪出來。
- 依你的政策設定:先和你確認要不要被訓練、要不要被引用,再把 robots.txt 與邊緣規則設成你要的樣子,而不是一刀切。
作為對照,我們新站在上線前,對 GPTBot、ClaudeBot、PerplexityBot、CCBot 等五種主要 AI 爬蟲逐一實測,回應皆為 200——先確認內容抓得到,才有被引用的機會。我們無法、也不會保證你一定會被 AI 引用(沒有人能保證),但「先確保抓得到」是能做、也該先做到的一步。
常見問題
擋掉 GPTBot,會讓我從 Google AI Overview 消失嗎?
不會。AI Overview 用的是 Google 一般搜尋索引(Googlebot),GPTBot 是 OpenAI 的訓練用爬蟲,兩者無關。擋 GPTBot 只影響 OpenAI 是否拿你的內容訓練,不影響你在 Google AI Overview 的曝光。
到底該不該擋 AI 爬蟲?
看目的。想被 AI 答案引擎引用、爭取曝光,就放行檢索/引用型爬蟲;擔心內容被拿去訓練,或伺服器負擔太重,可以只擋訓練型爬蟲。這是商業選擇,建議逐支決定,不要一刀切。
robots.txt 真的擋得住 AI 爬蟲嗎?
對主流合規爬蟲(OpenAI、Anthropic、Perplexity、Google、Common Crawl)有效,它們會遵守。但 robots.txt 是自願性協定,惡意爬蟲不理會;若要強制阻擋,需搭配防火牆或 CDN 邊緣規則。
我明明沒設定,為什麼 AI 爬蟲還是抓不到?
多半是擋在網站程式碼之外——Cloudflare 的 AI 爬蟲封鎖或 Bot Fight Mode、WAF 依 user-agent 攔截,或主機邊緣層覆寫了 robots.txt。這些從 WordPress 後台看不到,要用帶 user-agent 的指令實測、並查伺服器 log 才會發現。
怎麼快速確認有沒有被擋?
用 curl -A "GPTBot" -I https://你的網域/ 看回應碼是不是 200,再用同樣方式測 robots.txt,並比對伺服器 log 裡各 AI 爬蟲的狀態碼。不確定的話,我們的免費 SEO 健檢會幫你把主要 AI 爬蟲都測一遍。
想知道你的網站,AI 爬蟲抓不抓得到?
內容能不能被 AI Overview、ChatGPT、Perplexity 引用,起點都是「抓得到」。我們的免費 SEO 健檢會實測主要 AI 爬蟲對你網站的回應,找出被 robots.txt、Cloudflare 或主機邊緣誤擋的地方,並附上該怎麼設定的建議。想進一步規劃內容在 AI 搜尋時代的佈局,可以了解我們的 SEO 成長服務;若問題出在主機或邊緣設定,網站維運服務能一起處理。
最後更新:2026-09-13




