robots.txt該怎麼寫?

robots.txt 是網站根目錄下的純文字檔案,用於控制搜尋引擎爬蟲的訪問許可權。以下是其核心語法、常見場景及注意事項的詳細說明:


一、基礎語法與結構

  1. 檔案位置與命名​
    • 必須位於網站根目錄(如 https://www.example.com/robots.txt),檔名嚴格小寫。
    • 若檔案不存在,爬蟲預設可訪問全站內容。
  2. 核心指令​
    • User-agent:指定目標爬蟲(如 Googlebot、Baiduspider或 *表示所有爬蟲)。
    • Disallow:禁止訪問的路徑(如 /admin/禁止抓取 admin目錄)。
    • Allow:允許訪問的路徑(用於覆蓋 Disallow規則)。
    • Sitemap:可選,宣告網站地圖路徑(需完整 URL)。
  3. 萬用字元與匹配規則​
    • *:匹配任意字元(如 /private*/禁止所有以 private開頭的目錄)。
    • $:匹配 URL 結尾(如 Disallow: /*.jpg$禁止所有 .jpg圖片)。
    • 路徑區分大小寫,末尾斜槓影響範圍(如 /images/禁止整個目錄,/images僅禁止同名檔案)。

二、常見場景示例

  1. 禁止所有爬蟲訪問​ User-agent: * Disallow: /效果:全站內容均不被索引。
  2. 允許特定爬蟲訪問​ User-agent: BadBot Disallow: / User-agent: * Allow: /效果:僅允許 BadBot訪問全站。
  3. 限制目錄與檔案型別​ User-agent: * Disallow: /cgi-bin/ Disallow: /images/*.gif Allow: /public/效果:禁止 cgi-bin目錄及所有 GIF 圖片,允許 public目錄。
  4. 動態頁面與引數過濾​ User-agent: * Disallow: /*?*效果:禁止抓取含查詢引數的 URL(如 index.php?id=1)。

三、高階用法與注意事項

  1. 多爬蟲針對性規則​ User-agent: Googlebot Disallow: /temp/ Allow: /public/ User-agent: Baiduspider Disallow: /admin/不同爬蟲可設定獨立規則。
  2. Meta 標籤補充​ 在 HTML 中透過 <meta name="robots" content="noindex, nofollow">進一步控制單頁抓取行為。
  3. 常見錯誤與最佳化​
    • 檔案編碼:建議使用 ANSI 或 UTF-8(避免首行亂碼)。
    • 路徑規範:避免路徑末尾多餘空格或斜槓混淆。
    • 測試工具:透過 Google Search Console 的 Robots.txt 測試工具驗證語法。

四、完整示例模板

User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /*.php$
Allow: /public/
Sitemap: https://www.example.com/sitemap.xml

五、注意事項

  • 非強制性:robots.txt 是建議性協議,部分爬蟲可能忽略規則。
  • 隱私保護:敏感資訊仍需透過伺服器許可權控制,而非依賴 robots.txt。
  • 更新生效:修改後需等待搜尋引擎快取重新整理(通常數小時至數天)。

透過合理配置 robots.txt,可有效管理搜尋引擎抓取範圍,最佳化網站效能與隱私保護。建議結合網站地圖(Sitemap)和 Meta 標籤實現更精細控制。