AI爬蟲 robots.txt 配置:允許搜尋,拒絕訓練

先説結論
在做GEO,即生成式引擎優化時,網站常會遇到一個基礎問題:哪些AI爬蟲可以訪問公開頁面,哪些不可以。AI爬蟲是平台自動訪問網頁的程序;
在做GEO,即生成式引擎優化時,網站常會遇到一個基礎問題:哪些AI爬蟲可以訪問公開頁面,哪些不可以。AI爬蟲是平台自動訪問網頁的程序;robots.txt則是放在網站主機根目錄的一份公開規則文件,用來告訴願意遵守規則的爬蟲,哪些路徑允許抓取,哪些路徑不允許抓取。
配置的難點不在於是否允許AI訪問,而在於區分訪問目的。目前常見的AI訪問至少有三類:為了發現和記錄網頁而進行的搜尋抓取、可能用於模型訓練的抓取,以及用戶提問後臨時發起的頁面訪問。
這些用途通常對應不同的User-agent。User-agent是爬蟲在訪問網站時聲明的身份名稱。網站可以允許公開內容進入AI搜尋,同時拒絕可能用於模型訓練的抓取,不必把兩類訪問一併允許或一併拒絕。
如果沒有區分用途,通常會出現三類問題:不希望開放的訓練抓取被允許;原本需要保留的搜尋抓取被誤攔;robots.txt已經允許訪問,請求卻仍被CDN或WAF攔截。CDN是內容分發網絡,負責在不同節點分發網站內容;WAF是網站應用防火牆,會在請求到達網頁之前進行安全檢查和攔截。
一、先分清三類AI訪問
下面列出幾個常見平台的相關標識及其官方用途。
| 平台 | User-agent | 當前官方用途 | 配置時需要注意 |
|---|---|---|---|
| OpenAI | OAI-SearchBot | 用於發現可能出現在ChatGPT搜尋結果中的頁面,並支持摘要和引用 | 與GPTBot相互獨立 |
| OpenAI | GPTBot | 抓取可能用於基礎模型訓練的內容 | 可以單獨拒絕,不影響OAI-SearchBot |
| OpenAI | ChatGPT-User | 用戶或自定義GPT主動請求網頁時使用 | OpenAI説明,robots.txt規則可能不適用 |
| Anthropic | Claude-SearchBot | 用於改善搜尋結果質量 | 可以與訓練爬蟲分開配置 |
| Anthropic | ClaudeBot | 收集可能用於模型訓練的網頁內容 | 可以單獨拒絕 |
| Anthropic | Claude-User | 用戶提問時訪問網頁 | Anthropic稱其機器人遵守robots.txt |
| Perplexity | PerplexityBot | 建立搜尋索引,並在結果中展示網頁連結 | 官方説明不用於基礎模型訓練抓取 |
| Perplexity | Perplexity-User | 用戶提問後觸發的頁面訪問 | 官方説明通常忽略robots.txt |
| Googlebot | 抓取網頁並建立Google Search索引 | 決定Google搜尋能否抓取相關內容 | |
| Google-Extended | 控制Gemini訓練及部分為回答獲取依據的用途 | 它是寫在robots.txt中的控制名稱,不是獨立發起請求的User-agent;不會影響Google Search收錄 |
這張表説明,搜尋抓取和訓練抓取需要分別配置。
例如,一家企業希望公開內容有機會進入ChatGPT搜尋結果,但不希望這些內容被GPTBot用於潛在的模型訓練,就可以允許OAI-SearchBot,同時拒絕GPTBot。OpenAI官方説明,這兩項設置相互獨立。
Google的兩項設置也需要分開處理。允許Googlebot,不代表必須允許Google-Extended。Google官方説明,限制Google-Extended不會影響網站進入Google Search,也不會成為Google Search的排名信號。

二、適合多數公開網站的基礎模板
下面這份模板對應一種常見需求:允許傳統搜尋和AI搜尋發現公開頁面,同時拒絕已經明確用於模型訓練的抓取。
模板中的Allow表示沒有在robots.txt這一層拒絕抓取;Disallow表示要求願意遵守規則的爬蟲不要抓取相應路徑。
這份模板不能直接覆蓋線上文件。部署前必須先修改域名,再與網站現有的後台、賬戶、參數頁、測試目錄和隱私路徑規則合併。
# 先保留併合併網站現有規則,不要直接覆蓋舊文件
# 傳統搜尋
User-agent: Googlebot
Allow: /
User-agent: bingbot
Allow: /
# OpenAI:允許搜尋,拒絕潛在訓練
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
# ChatGPT-User屬於用戶觸發訪問,robots.txt可能不適用
User-agent: ChatGPT-User
Allow: /
# Anthropic:允許搜尋和用戶訪問,拒絕潛在訓練
User-agent: Claude-SearchBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: ClaudeBot
Disallow: /
# Perplexity:允許搜尋索引
User-agent: PerplexityBot
Allow: /
# Perplexity-User通常忽略robots.txt,此處只表達站點意圖
User-agent: Perplexity-User
Allow: /
# Google-Extended與Google Search分開控制
User-agent: Google-Extended
Disallow: /
# 只有使用ChatGPT廣告時,才根據業務需要加入廣告落地頁規則
# User-agent: OAI-AdsBot
# Allow: /
Sitemap: https://www.example.com/sitemap.xml
在沒有衝突規則的情況下,Allow: /通常不是必寫項。模板將它明確列出,是為了讓內容、技術、法務和安全團隊直接看出每類爬蟲採用了什麼規則。
模板只展示了公開路徑的基礎設置。網站原有的/admin/、/account/、站內搜尋參數頁、測試目錄和隱私路徑限制仍需保留。
這裏還涉及SEO,即搜尋引擎優化。直接覆蓋舊文件,可能使網站原有的搜尋抓取設置和路徑限制失效。

三、已有 robots.txt,怎樣合併新規則
第一步:備份每個主機的現有文件
先訪問:
https://你的域名/robots.txt
保存當前版本,再開始修改。
robots.txt按照主機分別生效。主域名、www域名、博客子域和幫助中心子域都需要單獨檢查。主域名已經配置,不代表其他子域會自動使用相同規則。
第二步:列出原本就需要限制的路徑
至少核對以下內容:
- 後台和賬戶頁面
- 購物車和結算頁面
- 站內搜尋結果
- 測試環境和測試目錄
- 帶有大量參數的重複頁面
- 不應公開的文件和路徑
需要特別區分“限制抓取”和“保護數據”。Disallow只能向願意遵守robots.txt的爬蟲表達抓取要求,不能真正保護敏感資訊。
會員內容、客戶數據、報價後台、未發佈資料和個人資訊,必須通過登錄權限、伺服器身份驗證、訪問控制和必要的WAF規則進行保護,不能只寫進robots.txt。
第三步:按User-agent分別添加規則
將OAI-SearchBot、GPTBot、Claude的三類機器人、PerplexityBot和Google-Extended分別配置,不要把所有規則都寫進User-agent: *。
只有分別設置,網站才能清楚表達“允許進入搜尋,但拒絕用於潛在訓練”這一選擇。
Google-Extended需要單獨説明:它是robots.txt中的控制名稱,不是會以這個名稱訪問網站的獨立程序。將它寫成單獨一組,是為了設置相應規則,不代表伺服器日誌中會出現名為Google-Extended的訪問記錄。
第四步:保留並檢查Sitemap
Sitemap就是站點地圖,用於列出網站希望搜尋系統發現的規範網址。它不是爬蟲放行指令,但有助於搜尋系統發現網站中的有效頁面。
Sitemap地址應使用完整網址,並確認訪問時返回HTTP 200狀態。HTTP狀態碼是網站伺服器返回的處理結果,其中200表示請求成功。
四、如果公司允許訓練抓取
如果公司已經明確同意公開內容可以用於模型訓練,可以調整以下三個控制項:
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Google-Extended
Allow: /
這不只是一次技術配置變更,還可能涉及內容授權、合同承諾、付費內容和隱私政策,不應由技術部門單獨決定。內容、法務、安全和業務負責人需要共同確認允許範圍。
即使公司同意開放訓練抓取,也不代表所有內容都應公開。會員內容、客戶資訊、內部報價、未發佈資料和個人資訊,仍然需要通過登錄、身份驗證、伺服器權限和訪問控制進行保護。
robots.txt不是安全防護工具。它只能約束願意遵守規則的爬蟲,而且訪問請求中的User-agent名稱可以被偽造。
五、為什麼不建議照抄“30個AI爬蟲全部放行”
名單長不等於配置準確。把用途不同、來源不同的爬蟲全部允許,會使網站無法針對不同訪問目的設置規則。
1. 爬蟲名稱和用途會變化
平台可能增加新的爬蟲、調整現有爬蟲的用途,或者更新官方IP地址範圍。IP地址是設備或伺服器在網絡中的地址。網上流傳的舊清單還可能包含已經停用、來源不明,甚至根本不遵守robots.txt的名稱。
配置時應以平台當前的官方説明為準,不應長期照搬未經更新的轉載名單。
2. 搜尋抓取和訓練抓取用途不同
搜尋抓取用於發現、記錄和展示頁面;訓練抓取則可能把網頁內容用於模型訓練。把兩類爬蟲放在同一條規則下,網站就無法分別表達是否允許這些用途。
3. robots.txt不能代替訪問控制
即使robots.txt允許訪問,CDN、WAF、驗證碼、地區限制、登錄要求和訪問頻率限制,仍可能讓請求返回403或429。403通常表示伺服器拒絕訪問;429通常表示短時間內請求過多。
反過來,即使robots.txt拒絕訪問,也無法阻止不遵守規則的訪問者。
4. 只看User-agent不能確認真實身份
OpenAI和Perplexity都公佈了官方IP地址範圍。配置WAF允許規則或分析伺服器日誌時,應同時核對User-agent和官方IP來源,不能只憑請求中聲明的名稱判斷訪問者身份。
六、上線後必須完成的8項實測
robots.txt成功保存,只能證明文件已經寫入,不能證明整套配置已經生效。上線後至少要完成以下檢查:
| 檢查項 | 通過標準 |
|---|---|
| 文件位置 | 每個主機的根目錄都能訪問/robots.txt |
| HTTP狀態 | 返回200,不是登錄頁、反覆跳轉或驗證碼頁面 |
| 內容類型 | 返回純文本,中文註釋和規則沒有亂碼 |
| 規則合併 | 原有後台、參數頁和站內搜尋限制仍然存在 |
| 搜尋與訓練 | OAI-SearchBot與GPTBot、Claude-SearchBot與ClaudeBot已經分開配置 |
| WAF/CDN | 合法爬蟲沒有被403、429或要求運行JavaScript的驗證頁面攔截。JavaScript是網頁中常用的腳本語言,普通爬蟲未必能完成這類驗證 |
| 身份核驗 | User-agent與官方IP地址範圍或官方驗證方法同時匹配 |
| 日誌觀察 | 發佈後持續檢查抓取路徑、狀態碼和訪問頻率 |
如果修改robots.txt後仍然看不到抓取,應先檢查伺服器日誌。常見原因包括WAF誤攔、網站伺服器超時、DNS錯誤、重定向過多、頁面要求登錄,或者主要內容必須等網頁腳本運行後才能顯示。DNS負責把域名轉換為網絡訪問所需的地址。
OpenAI和Perplexity都提示,robots.txt的調整可能需要一段時間才能反映到系統中。文件剛保存時,不能只根據一次搜尋結果判斷配置是否成功。
七、最容易誤判的三個問題
1. 已經寫了Allow,為什麼仍然沒有被引用?
Allow只表示robots.txt沒有拒絕抓取,不代表平台一定會訪問、記錄、展示或引用這個頁面。
頁面還需要能夠正常打開,內容也要與用戶提出的問題相關。因此,允許抓取和獲得引用是兩件事。
2. 已經寫了Disallow,為什麼日誌裏還有訪問?
先核對訪問者是否為官方爬蟲,再判斷這次訪問是否由用戶主動請求觸發。
OpenAI説明,ChatGPT-User的robots.txt規則可能不適用;Perplexity説明,Perplexity-User通常會忽略robots.txt。
如果網站必須強制阻止某類訪問,應使用登錄驗證、伺服器訪問控制或WAF規則,不能把robots.txt當作安全防護措施。
3. 屏蔽Google-Extended會影響Google搜尋排名嗎?
按照Google官方説明,不會影響網站進入Google Search,也不會成為Google Search的排名信號。
Google-Extended和Googlebot是兩個不同的控制項,而且Google-Extended不是獨立發起網站請求的User-agent。
八、配置時最終要確認什麼
一份可用的robots.txt,需要清楚回答三件事:
- 哪些公開內容允許進入傳統搜尋和AI搜尋;
- 哪些內容不希望被用於潛在的模型訓練;
- 哪些路徑原本就不應公開。
具體執行時,應先確認每個User-agent的官方用途,再編寫對應規則;先備份併合並舊文件,再部署上線;上線後查看真實日誌,再判斷配置是否生效。
平台更新User-agent、用途説明或官方IP地址範圍後,還需要重新核對官方文檔。robots.txt不是配置一次就可以長期不管的文件,也不應一直沿用未經複核的舊清單。
常見問題
robots.txt應該放在哪裏?
放在每個主機的根目錄,例如:
https://www.example.com/robots.txt
不同子域需要分別配置。
可以只允許搜尋、不允許訓練嗎?
可以。按照平台官方説明,將搜尋使用的User-agent和訓練使用的User-agent分別設置。
ChatGPT-User和Perplexity-User能通過robots.txt完全控制嗎?
不能這樣保證。兩家官方都説明,用戶觸發的訪問可能或通常不適用robots.txt。
robots.txt能保護隱私數據嗎?
不能。隱私和敏感數據必須依靠登錄、身份驗證、伺服器權限、訪問控制和WAF保護。
怎樣確認來訪者沒有偽造User-agent?
結合平台公佈的IP地址範圍或官方驗證方法進行核對,不能只看請求中聲明的名稱。
官方資料
相關閲讀
GEO 指南
官網訪問量沒跌,為什麼客戶全被AI截走了?6項AI獲客自查
流量沒跌不代表客戶沒丟。AI截流發生在客戶提問環節,直接把競品當成標杆答案推給採購方,避開網頁點擊。做好AI獲客自查,是守住高淨值商機的第一步。
2026 年 10 月 23 日 · 9 分鐘讀完
GEO 指南
刷到一堆霸榜神器?看穿GEO騙局,企業做AI推薦該信什麼
市面上的“一鍵霸榜”多屬違背大模型機制的GEO騙局。AI推薦靠的是企業公開事實被權威信源採信,認清常見套路才能避開無效花費。
2026 年 10 月 22 日 · 6 分鐘讀完
GEO 指南
AI服務商選型報價差10倍怎麼選?4步審查清單定方案
判斷AI服務商選型報價,不看PPT概念而看交付動作。把方案拆解為信源基建、事實清洗、複測機制與責任對賭四步,核驗每項真實人日與交付物,水分立刻顯形。
2026 年 10 月 22 日 · 8 分鐘讀完