robots.txt 是什麼?
在網站上,robots.txt 就是搜尋引擎機器人(爬蟲)看到的「門禁卡」,告訴它們哪些地方可以進去、哪些地方要留在外面。這個檔案放在你網站根目錄最外層,例如 https://example.com/robots.txt。
主要用途
- 控制爬蟲抓取範圍,避免無謂的資源浪費。
- 防止重複內容被索引,保持搜尋結果乾淨。
- 保護機密或開發中的頁面不被公開。
基本語法
這是一個 robots.txt 範例
User-agent: * # 所有爬蟲都適用
Disallow: /admin/ # 不允許抓取 admin 目錄
Allow: /admin/public/ # 但允許抓取 public 子目錄
Sitemap: https://example.com/sitemap.xml # 提供 sitemap 位置
常見指令說明
| 指令 | 含義 | 範例 |
|---|---|---|
| User-agent | 指定目標爬蟲(* 為全部) |
User-agent: Googlebot |
| Disallow | 禁止抓取的路徑 | Disallow: /tmp/ |
| Allow | 允許抓取的路徑(可覆蓋 Disallow) | Allow: /blog/ |
| Sitemap | 提供 sitemap 的 URL | Sitemap: https://example.com/sitemap.xml |
為什麼要寫 robots.txt?
- 節省頻寬:搜尋引擎每抓一次都會佔用你伺服器的資源,對小站尤其重要。
- 避免重複內容:像是
/index.php?page=1與/page/1兩種寫法,如果沒加限制,搜尋結果可能被分散。 - 保護隱私:不想讓
https://example.com/admin/login.php被公開索引。
常見錯誤
- 路徑大小寫問題:Linux 伺服器區分大小寫,確定路徑正確。
- 忘記加斜線:
Disallow: /admin與Disallow: /admin/的差別在於是否包含子目錄。 - 使用萬用字元錯誤:
*只能放在路徑末端,不能寫成*/tmp/*。
快速參考表格
| 指令 | 說明 | 範例 |
|---|---|---|
| User-agent: * | 所有爬蟲 | User-agent: * |
| Disallow: /private/ | 禁止抓取 /private/ 目錄及其子頁面 |
Disallow: /private/ |
| Allow: /public/ | 允許抓取 /public/,可覆蓋前面的 Disallow |
Allow: /public/ |
| Sitemap: https://example.com/sitemap.xml | 告訴爬蟲 sitemap 的位置 | Sitemap: https://example.com/sitemap.xml |
建議實作流程
- 第一步:列出你不想讓搜尋引擎抓的路徑。
- 第二步:在根目錄新建或編輯
robots.txt,寫入上述指令。 - 第三步:用瀏覽器打開
https://example.com/robots.txt確認內容正確。 - 第四步:使用 Google Search Console 的「Robots.txt 測試工具」確認設定無誤。
小提醒
- robots.txt 只是一種建議,並非絕對封鎖;若你想完全阻止抓取,可在伺服器上加 .htaccess 或其他方式。
- 定期檢查
robots.txt,確保新增或刪除的頁面不會被意外公開。
