Robots.txt 設定全教學:語法範例與 SEO 常見錯誤修正

robots.txt 是網站與搜尋引擎爬蟲溝通的關鍵檔案。本文從基礎語法、設定範例到驗證流程,詳細說明 robots.txt 設定如何影響網站 SEO 的可爬取性,並解析常見的 disallow 誤區,助您有效管理搜尋引擎爬取權限。

robots.txt 設定技術 SEO搜尋引擎爬蟲網站維護SEO 基礎

什麼是 robots.txt 檔案?

robots.txt 是一個位於網站根目錄(例如 https://yourdomain.com/robots.txt)的純文字檔案。它的主要目的是作為你與搜尋引擎爬蟲(如 Googlebot)之間的溝通協定,用來指示爬蟲哪些目錄或檔案可以或不應該被「爬取」(訪問與讀取)。這份檔案是網站技術 SEO 與維運管理的基礎工具。

一個關鍵的區別在於,robots.txt 控制的是爬蟲的「爬取權限」,決定爬蟲是否可以讀取頁面內容。而 HTML 中的 meta robots 標籤或 HTTP 標頭 X-Robots-Tag 則是控制「索引權限」,決定該頁面是否允許被收錄到搜尋結果中。兩者功能不同,經常需要搭配使用。需要理解的是,robots.txt 是一項「協定」,正規的搜尋引擎爬蟲會主動遵守,但它並非強制性的安全機制,惡意爬蟲可以選擇無視這些規則。

從網站 SEO 的角度來看,正確的 robots.txt 設定是確保搜尋引擎爬蟲能有效率地爬取重要頁面的關鍵第一步。它直接影響網站的「可爬取性」,這與最終的搜尋排名表現密切相關,是構成整體網站 SEO 策略中不可或缺的技術基礎。

核心語法與指令詳解

撰寫 robots.txt 需要遵循特定的語法結構。檔案命名必須是全小寫的 robots.txt,並放置於網站的最頂層目錄。檔案中每一條規則都針對特定的 User-agent(爬蟲名稱)並包含 Disallow 或 Allow 指令。

User-agent 用於指定規則適用的爬蟲。例如,User-agent: Googlebot 是針對 Google 搜尋爬蟲,而 User-agent: * 則是一個通配符,代表這條規則適用於所有爬蟲。Disallow 指令後面接著一個 URL 路徑,表示禁止爬蟲訪問以該路徑開頭的所有內容。例如,Disallow: /admin/ 會阻止爬蟲存取 /admin/ 目錄下的所有檔案與子目錄。Allow 指令則用於在已設定 Disallow 的更大範圍內,特別允許訪問某個子路徑,但並非所有爬蟲都支援此指令。語法範例如下:

User-agent: *
Disallow: /private/
Allow: /public/

這段語法的意思是禁止所有爬蟲存取 /private/ 目錄,但允許它們存取 /public/ 目錄。

常見設定情境與實用範例

以下是幾個典型的設定情境與對應的 robots.txt 撰寫範例。在撰寫時,請牢記路徑必須從網站根目錄開始(以 / 開頭),並且錯誤的設定可能導致重要頁面從搜尋結果中消失。

  • 情境一:禁止所有爬蟲存取特定資料夾
    這常用於管理後臺、暫存區或測試目錄。
User-agent: *
Disallow: /admin/
Disallow: /tmp/
  • 情境二:僅允許特定爬蟲(如 Googlebot)訪問全部內容
    你可以為不同的爬蟲制定不同的規則。
User-agent: Googlebot
Disallow:

User-agent: * Disallow: /

以上設定允許 Googlebot 爬取所有頁面,但禁止其他所有爬蟲訪問網站。

  • 情境三:在廣泛禁止中允許特定檔案
    例如,你可能不希望爬蟲抓取 /images/ 目錄,但希望特定的 logo 圖片能被索引。
User-agent: *
Disallow: /images/
Allow: /images/logo.png

重要注意:Disallow: / 這條規則會完全阻止爬蟲存取你網站的所有內容,極度不建議在正式運作的網站上使用,通常僅在網站測試期間使用。

這些情境化的設定範例,展示瞭如何透過精準的規則來引導爬蟲行為。對於追求最佳化爬取效率的網站 SEO 而言,避免因配置錯誤而浪費爬蟲預算或封鎖重要資源,是確保網站內容能被搜尋引擎有效發現與索引的實踐基礎。

主流 CMS 平臺設定實戰

不同內容管理系統(CMS)提供了多種管理 robots.txt 的方式,瞭解各平臺的特性可以避免設定錯誤。

  • WordPress:WordPress 本身沒有直接編輯 robots.txt 的介面,它會在根目錄生成一個虛擬的檔案。最推薦且安全的方式是透過 SEO 外掛進行編輯,例如 Rank Math 或 Yoast SEO,它們在後臺設定中都提供了 robots.txt 的編輯器。另一種方式是透過 cPanel 或 FTP 直接在根目錄上傳一個實體的 robots.txt 檔案,這會覆蓋虛擬檔案。
  • Shopify:Shopify 提供了直接的編輯管道。在後臺進入「線上商店」>「偏好設定」,即可找到「搜尋引擎最佳化」區塊,裡麪包含 robots.txt 的編輯功能。
  • Wix / Webflow:這些平臺通常在 SEO 設定區提供部分控制選項,或者允許你上傳自訂的 robots.txt 檔案。具體路徑請參閱各平臺的官方幫助文件。

不論使用哪個平臺,修改前務必先備份現有設定,並避免同時使用多個工具(如外掛和 FTP)進行編輯,以免規則衝突。修改完成後,必須進行測試。

進階技巧:禁止 AI 爬蟲抓取

隨著 AI 技術發展,許多網站營運者希望阻止 AI 公司的爬蟲抓取其內容用於訓練模型。你可以透過 robots.txt 中的 User-agent 指令,明確封鎖這些特定的爬蟲。

以下是一些常見 AI 爬蟲的代號,你可以在 robots.txt 中針對這些 User-agent 設定 Disallow 規則:

User-agent: GPTBot
Disallow: /

User-agent: CCBot Disallow: /

User-agent: Google-Extended Disallow: /

這段設定會告知 OpenAI 的 GPTBot、Common Crawl 的 CCBot 以及 Google 的 Google-Extended 爬蟲不要抓取你網站上的任何內容。請務必留意,此舉僅對「遵守 robots.txt 協定」的爬蟲有效,它無法作為絕對的封鎖機制,也無法阻止這些公司透過其他公開管道獲取你的網站資訊。

這些設定雖非絕對防護,卻是網站主張內容使用權限的重要技術表態。在規劃網站內容的公開與保護策略時,將此納入整體的網站 SEO 與資料治理框架中考量,是當代網路維運者需要具備的進階意識。

設定後的測試與驗證流程

在修改或上傳新的 robots.txt 檔案後,直接假設其正確生效是危險的。必須透過工具進行驗證,確保規則被正確解析,且沒有意外封鎖重要頁面。

主要工具:Google Search Console 的「測試 robots.txt」
這是 Google 提供的官方免費工具,可以模擬 Googlebot 如何解讀你的 robots.txt 檔案。操作步驟如下:

  1. 登入你的 Google Search Console 帳號。
  2. 在左側選單中找到「 robots.txt」測試工具(或於「設定」>「robots.txt」中找到)。
  3. 選擇你要測試的網址屬性,工具會自動載入你網站的 robots.txt 內容。
  4. 在測試區域輸入你網站上的任何 URL,然後選擇要模擬的爬蟲(如 Googlebot)。
  5. 工具會立即顯示該爬蟲是否被允許訪問該 URL,以及是被哪一條規則影響。

驗證清單:測試時應確認所有重要的內容頁面(如產品頁、文章頁)顯示為「允許」,而你不希望被索引的頁面(如後臺登入頁、內部搜尋結果)顯示為「封鎖」。同時檢查工具是否提示任何語法錯誤。你也可以輔助使用第三方爬蟲模擬工具來交叉驗證。

完成測試與驗證,是將 robots.txt 從設定檔轉化為實際 SEO 效能的關鍵一步。此流程確保了技術設定能準確反映網站主的爬取策略,從而為後續的索引與排名工作奠定可靠的基礎。

robots.txt 檔案要放在哪裡?

檔案必須命名為 robots.txt(全小寫),並放置於網站的根目錄下。例如,若你的網站網址是 https://example.com,則檔案的完整路徑應為 https://example.com/robots.txt。這是所有搜尋引擎爬蟲預設會去讀取的位置。

robots.txt 的 User-agent: * 是什麼意思?

* 是一個通配符,代表這條規則將套用到所有試圖爬取你網站的搜尋引擎爬蟲,不論它的具體名稱是什麼。這是最常用的設定方式,用以制定通用規則。

設定 Disallow: / 會發生什麼事?

這會指示所有遵守協定的爬蟲不要爬取你網站的任何頁面。如果檔案中只有這行指令,可能導致你的整個網站從搜尋結果中消失。此設定通常僅在網站上線前測試階段或需要完全隱藏時使用,在正式環境中應極度謹慎。

robots.txt 能阻止所有爬蟲或惡意軟體嗎?

不能。robots.txt 是一項善意協定,正規的搜尋引擎爬蟲(如 Googlebot)會主動遵守,但惡意爬蟲或程式可以完全無視這些規則。它並非用來抵禦網路攻擊或資料竊取的安全防火牆。

修改 robots.txt 後,搜尋引擎多久會更新?

沒有固定的時間表。Google 等搜尋引擎會在下次爬取你的網站時讀取並套用新的 robots.txt 檔案。這個過程可能從幾分鐘到幾天不等。你可以透過 Google Search Console 的測試工具即時驗證設定是否生效。

為什麼我的 robots.txt 顯示 Disallow: /images/,但圖片還出現在 Google 圖片搜尋中?

因為 Disallow 指令只阻止爬蟲「爬取」(訪問與讀取)特定路徑下的頁面,但不一定能阻止「索引」。如果其他網站連結到你被封鎖的圖片,Google 仍可能透過那些外部連結發現並索引這些圖片。要完全阻止索引,需要搭配使用 meta robots 標籤或 X-Robots-Tag HTTP 標頭。

WordPress 有預設的 robots.txt 嗎?如何修改?

是的。WordPress 會在根目錄生成一個「虛擬的」robots.txt,其實際內容儲存在資料庫中,而非實體檔案。最安全且推薦的修改方式是透過安裝 SEO 外掛(如 Rank Math、Yoast),在其設定介面中編輯 robots.txt 內容。這樣可以避免檔案衝突,且設定不會因主題或外掛更新而丟失。

設定 robots.txt 會影響網站速度嗎?

不會直接影響。robots.txt 檔案體積通常非常小(以 KB 計),爬蟲在訪問你網站時會第一個讀取它,這幾乎不會增加頁面載入時間。正確的設定反而能透過阻止爬蟲訪問不重要的頁面(如暫存檔、管理介面),來節省伺服器資源與頻寬,從間接效益上對維運有益。