robots.txt 是什麼?|SEO・GEO 百科

robots.txt 是放在網站根目錄的純文字檔,用來管理爬蟲流量,不是把網頁從 Google 藏起來的工具。說明它的語法、和 noindex 的差別,以及如何控制 GPTBot、Google-Extended 等 AI 爬蟲。

robots.txt 是一個放在網站根目錄的純文字檔,用來告訴搜尋引擎的爬蟲「網站上哪些網址可以爬、哪些先別爬」。它的主要功能是管理爬蟲流量、避免伺服器被大量請求灌爆,而不是用來把網頁從 Google 藏起來。

重點速覽

  • 必須放在網站根目錄(如 https://www.example.com/robots.txt),它擋的是「爬取」,不是「索引」。
  • 想讓頁面真正不出現在搜尋,要用 noindex,而不是靠 robots.txt。
  • 它還有一個關鍵任務:決定 GPTBot、Google-Extended 等 AI 爬蟲能不能讀你的內容。

robots.txt 是什麼?

依 Google 官方說法,robots.txt 用來告訴搜尋引擎爬蟲「可以存取網站上的哪些網址」,主要目的是避免你的網站被太多請求壓垮;它「不是」把網頁排除在 Google 之外的手段。

技術上有幾個重點要知道:它必須放在網站的根目錄,放在子目錄是無效的;它是一份遵循公開標準「機器人排除協定」的純文字檔;Google 搜尋支援透過 HTTP、HTTPS 與 FTP 來讀取這個檔案;而且有大小上限,Google 只讀取前 500 KiB,超過的部分會被忽略(一般網站根本用不到這麼大)。

它的基本語法由幾個欄位組成,以 # 開頭的那一行是註解:User-agent 指這組規則是寫給哪一隻爬蟲看的(* 代表所有爬蟲)、Disallow 是不准爬的路徑、Allow 是允許爬的路徑(可在被擋的資料夾裡開一個例外)、Sitemap 則是告訴爬蟲你的網站地圖放在哪裡。一個最常見的例子大概長這樣:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.example.com/sitemap.xml

當規則彼此衝突時,Google 會挑「路徑寫得最明確(最長)」的那一條;如果還是打平,就採「限制最寬鬆」的那一條。要注意欄位名稱不分大小寫,但路徑的值是分大小寫的。


用白話文怎麼說?

你可以把 robots.txt 想成貼在店門口的一張公告:「歡迎參觀,但員工休息室、倉庫請勿進入。」

有禮貌的訪客(像 Googlebot 這種正派爬蟲)看到公告就會自動繞開;但這張公告沒有鎖、也沒有保全,存心要闖的人(惡意爬蟲)照樣可以走進去。所以它是一種「請求」,不是「強制」。

也因為它只是一張公告,任何人都能直接打開來看——在任何網站網址後面加上 /robots.txt 就行。這代表你不該把它當成保險箱:把「機密資料夾」的路徑寫上去擋,反而像是公告全世界「這裡有東西」。

你可以這樣記:robots.txt 是「拜託你別進來」的告示牌,不是「進不來」的門鎖。


robots.txt 實際上要做什麼?

對大多數新手網站來說,你其實不太需要手動寫它——很多 CMS(像 WordPress、Wix)會自動產生一份堪用的版本。真的要動手時,常見用途有這幾種:

  • 擋掉沒有搜尋價值的頁面:例如後台、購物車、站內搜尋結果頁、無止盡的篩選排序網址,讓爬蟲別在這些地方空轉。
  • 管理爬蟲流量:當你擔心伺服器被大量抓取拖垮時,用它來收斂爬取範圍。
  • 指出網站地圖位置:用一行 Sitemap:,幫爬蟲更快找到你想被收錄的頁面。
  • 控制媒體檔:可以擋掉特定圖片、影片、PDF 出現在 Google 搜尋結果——這對媒體檔是有效的。

設定完務必驗證:可以用 Google Search Console 的 robots.txt 報告,確認檔案有被正確讀取、也沒有不小心擋到重要頁面。

最後提醒一個高風險操作:千萬別寫成 Disallow: /(擋掉整站)然後忘了拿掉。很多人在新站開發時會這樣暫時封鎖,結果上線後忘記改回來,整個網站就一直進不了 Google。


關於 robots.txt 的常見迷思

迷思一:用 robots.txt 擋掉,頁面就不會出現在 Google

不對。robots.txt 擋的是「爬取」,不是「索引」。

如果一個被擋的網址被其他網站連結到,Google 仍可能在沒有實際讀取內容的情況下,把這個網址收進搜尋結果,只是顯示時不會有描述。

要真正讓頁面不出現,得用 noindex 標籤或 HTTP 標頭,或直接設密碼保護。

迷思二:在 robots.txt 裡寫 noindex 就能阻止收錄

不行。Google 早在 2019 年 9 月 1 日就正式停止支援 robots.txt 裡的 noindex 指令。現在把 noindex 寫在 robots.txt 裡是無效的,要改用網頁上的 meta robots 標籤,或伺服器的 X-Robots-Tag 標頭。

迷思三:robots.txt 可以保護隱私或機密

不能。它是公開檔案,任何人都看得到,而且只有正派爬蟲會自願遵守。要保護真正不能外流的東西,請用密碼保護或權限控管,別只靠 robots.txt 這張告示牌。

迷思四:寫了 robots.txt 就會幫排名加分

robots.txt 本身不是排名訊號,它的角色是「管理爬取」。設錯了(例如不小心擋掉重要頁面,或擋掉 Google 需要讀的 CSS、JS)反而會害到 SEO;設對了也只是讓爬蟲更有效率,不會因此自動替你加分。


總結

如果只記一句話:robots.txt 是放在網站根目錄、用來「引導」爬蟲爬哪些、別爬哪些的公告牌,重點在管理爬取,而不是隱藏內容。

新手可以記住三件事。

  • 第一,它擋的是「爬取」不是「索引」,要讓頁面從 Google 消失,請改用 noindex 或密碼保護。
  • 第二,它是公開、且只靠對方自律的檔案,別拿來放機密。
  • 第三,它多了一個關鍵任務——決定 AI 爬蟲能不能讀你的內容;不論設定前後,都記得用 Search Console 驗證,別誤擋了重要頁面。

參考資料