建立 robots.txt 檔案

您可以透過網站的 robots.txt 檔案控管檢索器可存取的檔案。robots.txt 檔案位於網站的根目錄,也就是說,www.example.com 網站的 robots.txt 檔案就位於 www.example.com/robots.txt。robots.txt 是遵循漫遊器排除標準的純文字檔案,其中包含一或多項規則。這些規則的作用是禁止 (或開放) 特定檢索器存取位於網站中的某個檔案路徑。除非您在 robots.txt 檔案中另行指定,否則系統將允許檢索所有檔案。

以下是一個包含兩項規則的簡單 robots.txt 檔案:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

該 robots.txt 檔案代表以下含義:

  1. 名為 Googlebot 的使用者代理程式無法檢索任何以 http://example.com/nogooglebot/ 開頭的網址。
  2. 不是 Googlebot 的使用者代理程式則可以檢索整個網站。即使不指定這項規則,結果也會一樣;系統會預設允許使用者代理程式檢索整個網站。
  3. 網站的 Sitemap 檔案位於 http://www.example.com/sitemap.xml

如需更多範例,請參閱語法一節。

建立 robots.txt 檔案的基本原則

如要建立 robots.txt 檔案,並允許該檔案可公開存取,可採取以下四個步驟:

  1. 建立名為 robots.txt 的檔案
  2. 在 robots.txt 檔案中新增規則
  3. 將 robots.txt 檔案上傳至您的網站
  4. 測試 robots.txt 檔案

建立 robots.txt 檔案

幾乎所有文字編輯器都能用來建立 robots.txt 檔案,例如 Notepad、TextEdit、vi 和 emacs 都可以建立有效的 robots.txt 檔案。但請不要使用文書處理軟體,因為這類軟體通常會將檔案儲存為某種專有格式,有可能因此加上彎引號等不相容字元,或許會使檢索器發生問題。「儲存檔案」對話方塊出現提示時,請務必以 UTF-8 編碼儲存檔案。

格式和位置規則:

  • 檔案名稱必須是 robots.txt。
  • 您的網站只能有一個 robots.txt 檔案。
  • robots.txt 檔案必須位於目標網站主機的根目錄。舉例來說,如要控制 https://www.example.com/ 下所有網址的檢索作業,robots.txt 檔案就必須位於 https://www.example.com/robots.txt不能在子目錄 (例如 https://example.com/pages/robots.txt)。如果不知道該如何存取網站的根目錄,或是需要相關權限,請與網站代管服務供應商聯絡。如果您無法存取網站的根目錄,請改用其他封鎖方法,例如中繼標記
  • robots.txt 檔案適用於子網域 (例如 https://website.example.com/robots.txt) 或非標準通訊埠 (例如 http://example.com:8181/robots.txt)。
  • robots.txt 檔案必須是 UTF-8 編碼的文字檔案 (包括 ASCII),Google 會忽略不屬於 UTF-8 範圍的字元,進而導致 robots.txt 規則可能無法轉譯。

在 robots.txt 檔案中新增規則

規則是用來規範檢索器可檢索網站的哪些部分。在 robots.txt 檔案中新增規則時,請遵循下列準則:

  • robots.txt 檔案包含一或多個群組。
  • 每個群組都是由多項規則或指令 (指示) 組成,一項指令占一行。 每個群組的開頭都會以 User-agent 這一行指定群組適用的檢索器。
  • 群組包含以下資訊:
    • 群組的適用對象 (使用者代理程式)。
    • 這個代理程式「可以」存取的目錄或檔案。
    • 這個代理程式「無法」存取的目錄或檔案。
  • 檢索器會依上到下的順序處理群組。每個使用者代理程式只能對應一組規則,也就是與其相應的第一組條件最明確的規則。
  • 根據預設,系統會假設使用者代理程式可以檢索未受 disallow 規則封鎖的網頁或目錄。
  • 規則須區分大小寫。舉例來說,disallow: /file.asp 適用於 https://www.example.com/file.asp,但不適用於 https://www.example.com/FILE.asp
  • # 字元用來標示註解的起始處。

Google 檢索器支援以下 robots.txt 檔案中的指令:

  • user-agent: [必要;每個群組可指定一或多個 user-agent 項目] 這項指令會指定規則適用的自動化用戶端 (就是所謂的搜尋引擎檢索器) 名稱,也是每個規則群組的第一行內容。Google 使用者代理程式清單列出了各種 Google 使用者代理程式的名稱。使用星號 (*) 表示要比對各種 AdsBot 檢索器以外的所有檢索器;如要比對 AdsBot 檢索器,必須特別指明。範例如下:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • disallow: [每項規則至少要有一個 disallowallow 項目] 禁止使用者代理程式在根網域下檢索的目錄或網頁。如果規則指向網頁,請提供瀏覽器中顯示的完整網頁名稱。規則必須以 / 字元開頭,如果指向目錄,則以 / 標記結尾。
  • allow: [每項規則至少要有一個 disallowallow 項目] 允許前述使用者代理程式在根網域下檢索的目錄或網頁。這個指令可用於覆寫 disallow 指令,允許使用者代理程式在禁止檢索的目錄下檢索子目錄或網頁。如果是單一網頁,請指定瀏覽器中顯示的完整網頁名稱;如果是目錄,則以 / 標記做為規則結尾。
  • sitemap: [選用;每個檔案可包含零或多個 sitemap 項目] 該網站的 Sitemap 所在位置。Sitemap 網址必須為完整網址;Google 不會假設或檢查是否有 http/https/www/非 www 等替代網址。Allow 和 Disallow 的用途是指出 Google「可以」或「不可」檢索哪些內容,Sitemap 則適合用於指出 Google「應該」檢索哪些內容。進一步瞭解 Sitemap。 範例:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

除了 sitemap 以外,其餘指令都支援以 * 萬用字元代表路徑前置字元、後置字元或整個字串。

對於不符合以上任何指令的行,系統會加以忽略。

如需各個指令的完整說明,請參閱 Google 如何解讀 robots.txt 規格頁面。

上傳 robots.txt 檔案

將 robots.txt 檔案儲存在電腦中後,您就可以開放讓搜尋引擎檢索器進行檢索。目前沒有工具可協助您進行這項工作,因為將 robots.txt 檔案上傳至網站的方式取決於您的網站和伺服器架構。您可以與您的代管公司聯絡,或搜尋代管公司的說明文件 (例如,搜尋「上傳檔案 Infomaniak」)。

上傳 robots.txt 檔案後,請測試該檔案是否可公開存取,以及 Google 是否能加以剖析。

測試 robots.txt 標記

如要測試新上傳的 robots.txt 檔案是否可公開存取,請在瀏覽器中開啟私密瀏覽視窗 (或同等功能),然後前往 robots.txt 檔案位置,例如 https://example.com/robots.txt。如果畫面顯示 robots.txt 檔案內容,表示您可以開始測試標記。

Google 提供兩種測試 robots.txt 標記的方式:

  1. Search Console 中的 robots.txt 測試工具。您只能針對網站已開放存取的 robots.txt 檔案使用這項工具。
  2. 如果您是開發人員,請參閱 Google 的開放原始碼 robots.txt 程式庫 (這也是 Google 搜尋使用的程式庫),並按照說明建立自己的程式庫。您可以使用這項工具在本機電腦上測試 robots.txt 檔案。

將 robots.txt 檔案提交給 Google

在您上傳並測試 robots.txt 檔案後,Google 檢索器會自動尋找並開始使用 robots.txt 檔案,因此您不必採取任何動作。如果您更新了 robots.txt 檔案,而且需要盡快重新整理 Google 的快取副本,請參閱如何提交更新的 robots.txt 檔案

robots.txt 實用規則

以下是 robots.txt 一些常見的實用規則:

實用規則
禁止檢索整個網站

提醒您,在某些情況下,未經檢索的網站網址仍可能會編入索引。


User-agent: *
Disallow: /
禁止檢索特定目錄及其中內容

在目錄名稱後方附加正斜線,即可禁止檢索整個目錄。


User-agent: *
Disallow: /calendar/
Disallow: /junk/
允許單一檢索器存取網站內容

只有 googlebot-news 可檢索整個網站。


User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
允許所有檢索器存取網站內容,但某一個檢索器除外

Unnecessarybot 不得檢索網站,但其他漫遊器可以。


User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

禁止檢索單一網頁

例如,禁止 useless_file.html 網頁。


User-agent: *
Disallow: /useless_file.html

禁止 Google 圖片檢索特定圖片

例如,禁止 dogs.jpg 圖片。


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

禁止 Google 圖片檢索您網站上的所有圖片

Google 不得為未經檢索的圖片和影片建立索引。


User-agent: Googlebot-Image
Disallow: /

禁止檢索特定類型的檔案

例如,禁止檢索所有的 .gif 檔案。


User-agent: Googlebot
Disallow: /*.gif$

禁止檢索整個網站,但允許 Mediapartners-Google 進行檢索

這麼做會讓您的網頁無法顯示在搜尋結果中,但 Mediapartners-Google 網路檢索器仍可分析網頁,以決定要在網站上對訪客顯示哪些廣告。


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
使用 $ 比對以特定字串結尾的網址

例如,封鎖所有 .xls 檔案。


User-agent: Googlebot
Disallow: /*.xls$