如何在 robots.txt 允許 AI 搜尋爬蟲但封鎖訓練爬蟲?
robots.txt 依 User-agent 分組:對 GPTBot、ClaudeBot、Google-Extended 寫 Disallow: / 封鎖訓練用途;對 OAI-SearchBot、Claude-SearchBot、PerplexityBot 寫 Allow: /,讓 AI 搜尋能引用網站。
需要準備什麼?
- 可編輯網站根目錄 robots.txt 的權限
- 了解各家爬蟲的用途:訓練用或搜尋用
步驟
分辨爬蟲用途
GPTBot、ClaudeBot 用於收集可能用來訓練模型的內容;Google-Extended 控制內容是否用於 Gemini 訓練與 grounding。OAI-SearchBot、Claude-SearchBot、PerplexityBot 則用於各自的 AI 搜尋結果。
封鎖訓練爬蟲
為每個訓練用 User-agent 各寫一組 Disallow 規則。
User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: Google-Extended Disallow: /允許 AI 搜尋爬蟲
明確為搜尋用爬蟲寫 Allow 規則,避免被其他規則誤擋。
User-agent: OAI-SearchBot Allow: / User-agent: Claude-SearchBot Allow: / User-agent: PerplexityBot Allow: /保留一般搜尋引擎規則
最後保留給其他爬蟲的預設規則,不要封鎖 Googlebot,否則會影響 Google 搜尋與 AI 摘要的收錄。
User-agent: * Allow: /上傳並套用到每個子網域
robots.txt 必須放在網站根目錄(/robots.txt),每個子網域都需要各自的檔案。上傳後用瀏覽器開啟確認內容正確。
常見錯誤
- 以為封鎖 Google-Extended 會影響 Google 搜尋排名;官方說明它不影響搜尋收錄與排名
- 誤把 OAI-SearchBot 一起封鎖;OpenAI 表示封鎖後網站不會出現在 ChatGPT 搜尋答案中
- 以為 robots.txt 能擋住所有 AI 存取;ChatGPT-User、Perplexity-User 等由使用者觸發的抓取可能不適用 robots.txt
- 只改主網域,忘了子網域也要各放一份
常見問題
封鎖 GPTBot 會讓網站從 ChatGPT 搜尋消失嗎?
不會。依 OpenAI 文件,GPTBot 與 OAI-SearchBot 是分開設定的:封鎖 GPTBot 代表內容不應用於訓練基礎模型,只要允許 OAI-SearchBot,網站仍可出現在 ChatGPT 搜尋結果。
robots.txt 可以用來控制爬蟲抓取速度嗎?
部分可以。Anthropic 表示 ClaudeBot 支援非標準的 Crawl-delay 指令,但這不是 robots.txt 標準的一部分,其他爬蟲不一定支援,設定前應查閱各家文件。
相關名詞
SEO(搜尋引擎最佳化)、生成引擎優化、答案引擎優化、Google AI 摘要
參考來源
- OpenAI:Overview of OpenAI Crawlers
- Claude 說明中心:Does Anthropic crawl data from the web
- Google:Google's common crawlers
查核日期:2026-09-26。API:/api/howto?id=robots-txt-allow-ai-search-block-training