
Robots.txt檔案是網站SEO優化與資訊安全的第一道防線。正確配置能有效引導搜尋引擎爬蟲(Crawler),避免敏感或不必要頁面被索引,提升網站整體搜尋表現與內容保護。閱讀本文,你將深入了解Robots.txt的作用原理、Allow和Disallow指令的正確使用方式、實務配置技巧、常見誤區,以及進階應用與最佳實作,確保網站既能獲得良好的搜尋曝光,又能避免敏感資料洩漏。
文章目錄
Toggle了解Robots.txt的基本原理與作用
Robots.txt檔案是放置於網站根目錄(例如:https://www.example.com/robots.txt)的純文字檔,主要功能在於告訴網站爬蟲哪些頁面或目錄可以被抓取(Crawl),哪些應該避免。此檔案是網站與搜尋引擎溝通的基本協議之一,屬於Robots Exclusion Protocol(機器人排除協議)的一部分。
Robots.txt如何運作
- 網站爬蟲首先尋找並讀取robots.txt檔案
- 根據檔案內的規則決定哪些內容可被抓取
- 無法阻止用戶直接存取,僅對守規矩的爬蟲有效
注意:Robots.txt屬於「指導性」而非「強制性」規範,惡意爬蟲可能無視該檔案。
Robots.txt檔案的基本結構與常見指令
Robots.txt檔案結構簡單,主要由「User-agent」與多組「Allow」或「Disallow」指令組成。以下為典型語法結構:
User-agent: [爬蟲名稱或*] Disallow: [不允許爬取的目錄或檔案] Allow: [允許爬取的目錄或檔案]
| 指令 | 說明 | 範例 |
|---|---|---|
| User-agent | 指定適用的爬蟲(* 代表全部) | User-agent: Googlebot |
| Disallow | 禁止爬取的路徑 | Disallow: /private/ |
| Allow | 允許特定路徑被爬取(通常用於細部控管) | Allow: /private/public-info.html |
| Sitemap | 告知爬蟲網站地圖位置 | Sitemap: https://www.example.com/sitemap.xml |
Allow與Disallow指令的詳細用法
Disallow指令
- 格式:
Disallow: /目錄名/或Disallow: /檔名.html - 作用:告訴爬蟲「不要爬取這個路徑」
- 空值(
Disallow:)代表「全部允許」
User-agent: * Disallow: /admin/
Allow指令
- 格式:
Allow: /目錄名/檔名.html - 作用:設定在Disallow限制下,例外允許爬取的路徑
- 常見用於細分目錄下的部分內容開放
User-agent: * Disallow: /private/ Allow: /private/public-info.html
範例:結合Allow與Disallow達到細緻控管
User-agent: * Disallow: /member/ Allow: /member/login.html
上述設定將禁止爬蟲抓取/member/下所有內容,但例外允許/member/login.html這個頁面。
如何正確引導網站爬蟲Crawler
常見搜尋引擎爬蟲名稱對照表
| 搜尋引擎 | User-agent名稱 |
|---|---|
| Googlebot | |
| Bing | Bingbot |
| Yahoo | Slurp |
| Baidu | Baiduspider |
| Yandex | YandexBot |
針對特定爬蟲設置專屬規則
可根據不同搜尋引擎的特性,指定不同允許或禁止規則。例如:
User-agent: Googlebot Disallow: /test/ User-agent: Bingbot Disallow: /experiment/ User-agent: * Disallow: /private/
這樣Googlebot只會被禁止抓取/test/目錄,而Bingbot則禁止/experiment/目錄,其他爬蟲則統一禁止/private/目錄。
避免爬取敏感頁面的實務建議
哪些頁面屬於敏感頁面
- 後台管理介面(如
/admin/、/cms/) - 會員專區(如
/member/、/user/) - 訂單/交易/個人資料頁
- 測試頁、暫存頁、開發用目錄
- API介面或資料匯出端點(如
/api/) - 未上市或未公開新產品頁

敏感頁面防護的最佳實作
-
Robots.txt加上Disallow:
Disallow: /admin/
-
結合HTTP認證/權限管控:
Robots.txt只能防君子,真正敏感內容應加密、驗證,勿單靠robots.txt。
-
避免將敏感頁面連結暴露於公開頁面:
即使robots.txt禁止,若公開頁面有連結仍易被收錄。
-
善用noindex標籤:
在HTML頁面中加入
<meta name="robots" content="noindex">,加強阻擋。
Robots.txt防護敏感頁面常見誤區
- 誤將robots.txt當成絕對安全手段
- 將敏感路徑暴露於robots.txt(反而被有心人發現)
- 忘記設定Allow例外,導致必要頁面無法被搜尋收錄
- 未即時更新robots.txt,導致新上線目錄未被保護
進階配置技巧與SEO最佳實作
常見robots.txt配置範例
User-agent: * Disallow: User-agent: * Disallow: / User-agent: * Disallow: /*.pdf$ Disallow: /*.zip$
善用萬用字元(Wildcard)與正則表達式
- *:代表任意字串(支援度視搜尋引擎而定)
- $:代表字串結尾(Googlebot支援)
User-agent: * Disallow: /*.pdf$ Disallow: /temp*/
Sitemap結合提升索引效率
建議在robots.txt檔案底部加上Sitemap路徑,協助搜尋引擎快速發現網站頁面:
Sitemap: https://www.example.com/sitemap.xml
實務經驗分享:大型網站的robots.txt維運
以知名電商網站為例,因網站頁面數量龐大,robots.txt會針對搜尋結果、篩選頁、購物車、結帳等不需收錄頁面加以Disallow,同時針對促銷活動頁面允許特定爬蟲抓取。此外,會定期檢查爬蟲行為,分析搜尋流量報表,適時調整robots.txt規則,以兼顧SEO與用戶資料安全。
如何測試與驗證您的Robots.txt設定
- 利用Google Search Console的Robots.txt測試工具
- 手動模擬爬蟲請求,檢查是否正確阻擋/開放
- 定期檢查網站收錄狀態,確保敏感頁未被索引
Robots.txt與其他SEO標籤的協同運用
- Robots.txt適合阻擋不想被「爬取」的頁面
- noindex標籤阻止網頁「被收錄」,即使爬蟲已抓取也不會進入搜尋結果
- 雙管齊下更有效,特別是對於已被收錄的頁面
比較表:Robots.txt與Noindex差異與適用時機(建議插入)
| 項目 | Robots.txt | Noindex標籤 |
|---|---|---|
| 作用層級 | 網站根目錄設定,影響整體爬取 | 單一頁面HTML標籤,影響收錄 |
| 阻擋方式 | 防止爬蟲讀取內容 | 允許爬蟲抓取但不收錄 |
| 適用情境 | 大量目錄、敏感或重複內容 | 細部控制公開狀態的單一頁面 |
| 安全性 | 僅具指導性,非強制 | 較強,但需確保爬蟲能抓取頁面 |
Robots.txt維運與常見問題排查
常見錯誤與修正建議
- 指令語法錯誤(如空格、大小寫、路徑不正確)
- 不小心阻擋全站(如
Disallow: /)導致網站消失於搜尋結果 - 忘記加上Sitemap宣告
- 未測試多爬蟲間規則優先順序,導致預期外的抓取行為
最佳維運流程建議
- 定期檢查robots.txt內容,確保符合最新需求
- 每次網站改版或上線新目錄時同步調整
- 利用搜尋引擎工具測試驗證
- 檔案權限設為唯讀,防止未授權修改
- 保存歷史版本,便於追蹤設定變更
總結與最佳實作建議
- Robots.txt是SEO與資訊安全基礎設施,須妥善維護
- 善用Allow與Disallow細緻控管爬取路徑
- 避免將敏感資訊暴露於robots.txt,結合多重防護措施
- 定期檢查與測試設定,配合網站地圖提升收錄效率
- 理解各種爬蟲差異,量身規劃規則
妥善配置robots.txt,既能保障網站內容安全,又能提升SEO成效,是每個網站維運者必備的專業技能。
常見問題 FAQ
Robots.txt可以完全避免敏感頁面被所有爬蟲抓取嗎?
不能。Robots.txt僅對遵循規範的搜尋引擎爬蟲有效,無法防止惡意爬蟲存取敏感頁面,真正敏感內容仍需結合認證、權限與加密保護。
設定Disallow後,網頁搜尋結果還會顯示嗎?
若頁面已被收錄,僅設Disallow可能仍會出現在搜尋結果,但只顯示網址不顯示摘要。建議同時加上noindex標籤,確保不被收錄。
可以針對不同搜尋引擎設置不同的robots.txt規則嗎?
可以。可使用多組User-agent,針對Googlebot、Bingbot等指定不同的Allow/Disallow規則,靈活控管各家爬蟲行為。
Robots.txt檔案應該放在網站哪個位置?
必須放在網站根目錄(例如:https://www.example.com/robots.txt),否則搜尋引擎無法正確讀取與執行規則。
網站改版時需重新檢查robots.txt嗎?
一定要。網站結構或目錄異動後,原有的robots.txt規則可能無法涵蓋新頁面或目錄,應同步更新並測試設定。





