技術 SEO 與網站架設

robots.txt 怎麼寫?語法、範例、常見錯誤與 AI 檢索器設定

robots.txt 是放在網站根目錄的純文字檔,用來告訴搜尋引擎的檢索器「哪些網址不要抓」。一般中小企業網站只需要三行:User-agent: *、視需要加上幾行 Disallow:、最後一行 Sitemap: 指向網站地圖。要記住兩個原則:robots.txt 管的是「抓取」不是「收錄」,想讓網頁不出現在搜尋結果要用 noindex;寫錯一行 Disallow: / 就會讓整站消失在 Google,所以改完一定要用 Search Console 的 robots.txt 報表驗證。

本篇屬於本站〈技術性 SEO 入門〉叢集。如果您還不清楚搜尋引擎的抓取與索引是兩件事,建議先看〈搜尋引擎如何運作〉,再回來看這篇的實作。

robots.txt 能做什麼、不能做什麼

robots.txt 只能建議檢索器「不要抓取」某些網址,不能保證網頁不被收錄、不能隱藏內容,也不是所有檢索器都會遵守。

Google 官方文件對 robots.txt 的定義很直接:這個檔案「告訴搜尋引擎檢索器可以存取網站上的哪些網址」,主要用途是管理檢索流量、避免伺服器被過多請求拖垮。Google 同時明確寫著:robots.txt「不是讓網頁不出現在 Google 的機制」。

這句話在實務上有三個後果,我們替客戶健檢時最常需要解釋的就是這三件事:

  • 被 Disallow 的網頁仍可能被收錄。如果其他網站連向那個網址,Google 可能在沒有抓取內容的情況下把網址列入索引,搜尋結果裡會出現一條沒有描述文字的結果。
  • robots.txt 是公開檔案。任何人打開 您的網域/robots.txt 都看得到。把後台路徑、未公開的活動頁寫進去,等於把地圖交給不該看的人。
  • 不是每個檢索器都遵守。Google、Bing 等主流搜尋引擎會遵守,但惡意爬蟲不會;要真正擋住存取,得靠伺服器層的密碼保護或 IP 限制。

想讓某個網頁「不要出現在搜尋結果」,正確工具是 noindex(寫在網頁的 robots meta 標籤或 HTTP 標頭),而且要讓 Google 抓得到那一頁才讀得到 noindex。這是本文後面「常見錯誤」的第一條,先記起來。

robots.txt 的四種指令與寫法規則

Google 支援的 robots.txt 指令只有四種:User-agent 指定對象、Disallow 禁止路徑、Allow 開放例外、Sitemap 標示網站地圖位置;其他寫法(例如 Crawl-delay)Google 一律忽略。

1. 檔案位置與格式

  • 檔名固定是 robots.txt,放在網站根目錄,例如 https://www.example.com/robots.txt。放在子目錄無效。
  • 一個主機只有一份,而且只對同一個「協定+主機+連接埠」生效:https://www.example.com/robots.txt 管不到 https://shop.example.com/,也管不到 http:// 版本。
  • 純文字、UTF-8 編碼。Google 會忽略檔頭的 BOM 與無法解析的行。
  • 檔案上限 500 KiB,超過的部分 Google 直接忽略。一般網站不會碰到,但用外掛自動產生規則的電商站要留意。

2. 四種指令

表 1:Google 支援的 robots.txt 指令。每一組規則以 User-agent 開頭,底下接 Disallow/Allow;Sitemap 獨立於任何組之外。
指令作用寫法要點
User-agent指定這一組規則對哪個檢索器生效每組第一行;* 代表所有檢索器(AdsBot 例外,必須點名);不分大小寫
Disallow禁止抓取的路徑/ 開頭;指目錄時結尾也要 /;路徑區分大小寫
Allow在被禁止的目錄裡開放特定子目錄或檔案/ 開頭;用來對 Disallow 開例外
Sitemap告訴檢索器網站地圖在哪裡必須是完整網址(含 https://);可以寫多行;不屬於任何 User-agent 組

3. 三條語法規則

  • 路徑區分大小寫。Disallow: /file.asp 擋的是 /file.asp,擋不到 /FILE.asp
  • 萬用字元。除了 Sitemap 之外的指令都支援 *(任意字串);$ 代表網址結尾,例如 Disallow: /*.pdf$ 擋所有 PDF。
  • 註解用 #該符號之後到行尾的內容會被忽略,適合寫「這條規則誰加的、為什麼」,半年後回頭看才知道能不能拿掉。

可直接套用的 robots.txt 範例

大多數中小企業網站的 robots.txt 只需要「全部開放+擋掉站內搜尋與後台+標示 Sitemap」三段;規則越少,出錯的機會越小。

範例 1:一般企業形象網站(最常用)

User-agent: *
Disallow: /admin/
Disallow: /search/
Disallow: /*?s=

Sitemap: https://www.example.com/sitemap.xml

這份檔案的意思是:所有檢索器都可以抓整個網站,只有後台目錄、站內搜尋結果頁(路徑版與帶 ?s= 參數的版本)不要抓;網站地圖在根目錄。沒有列出的路徑一律視為可以抓,這是 Google 的預設假設。

範例 2:WordPress 網站

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://www.example.com/wp-sitemap.xml

這是 WordPress 核心預設產生的內容,多數情況下不必改。注意兩點:第一,admin-ajax.php 要用 Allow 開回來,因為不少外掛的前台功能會透過它載入內容;第二,Sitemap 那行請改成您實際使用的網址,裝了 Yoast SEO 或 Rank Math 的網站通常是 /sitemap_index.xml,未裝 SEO 外掛則是核心的 /wp-sitemap.xml

不要擋 /wp-content//wp-includes/這是十年前教學留下的習慣,現在 Googlebot 需要讀取 CSS 與 JavaScript 才能正確渲染網頁;把這兩個目錄擋掉,Search Console 會回報資源被封鎖,行動裝置相容性與 Core Web Vitals 判讀都會受影響。

範例 3:針對特定檢索器另外設定

User-agent: Googlebot
Disallow: /promo-draft/

User-agent: GPTBot
Disallow: /

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

這份檔案有三組規則:Googlebot 不抓草稿目錄、GPTBot 完全不抓、其他檢索器全部開放。這裡有一個很多人踩到的規則:一個檢索器只會套用一組規則,也就是第一個最符合它名稱的那組。Googlebot 讀到自己的那組之後,就不會再看 User-agent: * 底下的內容,所以要給 Googlebot 的規則必須完整寫在它自己那組裡。

Google 怎麼判讀 robots.txt:您該知道的六條規則

Google 對 robots.txt 的處理有明確規格:規則衝突時取最長路徑、平手時取寬鬆那條、檔案快取最長 24 小時、找不到檔案視為全站開放、伺服器錯誤則暫停抓取。

以下六條全部來自 Google 的 robots.txt 規格文件(2026-08 查證)。這些不是 SEO 技巧,而是 Google 實際的運作方式,弄懂之後大部分「為什麼 Google 沒照我的 robots.txt 做」的問題都有答案。

  1. 最具體的路徑優先 Allow 與 Disallow 衝突時,Google 採用「符合字元最多」的那條規則。Disallow: /blog/Allow: /blog/seo/ 的結果是 /blog/seo/ 底下可以抓,其餘 /blog/ 不抓。
  2. 平手時採最寬鬆的規則 兩條規則長度相同時,Google 選擇限制較少的那條,也就是 Allow 勝出。
  3. 快取最長 24 小時 Google 通常把 robots.txt 內容快取最多 24 小時;改完檔案後 Googlebot 不一定馬上讀到新版,這段時間內的抓取仍依舊規則。急著生效可以在 Search Console 的 robots.txt 報表按「要求重新檢索」。
  4. 4xx 視為沒有限制 robots.txt 回應 404、403 等 4xx 狀態(429 除外)時,Google 當作這個網站沒有 robots.txt,整站可以抓。所以「沒有 robots.txt」本身不是問題,很多小型網站根本不需要這個檔案。
  5. 5xx 會讓 Google 暫停抓取 robots.txt 回應伺服器錯誤時,Google 前 12 小時會停止抓取整個網站並持續重試;之後若還抓不到,會沿用先前快取的版本最多 30 天;再之後才視為沒有限制。這是「網站明明正常,收錄卻突然停住」的隱藏原因之一,排查時要先確認 robots.txt 本身的 HTTP 狀態碼。
  6. Crawl-delay 無效 Google 不支援 Crawl-delay,Search Console 過去的「檢索頻率限制」設定也已於 2024 年 1 月移除。想讓 Googlebot 抓慢一點,現行做法是讓伺服器在負載過高時回應 503 或 429,Googlebot 會自動降低頻率;寫在 robots.txt 裡沒有作用。

AI 檢索器該不該擋?GPTBot、OAI-SearchBot、Google-Extended 怎麼設

想被 ChatGPT 搜尋引用就不要擋 OAI-SearchBot;擋 GPTBot 只影響模型訓練、不影響引用;Google-Extended 只管 Gemini 的訓練與資料佐證,Google 官方明示它不影響 Google 搜尋的收錄與排名。

2026 年的 robots.txt 多了一個新任務:管理 AI 公司的檢索器。這一段是我們替客戶做 GEO(Generative Engine Optimization,生成式引擎優化)健檢時的固定項目,因為不少網站在 2023 年跟風把所有 AI 檢索器全擋掉,到現在都不知道自己為什麼從來不會被 ChatGPT 引用。

表 2:主要 AI 檢索器的用途與封鎖後果(依 OpenAI 與 Google 官方文件,2026-08 查證)。
User-agent所屬用途擋掉之後
OAI-SearchBotOpenAIChatGPT 搜尋功能的檢索與索引網站不會出現在 ChatGPT 搜尋結果與引用來源中
GPTBotOpenAI蒐集內容供模型訓練內容不用於訓練;OpenAI 明示這與 ChatGPT 搜尋引用互不影響
ChatGPT-UserOpenAI使用者在對話中要求讀取某網頁時的即時抓取屬使用者觸發的請求,OpenAI 說明不一定遵守 robots.txt
Google-ExtendedGoogle控制內容是否用於 Gemini 模型訓練與 Gemini/Vertex AI 的資料佐證(grounding)官方文件:不影響網站在 Google 搜尋的收錄,也不是排名訊號
GooglebotGoogleGoogle 搜尋的主要檢索器,AI Overviews 與 AI 模式的引用來源也取自它抓取的索引整站從 Google 搜尋與 AI 功能消失,任何情況都不要擋

依此表,我們給客戶的預設建議是:不擋 OAI-SearchBot、不擋 Googlebot;GPTBot 與 Google-Extended 依公司對「內容被用於訓練」的立場決定,這是著作權與商業判斷,不是 SEO 問題。要注意的是,擋 Google 的 AI 功能(AI Overviews、AI 模式)不能靠 Google-Extended,那要用 nosnippetmax-snippet 等 robots meta 指令,細節可看本站〈AI 摘要(AI Overviews)是什麼?網站怎麼被選進去〉。

另外常被問到的 llms.txt 與 robots.txt 是兩回事:llms.txt 是給大型語言模型看的內容導覽提案,目前沒有主要引擎確認採用;robots.txt 才是所有檢索器實際遵循的標準。兩者的差別本站另有〈llms.txt 是什麼?該不該做?〉專文。

robots.txt 常見錯誤與排除

robots.txt 出事的原因九成集中在五種:用它來做 noindex、上線後忘了拿掉測試站的 Disallow: /、擋住 CSS 與 JavaScript、規則分組寫錯、Sitemap 寫成相對路徑。

以下五種是我們在網站健檢與改版承接案中實際反覆看到的狀況,依出現頻率排列。

錯誤 1:用 Disallow 當 noindex 用

想讓某頁不出現在搜尋結果,卻把它寫進 Disallow。結果是 Google 抓不到那一頁,也讀不到頁面上的 noindex 標記,網址反而以「沒有內容的結果」殘留在索引裡。正確做法是讓 Google 抓得到那一頁,並在頁面加上 <meta name="robots" content="noindex">;確認已從索引移除後,才考慮是否要再用 Disallow 節省抓取。

錯誤 2:測試站的 Disallow: / 跟著上線

網站改版時,開發環境通常會放一份 Disallow: / 避免測試站被收錄;正式上線時整個目錄複製過去,這一行也跟著上線。整站收錄會在幾天到幾週內逐步消失,流量圖看起來像被演算法懲罰。我們處理〈網站改版不掉排名的檢查清單〉時,上線當天的第一項就是打開正式站的 robots.txt 確認這一行不在。

錯誤 3:擋住 CSS、JavaScript 或圖片目錄

Googlebot 需要載入 CSS 與 JavaScript 才能像瀏覽器一樣渲染網頁。擋掉 /css//js//wp-includes/ 之類的目錄,Google 看到的是一個排版錯亂、內容不完整的頁面,行動裝置相容性與網頁體驗的判讀都會失真。Search Console 的「網址審查」工具可以看「已檢索的網頁」與「其他資訊」中被封鎖的資源清單,健檢時務必看一眼。

錯誤 4:規則分組寫錯

最常見的形式是:先寫了 User-agent: * 底下一堆 Disallow,後面又加一組 User-agent: Googlebot 只寫一行。結果 Googlebot 只套用自己那一組,前面對所有檢索器的限制對它完全無效。原則是:每一組都要自己完整,不要假設會「繼承」* 那組。

錯誤 5:Sitemap 寫成相對路徑或指向舊網址

Sitemap: /sitemap.xml 不符合規格,必須寫完整網址。另一個常見狀況是網站已改成 https 或換了網域,robots.txt 裡的 Sitemap 還指向舊網址,檢索器會拿到 301 或 404。改網址時,robots.txt 的 Sitemap 行要一起改,這與〈301 轉址怎麼做〉一文中的改網址檢核是同一件事。

改完 robots.txt 之後的檢核清單

每次修改 robots.txt 後要做四件事:用無痕視窗打開檔案確認內容、在 Search Console 的 robots.txt 報表看 Google 抓到的版本、用網址審查工具測試關鍵網頁是否可抓、七天後回頭看網頁索引報表有沒有「遭到 robots.txt 封鎖」暴增。

  • 用無痕視窗開啟 您的網域/robots.txt確認回應 200、內容是最新版、沒有多餘的 HTML 或 BOM 造成解析錯誤。
  • Search Console → 設定 → robots.txt 報表。這份報表在 2023 年底取代舊的 robots.txt 測試工具,會列出 Google 最近抓到的版本、抓取時間、HTTP 狀態與解析出的規則數;若顯示的內容跟您線上的不同,按「要求重新檢索」。
  • 網址審查工具測三個網址:首頁、一個主要產品或服務頁、一個您刻意要擋的網址。前兩個應顯示「可以檢索」,第三個應顯示「遭到 robots.txt 封鎖」。
  • 七天後看網頁索引報表。「遭到 robots.txt 封鎖」這個原因的網址數量若明顯增加,且裡面有您想要收錄的頁面,立刻回頭修規則。
  • 把這次修改記在 robots.txt 的 # 註解裡。寫日期與原因,日後接手的人才知道哪些規則還需要。

常見問題 FAQ

網站一定要有 robots.txt 嗎?

不一定。Google 找不到 robots.txt(回應 404)時,會視為整站都可以抓取,網站照常收錄。小型形象網站沒有需要擋的路徑,可以不放;但放一份只寫 Sitemap 位置的 robots.txt 通常有利無害。

robots.txt 和 noindex 有什麼不同?

robots.txt 管「能不能抓取」,noindex 管「能不能出現在搜尋結果」。想移除某頁的收錄用 noindex,而且不能同時用 robots.txt 擋住那一頁,否則 Google 讀不到 noindex 指令。

改了 robots.txt,多久會生效?

Google 通常在 24 小時內重新讀取。這是 Google 快取 robots.txt 的上限;想加速可在 Search Console 的 robots.txt 報表按「要求重新檢索」。至於被封鎖的網頁從搜尋結果消失或恢復,要等 Google 重新抓取那些網頁,時間從幾天到幾週不等。

WordPress 的 robots.txt 在哪裡改?

WordPress 預設產生的是「虛擬」robots.txt,主機上沒有實體檔案。要修改可以透過 Yoast SEO 或 Rank Math 的檔案編輯功能,或在網站根目錄自行建立實體的 robots.txt(實體檔案會覆蓋虛擬版本)。

要擋 AI 檢索器嗎?

看目的。想被 ChatGPT 搜尋引用就不要擋 OAI-SearchBot;不希望內容用於模型訓練可以擋 GPTBot 與 Google-Extended,這兩者依官方說明都不影響搜尋引用與 Google 排名。Googlebot 在任何情況下都不要擋。

robots.txt 可以擋圖片被 Google 圖片搜尋收錄嗎?

可以,用 Googlebot-Image 這個 User-agent。例如 User-agent: Googlebot-ImageDisallow: / 會讓 Google 圖片搜尋不再抓取您的圖片,但一般網頁搜尋不受影響。要注意已收錄的圖片需要一段時間才會從結果移除。

更新紀錄

  • 2026 年 8 月 28 日:初版發布。指令規則、狀態碼處理與 500 KiB 上限依 Google robots.txt 規格文件(2025-12 更新版)查證;AI 檢索器名稱與用途依 OpenAI 與 Google 官方檢索器文件查證。
  • 下次檢視:AI 檢索器清單變動快,本文預計每半年重新查證一次並更新本欄。

結論:robots.txt 寫得少比寫得多安全

robots.txt 是整個技術 SEO 裡最短的一份檔案,卻是殺傷力最大的一份:寫對了幾乎沒有加分,寫錯一行可以讓整站從 Google 消失。對大多數中小企業網站來說,最好的 robots.txt 就是「全部開放、擋掉後台與站內搜尋、寫上 Sitemap」三段,然後把 noindex 的工作交給網頁本身。

2026 年多出來的功課是 AI 檢索器:先決定公司對「內容被拿去訓練」的立場,再對應到 GPTBot 與 Google-Extended;至於 OAI-SearchBot 與 Googlebot,只要您還希望被搜尋引擎和 AI 引用,就不要擋。

不確定您的 robots.txt 有沒有擋錯?我們提供免費搜尋健檢,會實際讀取您網站的 robots.txt 與 Search Console 的 robots.txt 報表,列出被封鎖的重要網址與資源,並告訴您哪幾條規則可以直接拿掉。

申請免費搜尋健檢了解 SEO 優化服務

robots.txt 只是抓取控制的第一步;接下來請看〈sitemap.xml 是什麼?怎麼產生、怎麼提交〉,把「不要抓什麼」與「要抓什麼」兩邊都設定完整。

參考來源

  1. Google,〈Introduction to robots.txt(robots.txt 簡介)〉,Google Search Central,最後更新 2025-12,2026-08-28 查證。
  2. Google,〈How to write and submit a robots.txt file(如何撰寫與提交 robots.txt)〉,Google Search Central,2026-08-28 查證。
  3. Google,〈How Google interprets the robots.txt specification(Google 如何解讀 robots.txt 規格)〉,Google Search Central,2026-08-28 查證。
  4. Google,〈Google's common crawlers(Google 常用檢索器,含 Google-Extended 說明)〉,Google Search Central,2026-08-28 查證。
  5. OpenAI,〈Overview of OpenAI Crawlers(OpenAI 檢索器總覽)〉,OpenAI Developers,2026-08-28 查證。
  6. 轉角網路SEO行銷,〈搜尋引擎如何運作〉,corners.com.tw,本站自有內容。

關於作者

內容揭露:本文由轉角網路SEO行銷 SEO 團隊撰寫,過程使用 AI 工具輔助資料整理;robots.txt 規格、狀態碼處理方式與各家 AI 檢索器的名稱與用途均依 Google 與 OpenAI 官方文件逐條查證後發布。文末提及本公司提供的免費搜尋健檢與 SEO 服務,屬自家服務揭露。

轉角網路SEO行銷 SEO 團隊

2019 年成立的搜尋行銷顧問團隊,服務範圍涵蓋 SEO 自然搜尋成長、GEO/AI 搜尋能見度、Google 關鍵字廣告與轉換優化。本文依團隊實際為客戶執行網站健檢與改版承接時檢查 robots.txt 的作業流程整理而成。

服務據點:
板橋總部 新北市板橋區四川路1段48號2樓台中據點 台中市南區忠明南路758號21樓B4
聯絡電話:
板橋 02-29527000台中 04-22609192
電子信箱:
service@corners.com.tw
服務項目:
SEO 優化GEO 生成式引擎優化Google 關鍵字廣告
本站同主題內容:
搜尋引擎如何運作技術性 SEO 入門sitemap.xml 是什麼?怎麼產生、怎麼提交
轉載說明:
歡迎推廣本文,引用請連結本文出處:轉角網路SEO行銷