robots.txt 檔案是一個純文字檔案,放置在網站的根目錄,用來告訴合作的網路爬蟲哪些路徑可以或不可以要求。當搜尋引擎造訪網站時,它會是最先尋找的檔案,並使用兩個核心指令 — Allow 與 Disallow — 搭配一個選用的 Sitemap 行,來引導機器人如何遍歷您的內容。雖然這些規則是自願性質,且行為良好的爬蟲會遵守,但這個檔案仍然是在網站層級(而非頁面層級)宣告抓取偏好的標準做法。
如果您曾搜尋過發布這些規則的最佳方式,答案比您想像的還要簡短:在純文字編輯器中撰寫指令,將結果另存為 robots.txt,上傳到您網域的文件根目錄,然後透過在瀏覽器中載入該網址來進行驗證。困難之處不在於檔案本身,而在於嚴格遵守正確語法、保持路徑清單與網站實際提供的內容一致,以及避免犯下封鎖您想被索引的內容這種經典錯誤。這正是聚焦的產生器能派上用場之處,因為它會格式化指令、處理邊角情況,並讓您在內容送到伺服器之前先檢查輸出結果。

robots.txt 實際上做了什麼
機器人排除通訊協定(Robots Exclusion Protocol)最初於 1994 年提出,至今仍作為非正式的社群標準維護,定義了網站如何向使用者代理(如 Googlebot、Bingbot 及無數較小的爬蟲)通告抓取規則。該標準記錄於 W3C 社群頁面及維護者的網站上,描述了 User-agent、Allow、Disallow、Sitemap 的語法,以及一組小型現代化擴充。由於該通訊協定是自願性質的,惡意機器人可以忽略它 —— 這正是身份驗證、伺服器端存取控制,以及 noindex 中繼標籤與之並存的原因之一。
實際上,robots.txt 扮演三種角色。它將低價值的路徑(搜尋結果頁面、內部搜尋網址、測試環境目錄、暫時性的活動資料夾)排除在抓取排程之外。它將爬蟲指向您的 XML 網站地圖,以便能找到每個頁面的標準版本。當敏感區域意外從其他地方被連結時,它還能充當安全網 —— 您可以在根目錄封鎖該路徑,同時決定更強固的修補方式。
以淺白英文撰寫的核心指令
每個 robots.txt 檔案都是一或多個群組的序列,每個群組的結構相同:一行或多行 User-agent,指名規則適用的爬蟲,接著是規則本身。規則一行一條撰寫,以 Allow 或 Disallow 開頭,後接一個路徑前置詞,配對器會將其與每個被要求的網址開頭進行比對。Disallow: / 這一行會為該使用者代理封鎖整個網站;空白的 Disallow 則允許所有內容。
| 指令 | 意義 | 範例 |
|---|---|---|
User-agent | 指名下列規則適用的爬蟲。* 配對所有合作的爬蟲。 | User-agent: * |
Disallow | 爬蟲不得要求的路徑前置詞。空白值代表允許所有內容。 | Disallow: /private/ |
Allow | 爬蟲可以要求的路徑前置詞,用於在更廣泛的禁止規則中建立例外。 | Allow: /private/public-notes/ |
Sitemap | XML 網站地圖的絕對網址。必須是完整網址,而非相對路徑。 | Sitemap: https://example.com/sitemap.xml |
路徑預設以前綴方式進行比對,所以 Disallow: /admin 會同時封鎖 /admin、/admin/login 和 /admin-archive。當您指的是目錄時,請加上結尾斜線。爬蟲區分大小寫,所以 Disallow: /Admin/ 並不會封鎖 /admin/,而這樣的不一致正是「已封鎖」路徑仍被抓取的最常見原因之一。
如何使用瀏覽器型產生器建立 robots.txt
產生器透過處理格式設定來幫您避免打錯字與大小寫錯誤,同時讓路徑清單保持在您的掌控之下。本站的 Robots.txt 產生器完全在您的瀏覽器中執行,永遠不會將您的規則傳送到遠端伺服器,這在檔案描述正式環境網站的私密區段時相當重要。以下是完整的工作流程,逐步說明。
- 在瀏覽器中開啟 Robots.txt 產生器。此工具載入時欄位為空,不需要登入。
- 輸入網站來源的完整 HTTP 或 HTTPS 網址 —— 例如
https://www.example.com。此值稍後會重複用於建立絕對的Sitemap網址。 - 選擇整體的爬蟲政策。如果想要一個寬鬆的基準、僅宣告網站地圖,請使用「Allow everything」;若要暫時全面封鎖,請使用「Disallow everything」;若想封鎖經過篩選的路徑清單,請使用「Selective mode」。
- 如果您選擇了選擇性模式,請每行輸入一個禁止路徑。請在適當的位置使用目錄斜線(例如
/internal-search/),並保持大小寫與伺服器實際提供的內容一致。 - 點擊 Generate。此工具會在可閱讀的文字區域中呈現完整檔案,包括任何預設的
User-agent: *群組,以及由您的來源網址所建立的Sitemap行。 - 逐字元檢查輸出結果。確認每個被封鎖的路徑使用與網站相同的大小寫、
Disallow行的範圍不會過廣而涵蓋您希望被索引的網址,且網站地圖網址能正確解析。 - 在發布之前,先將新文字與目前的正式檔案進行比對。在另一個分頁開啟
https://your-site/robots.txt並比對兩個檔案的差異,這樣可以發現對現有規則的意外變更。 - 將檔案以純 UTF-8 文字(不含 BOM、無富格式)另存為
robots.txt,並上傳到您網域的文件根目錄,使其能在/robots.txt解析。
由於產生器從不傳輸您的設定資料,您可以在草擬期間安心貼上內部路徑模式。唯一會離開您瀏覽器的資料,就是您事後選擇下載或複製的內容。
發布與驗證檔案
檔案儲存並上傳後,請以爬蟲的方式進行驗證:在瀏覽器中、curl 中,或您慣用的搜尋引擎內建測試工具中,直接要求該標準網址。該檔案必須以 200 OK 狀態傳回,並回應 text/plain(或相容的)內容類型,不得包裹在 HTML 中、不得重新導向,也不可被防火牆規則封鎖。對於大多數爬蟲而言,非 200 的回應會被視為「沒有 robots.txt」,這代表預設行為是「允許所有內容」 —— 這通常不是您想要的。
發布後,請給主要的爬蟲一段時間重新整理其快取副本。對於活躍的網站,大多數引擎會在一天內重新擷取 robots.txt,但透過搜尋主控台的 robots.txt 測試器手動擷取可以加速這個週期,並讓您清楚看到每個爬蟲實際解析了哪些行。如果您要在大型網站上推出新的封鎖清單,請考慮先在測試來源中分階段進行變更,以便在上線前確認規則的行為符合預期。
常見陷阱與避免方式
同一小群錯誤佔了大多數損壞的 robots.txt 檔案。將 Disallow 當成身份驗證是最嚴重的類別:該指令只是請合作的爬蟲不要擷取某個路徑,因此並不能對知道網址的使用者隱藏頁面。對於真正敏感的資料,請在應用程式層級進行控管,或回傳適當的 401/403 回應。
其他值得檢查的陷阱:在會加入 BOM 或智慧引號的富文字編輯器中撰寫檔案、為 Sitemap 指令使用相對路徑、封鎖了包含網站地圖本身的路徑,以及將 Disallow 與頁面層級的 noindex 中繼標籤混淆。搜尋引擎清楚記錄了這項區別:Disallow 防止抓取,而 noindex 防止索引,兩者並不可互換。如果您希望某個頁面不要被索引,但仍需要爬蟲看見它(例如以便發現其標準連結),請使用 noindex,而非全面封鎖。
| 陷阱 | 出了什麼問題 | 更安全的做法 |
|---|---|---|
將檔案另存為 robots.txt.txt 或放在子資料夾中 | 爬蟲在 /robots.txt 找不到該檔案 | 上傳至精確的文件根目錄,檔名使用小寫,不加副檔名 |
| 使用富文字編輯器 | 智慧引號或 BOM 會破壞指令的解析 | 使用純文字編輯器,並以不含 BOM 的 UTF-8 編碼儲存 |
| 大小寫不一致 | Disallow: /Admin/ 並不會封鎖 /admin/ | 比對伺服器對每個路徑所使用的精確大小寫 |
| 封鎖了網站地圖的路徑 | 爬蟲無法讀取您指向的網站地圖 | 將 Sitemap 行放在任何封鎖群組之外,並驗證網址能正確解析 |
將 Disallow 用於安全性目的 | 該指令是自願性質的,容易被忽略 | 透過伺服器規則、身份驗證或適當的 noindex 標籤來強制執行存取控制 |
robots.txt 在更廣泛 SEO 設定中的定位
robots.txt 是數個抓取控制工具之一,搭配其他工具使用時效果最佳。標準化標籤會告訴爬蟲該索引重複頁面的哪個版本,XML 網站地圖會列出您實際希望被索引的網址,而 hreflang 組合會告訴多語系的爬蟲哪個頁面屬於哪個受眾。您也可以在瀏覽器中分別起草這些項目:標準化標籤產生器 會產生乾淨的 rel="canonical" 連結元素,XML 網站地圖產生器 會將審核過的網址清單轉為網站地圖檔案,而 Hreflang 產生器 會根據語系與網址組合建立一致的替代連結集。搭配使用時,這些檔案能為爬蟲提供明確的網站地圖,減少模糊訊號進入索引的機會。
在發布新的 robots.txt 之前,請進行最後一項健全性檢查:使用完整的正式網址在全新的瀏覽器視窗中開啟該檔案,複製結果,並貼到 diff 工具中與即將部署的版本進行比對。兩行差異能比仔細重讀抓到更多錯誤,也讓後續參與網站維護的任何人能夠稽核這次變更。
相關指南:如何產生 QR Code:完整指南 | Lizely。
如果您正在權衡各種方案,Schema 標記如何運作:實用的 JSON-LD 指南 有詳細說明。
如果您正在權衡各種方案,在 WordPress 中不使用外掛建立 XML 網站地圖 有詳細說明。