在網站經營與SEO優化過程中,robots.txt檔案扮演著至關重要的角色。本文將深入介紹如何正確設定robots.txt,詳述Allow與Disallow指令的使用方法,並提供實務案例與進階建議,協助你有效引導搜尋引擎爬蟲(Crawler)抓取網站內容,同時避免敏感頁面被意外索引。閱讀完本文後,你將具備高階robots.txt配置能力,提升網站安全性與搜尋引擎友好度。
文章目錄
Toggle認識robots.txt檔案與其重要性
什麼是robots.txt
robots.txt是一種位於網站根目錄下的純文字檔案,主要用於告知搜尋引擎爬蟲(如Googlebot、Bingbot)哪些路徑可以被抓取,哪些需要禁止。其遵循Robots Exclusion Protocol協議,是網站管理基本防線與SEO策略重要部分。
robots.txt的主要功能
- 控制搜尋引擎抓取範圍,優化索引效率
- 避免敏感或低價值頁面被公開索引
- 降低伺服器負載,保障網站資源
- 協助集中網站權重於重要頁面
robots.txt與SEO的關聯性
正確設定robots.txt有助於提升網站SEO表現,因為它能阻擋重複性內容、測試頁面或無意義頁面被搜尋引擎收錄。然而,配置不當則可能導致重要頁面未被索引或影響整體排名。
robots.txt檔案語法與指令詳解
基本語法結構
User-agent: [爬蟲名稱或*代表全部] Allow: [允許抓取的路徑] Disallow: [禁止抓取的路徑]
| 指令 | 說明 | 範例 |
|---|---|---|
| User-agent | 指定要套用規則的爬蟲 | User-agent: Googlebot |
| Disallow | 禁止爬蟲抓取特定路徑 | Disallow: /private/ |
| Allow | 允許爬蟲抓取特定路徑(通常用於例外) | Allow: /public/ |
| Sitemap | 指定網站地圖位置(非抓取限制指令) | Sitemap: https://example.com/sitemap.xml |
Allow與Disallow指令詳述
Disallow用於禁止搜尋引擎爬取特定目錄或檔案。例如:
Disallow: /admin/
Allow則用於允許已被Disallow路徑下的某些特定頁面或檔案被抓取。例如:
Disallow: /private/ Allow: /private/open.html
這代表除了/private/open.html以外,/private/下其他路徑都不會被爬取。合理運用Allow與Disallow,可細緻控制爬蟲行為。
常用User-agent及其應用
- Googlebot:Google搜尋引擎的主要爬蟲
- Bingbot:微軟Bing搜尋引擎
- Slurp:Yahoo!搜尋爬蟲
- *:代表所有搜尋引擎爬蟲
robots.txt常見配置範例與實戰應用
基本全開與全封鎖範例
| 情境 | 設定內容 | 效果說明 |
|---|---|---|
| 允許所有爬蟲抓取所有頁面 |
User-agent: *
Disallow:
|
不限制任何路徑,完全開放。 |
| 禁止所有爬蟲抓取網站 |
User-agent: *
Disallow: /
|
完全封鎖,搜尋引擎無法抓取任何內容。 |
精細化控制範例
假設你希望搜尋引擎不要抓取會員專區,但允許公開下載區被索引,可這樣設置:
User-agent: * Disallow: /member/ Allow: /member/download/
避免搜尋引擎抓取敏感頁面
機密資料、管理後台、內部測試頁等都應透過Disallow嚴格限制。例如:
User-agent: * Disallow: /admin/ Disallow: /config/ Disallow: /test/
注意:robots.txt僅能阻止守規矩的搜尋爬蟲,惡意爬蟲可能直接無視,自行存取被禁止內容。
- 敏感頁建議同時設定伺服器權限(如HTTP認證)或移動至非公開目錄。
- 千萬不要將robots.txt作為唯一防線,避免將敏感目錄名稱直接暴露。
特定爬蟲個別限制
User-agent: Googlebot Disallow: /private-google/ User-agent: Bingbot Disallow: /private-bing/ User-agent: * Disallow: /common-private/
此設計可針對不同搜尋引擎自訂抓取政策,靈活調控索引內容。
進階robots.txt配置技巧與實戰經驗
利用萬用字元與路徑規則
Googlebot支援「*」與「$」萬用字元。
範例:
Disallow: /*.pdf$ Disallow: /temp*/
- 「*.pdf$」禁止以.pdf結尾的所有檔案被索引。
- 「/temp*/」禁止所有以temp開頭的目錄。
注意:不是所有搜尋引擎皆支援萬用字元,建議以Google爬蟲為主要對象設計時再使用。
robots.txt與網站地圖(Sitemap)整合
在robots.txt中加入網站地圖可協助搜尋引擎更快掌握網站結構。例如:
Sitemap: https://www.yoursite.com/sitemap.xml
- 網站地圖位置不受Allow/Disallow影響,務必確保能正常訪問。
robots.txt常見錯誤與排查建議
- Disallow路徑拼寫錯誤或大小寫不符,導致限制失效
- Allow與Disallow衝突,未正確排序(Google依規則長度優先)
- 將重要頁面意外Disallow,影響SEO收錄
- 忘記上傳或更新robots.txt,導致舊規則仍生效
- 檔案編碼錯誤,建議使用UTF-8無BOM格式
如何驗證robots.txt設定是否正確
Google Search Console驗證工具:提供即時robots.txt檢查與錯誤提示,能模擬Googlebot行為。
第三方檢查工具:如Technical SEO Robots.txt Tester等。

實戰經驗分享
以某大型電商網站為例,曾因robots.txt誤設定將所有商品頁進行Disallow,導致流量瞬間大跌。後來仔細檢查規則,調整Allow例外,並加強內部教育後,收錄與排名才恢復。
建議每次重大網站改版後,務必重新審視robots.txt,避免因結構調整造成意外損失。
robots.txt配置安全性與限制
robots.txt的安全盲點
- robots.txt屬於公開文件,任何人皆可直接訪問(如https://www.yoursite.com/robots.txt)
- 將敏感目錄路徑直接暴露於robots.txt,反而讓有心人士知道哪裡有機密內容
- 僅能阻擋守規矩的爬蟲,無法防範惡意抓取者
提升敏感頁面保護建議
- 對敏感資料採用驗證(如帳號密碼、IP限制、二階段認證)
- 避免將敏感路徑寫入robots.txt,轉用伺服器端權限控管
- 必要時採用noindex標籤於頁面頭部,雙重保障
總結與最佳實務建議
- 清楚釐清網站哪些頁面應被索引、哪些需限制,分層設計Allow/Disallow規則
- 切勿將敏感資訊直接暴露於robots.txt,善用伺服器防護與noindex
- 每次重大調整或網站改版後,務必檢查並測試robots.txt有效性
- 配合網站地圖提升搜尋引擎友好度,加速索引重要內容
- 定期追蹤Google Search Console、Bing Webmaster Tools等平台的爬蟲行為報告,及時調整策略
常見問題FAQ
- 1. robots.txt是否能完全阻止敏感資料被抓取?
- 無法百分百防止,因為robots.txt只是建議協議,惡意爬蟲可無視其限制。敏感資料應搭配伺服器權限等多重防護。
- 2. Allow與Disallow同時設定時,以哪個為準?
- 以規則長度最精確的那條為優先(Googlebot遵循此原則),建議明確規劃路徑避免衝突。
- 3. 修改robots.txt多久會生效?
- 通常搜尋引擎下次抓取robots.txt時即生效,但不同爬蟲的刷新頻率不一。可於Google Search Console手動驗證。
- 4. 可以為不同搜尋引擎設定不同robots.txt規則嗎?
- 可以,利用User-agent分段設置,針對不同爬蟲自訂限制與開放路徑。
- 5. robots.txt內容會影響網站排名嗎?
- 會間接影響,配置不當可能導致重要頁面無法被索引,或重複性內容影響權重分散。應審慎設計規則,並定期檢查。





