robots.txt 是決定搜尋引擎能否抓取網站內容的關鍵,玩構科技手把手教你如何正確撰寫 robots.txt,設定 Allow、Disallow、Sitemap 等語法,並解析其在 SEO 的實際影響與最佳應用方式。
Table of Contents
Togglerobots.txt 是什麼?功能與工作原理說明
當搜尋引擎的爬蟲(crawler)造訪網站時,它們的第一個動作通常是尋找網站根目錄下是否存在名為 robots.txt
的檔案。這個檔案是一種純文字格式的協定檔案,用來告訴搜尋引擎哪些頁面可以被抓取、哪些不可以,robots.txt 是網站與搜尋引擎之間的「溝通協議」,主要用來管理搜尋引擎的爬行與索引行為。
這個機制屬於「協商式」的標準,也就是搜尋引擎通常會遵守 robots.txt 中的規則,但它並不強制,亦無法防止有心者直接存取某些頁面,它是一種善意提醒,並不等於絕對保密或防止爬蟲的技術手段。
網站管理者可透過 robots.txt 有效引導搜尋引擎的流量,將資源集中在重要內容上,同時避免無效抓取導致爬行資源浪費,進而提升網站整體的 SEO 效率與網站速度表現。
robots.txt 的標準與歷史來源
robots.txt 的誕生可追溯至 1994 年,由荷蘭工程師 Martijn Koster 所提出,當時他希望建立一種協定來指導搜尋引擎「應該」或「不應該」抓取網站的哪些部分。這套協定後來被稱為 Robots Exclusion Protocol(REP),並迅速被 AltaVista、Google、Yahoo 等早期搜尋引擎所採用。
雖然這項協議從未被正式列入如 IETF 的標準規範中,但它在網際網路上廣泛被遵守,成為網站對搜尋引擎表達爬行意圖的業界慣例,Google 在 2019 年甚至公開了其解析 robots.txt 原始碼的程式,進一步推動標準透明化。
需要注意的是,不是所有爬蟲都會遵循 robots.txt,尤其是惡意爬蟲或較不知名的 crawler,仍可能無視這項規範。
robots.txt 在網站中的位置與命名規則
robots.txt 必須被放置在網站的根目錄(root directory),也就是:
https://你的網站.com/robots.txt
這是搜尋引擎預設會尋找的位置,如果 robots.txt 沒有正確設置於根目錄,則搜尋引擎會認為該網站沒有 robots.txt,也就無法正確讀取相關指令。
檔名必須完全是小寫的 robots.txt
,不可改為其他名稱或使用副檔名(例如 .xml
、.html
等),此檔案也不支援使用子目錄,例如 https://你的網站.com/folder/robots.txt
是無效的。
為確保搜尋引擎正確存取 robots.txt,網站應使用標準 HTTP 200 狀態碼回應該檔案,若返回 404 或 403,Google 將視為「無限制」或「無法解析」,可能導致不預期的抓取行為。
搜尋引擎如何解析 robots.txt
當搜尋引擎爬蟲(如 Googlebot)訪問一個網站時,會先嘗試讀取 https://網站.com/robots.txt
檔案,如果該檔案存在且內容有效,爬蟲會根據其中定義的規則判斷是否繼續抓取特定頁面。
解析順序大致如下:
- 辨識 User-agent:根據爬蟲的身分選擇對應規則段落(如
User-agent: Googlebot
)。 - 讀取 Allow / Disallow 規則:這些指令決定是否允許抓取指定路徑。
- 執行規則:如果
Disallow
路徑符合目前頁面,則該頁面不會被爬取。
建立與設定 robots.txt 的步驟教學
知道如何撰寫 robots.txt 並不代表能馬上正確部署,實際上不少網站因為 robots.txt 檔案位置錯誤或語法排版出錯,導致搜尋引擎無法正確解析,影響整站的 SEO 效果。以下將完整說明從撰寫到上傳 robots.txt 的正確流程,確保搜尋引擎能夠順利抓取你想要呈現的頁面內容。
無論你是 WordPress 使用者還是自架站的開發者,遵循這些步驟都能有效減少 robots.txt 的錯誤發生率,並提高網站的可控性與搜尋引擎對網站的好感度。
撰寫 robots.txt 的基本流程
撰寫 robots.txt 可使用任何純文字編輯器(如 Notepad++、VS Code、Sublime Text 等),但切記儲存格式必須為 UTF-8,副檔名為 .txt
,檔名需為全小寫 robots.txt
。
基本流程如下:
- 確認網站需求:決定哪些頁面應開放、哪些應封鎖。
- 列出 User-agent:是否需要針對特定搜尋引擎做不同設定(如 Googlebot、Bingbot)。
- 撰寫語法:依據需求填入 Disallow、Allow、Sitemap 等指令。
- 檢查語法是否符合格式:每組規則之間須換行,避免使用中文或特殊符號。
- 進行測試驗證(建議):可透過 Google Search Console 測試預覽功能。
檢查與上傳到正確路徑(根目錄)
正確上傳方式依據網站平台略有不同:
- 自行架站或 VPS 伺服器:透過 FTP 或 cPanel 將檔案上傳到 public_html 根目錄。
- WordPress 使用者:部分主題或 SEO 外掛(如 Yoast SEO、All in One SEO)可直接透過後台生成與修改 robots.txt。
- CDN 服務(如 Cloudflare):robots.txt 檔案應先正確設定於原始主機,CDN 會照常轉交請求。
上傳完成後,建議打開瀏覽器直接訪問 /robots.txt
檢查是否能正確讀取,並使用 Google Search Console 測試功能進一步驗證格式與指令是否正確。
robots.txt 範例說明:常見設定與應用情境
在了解 robots.txt 的語法之後,實際應用時,網站管理者常常會面臨一個問題:「我應該封鎖哪些頁面?哪些又該允許?」正確的設定範例可以協助網站避免搜尋引擎誤抓不必要內容,同時保護網站結構的清晰性。
以下列出多種典型的 robots.txt 設定範例,涵蓋從全站開放、全站封鎖,到僅封鎖特定目錄或檔案的實務案例,便於依照網站規模與性質做調整。
允許全部、封鎖全部的語法範例
完全允許所有搜尋引擎抓取所有內容(最開放設定)
這是預設情況下的設定,適合希望網站所有內容都被搜尋引擎索引的網站。
User-agent: *
Disallow:
這表示對所有爬蟲開放所有頁面,Disallow
後無指定路徑,等同於「不封鎖任何內容」。
完全封鎖所有搜尋引擎抓取任何內容(慎用)
適用於網站尚未完成開發階段或內部使用,防止任何搜尋引擎進入。
User-agent: *
Disallow: /
這會導致整個網站無法被任何搜尋引擎抓取,即使頁面有外部連結也不會被索引,不建議長期使用。
僅封鎖特定資料夾或檔案的範例
這類設定最常見於商業網站、部落格、購物網站等,目的是避免搜尋引擎浪費爬蟲資源或暴露不必要內容。
封鎖網站後台
User-agent: *
Disallow: /admin/
封鎖購物車與結帳頁面
User-agent: *
Disallow: /cart/
Disallow: /checkout/
封鎖登入頁與個人帳號
User-agent: *
Disallow: /login
Disallow: /user/profile
封鎖內部搜尋結果頁(防止重複內容)
User-agent: *
Disallow: /search
封鎖開發或測試環境
User-agent: *
Disallow: /staging/
Disallow: /dev/
這些設定都是實務上常見的 SEO 最佳作法,有助於網站結構清晰、內容集中且避免被搜尋引擎索引無價值或重複的頁面,進而強化整體搜尋品質。
robots.txt 語法總整理:指令與使用方式說明
了解 robots.txt 的作用之後,實際的操作就離不開「語法」,雖然 robots.txt 是一個格式簡單的文字檔案,但其中使用的指令與結構必須正確,才能被搜尋引擎正確解析,錯誤的語法不僅會導致無效的封鎖,甚至可能誤擋了重要頁面,對 SEO 造成負面影響。
robots.txt 的語法主要以「User-agent」為核心,搭配「Allow」、「Disallow」、「Crawl-delay」、「Sitemap」等指令組成區塊。每一組規則會針對一個或多個搜尋引擎設定其可以與不可以抓取的範圍。指令間無需使用括號、縮排或結尾符號,只需用換行區分即可。
User-agent、Disallow、Allow 等基本語法
以下是最常見的基本指令語法組成:
- User-agent:指定規則適用的爬蟲種類,搜尋引擎會根據這一行判斷是否套用對應規則,若設為
*
,則代表適用於所有搜尋引擎。 - Disallow:用於阻止搜尋引擎抓取某些特定頁面或目錄。如果值為
/
,表示封鎖整個網站 - Allow:允許搜尋引擎抓取特定頁面或資料夾,主要用於與
Disallow
搭配,微調允許範圍(如在封鎖整個資料夾的情況下,例外允許特定檔案)。
注意事項
以下為注意事項:
- 每個
User-agent
區塊只能配對一組或多組指令,不能混淆語法順序。 - 搜尋引擎會以「最具體的規則優先」,例如一個特定檔案的
Allow
會優先於目錄的Disallow
。
Crawl-delay、Sitemap、Wildcard 等進階語法
在進階應用中,有些搜尋引擎(如 Bing、Yandex)支援額外的 robots.txt 指令,能更細緻控制爬蟲行為。雖然 Googlebot 並不完全支援這些指令,但了解這些語法對於多國多地網站或技術型 SEO 仍然重要。
Crawl-delay
設定爬蟲每次請求之間的延遲秒數,用於降低伺服器負載,Google 不支援此指令,但 Bing 和 Yandex 支援。
Crawl-delay: 10
Sitemap
指向網站的 XML Sitemap,讓搜尋引擎更有效率抓取所有重要頁面。
Sitemap: https://example.com/sitemap.xml
Wildcard(萬用字元)
使用 *
表示任何字元,$
表示結尾,用來提高匹配彈性(Googlebot 支援)。
Disallow: /*.pdf$
Disallow: /temp/*
這些語法搭配得宜,可以讓 robots.txt 在維護搜尋品質與伺服器效能上發揮更大作用。
robots.txt 在 SEO 中的角色與影響
robots.txt 雖然是一個簡單的文字檔,但在 SEO(搜尋引擎最佳化)中扮演著極其重要的角色。透過正確的設定,網站可以有效控制搜尋引擎的抓取行為、避免不必要頁面的索引、優化網站資源分配、提升網站整體搜尋可見性。
一個網站的可見頁面不代表所有內容都應該被搜尋引擎收錄,例如:登入頁、後台介面、購物車頁面或測試頁等通常不具備 SEO 價值,還可能因重複內容或低權重拖累網站整體表現,robots.txt 就是阻擋這些頁面被無謂抓取的第一道防線。
對於大型網站而言,搜尋引擎每天能夠抓取的頁面數是有限的,也就是所謂的「爬蟲資源(crawl budget)」。適當運用 robots.txt 可以幫助搜尋引擎集中精力抓取重要頁面,提高有效索引率,進而強化關鍵內容的曝光機會。
robots.txt 常見錯誤與檢查工具推薦
即便語法簡單,實務中 robots.txt 的錯誤仍非常常見,這些錯誤不僅會導致搜尋引擎無法正確抓取重要內容,還可能造成網站排名異常下滑。為了讓 robots.txt 發揮應有的作用,我們必須了解最常見的錯誤與如何透過工具進行驗證與修正。
語法錯誤、路徑錯誤等常見問題
以下是開發與行銷人員最常犯的幾個 robots.txt 錯誤:
- 拼錯指令(如:Disalow、UserAgent) → 搜尋引擎會忽略整段錯誤語法。
- 檔案未放在根目錄 → 導致搜尋引擎根本找不到 robots.txt。
- 路徑錯誤或區分大小寫 →
/Admin/
與/admin/
是不同路徑,需正確對應。 - 錯誤封鎖整站內容 →
Disallow: /
若不慎加入,可能會讓整個網站無法被搜尋引擎抓取。 - 多個 User-agent 設定衝突或重複 → 導致搜尋引擎無法判斷應用哪段規則。
使用 Google Search Console 測試 robots.txt 有效性
Google Search Console 提供「robots.txt 測試工具」(舊版功能,目前可透過 URL 檢查工具輔助)讓你驗證某個網址是否被 robots.txt 封鎖。使用方式如下:
- 登入 Google Search Console。
- 選擇你管理的網站屬性。
- 使用「網址檢查」功能輸入一個 URL。
- 查看「是否允許抓取」的結果,若顯示為「封鎖」,可進一步查看原因。
還可透過以下第三方工具協助驗證:
這些工具能即時模擬爬蟲抓取結果,協助你快速定位問題與修正錯誤,提高 robots.txt 的正確性與 SEO 安全性。
善用 robots.txt,掌握網站 SEO 主控權
robots.txt 雖然只是一個簡單的文字檔,但其在搜尋引擎眼中的地位舉足輕重,透過合理設定與正確部署,不僅能引導搜尋引擎聚焦高價值內容,更能避免無效爬行與潛在的 SEO 風險,無論你是剛起步的網站經營者,還是對網站架構與搜尋可見性有更高要求的團隊,robots.txt 都應該列入你 SEO 管理策略的核心工具之一。
如果你希望為網站打造更完善的 SEO 架構、排除技術性錯誤,或想進一步了解 robots.txt 在你網站上的實際應用,玩構科技網路行銷提供專業的 SEO 顧問與技術支援,協助你提升網站搜尋表現、精準吸引目標流量。
- 公司官網:https://www.iwangoweb.com/
- 諮詢電話:(07)-6075007
- 官方帳號:https://lin.ee/JRo9XRA