建立 robots.txt 檔案
開始使用
robots.txt 檔案位於網站的根目錄。也就是說,www.example.com
網站的 robots.txt 檔案就位於 www.example.com/robots.txt
。robots.txt 是遵循漫遊器排除標準的純文字檔案,
其中包含一或多項規則。這些規則的作用是禁止 (或開放) 特定檢索器存取位於網站中指定路徑的檔案。
以下是一個包含兩項規則的簡單 robots.txt 檔案,這種配置會產生的作用,詳見說明:
# Group 1 User-agent: Googlebot Disallow: /nogooglebot/ # Group 2 User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml
說明:
-
名為「Googlebot」的使用者代理程式無法檢索
http://example.com/nogooglebot/
目錄或其中的任何子目錄。 - 不是 Googlebot 的使用者代理程式則可以檢索整個網站。即使不指定這項規則,結果也會一樣;系統會預設您允許使用者代理程式檢索整個網站。
-
網站的 Sitemap 檔案位於
http://www.example.com/sitemap.xml
。
如需更多範例,請參閱語法一節。
robots.txt 基本規定
以下是一些關於 robots.txt 檔案的基本規定。建議您先詳閱 robots.txt 檔案的完整語法,因為 robots.txt 語法有一些您需要瞭解的複雜行為。
格式和位置
幾乎所有文字編輯器都能用來建立 robots.txt 檔案,因為文字編輯器本身就能建立標準的 UTF-8 文字檔案。請勿使用文書處理軟體,因為這類軟體通常會將檔案儲存為某種專有格式,有可能因此加上彎引號等不相容字元,或許會使檢索器發生問題。
格式和位置規則:
- 檔案名稱必須是 robots.txt。
- 您的網站只能有一個 robots.txt 檔案。
-
robots.txt 檔案必須位於目標網站主機的根目錄。舉例來說,如要控制
http://www.example.com/
下所有網址的檢索作業,robots.txt 檔案就必須位於http://www.example.com/robots.txt
,不能在子目錄 (例如http://example.com/pages/robots.txt
)。如果不知道該如何存取網站的根目錄,或是需要相關權限,請與網站代管服務供應商聯絡。如果您無法存取網站的根目錄,請改用其他封鎖方法,例如中繼標記。 -
robots.txt 檔案適用於子網域 (例如
http://website.example.com/robots.txt
) 或非標準通訊埠 (例如http://example.com:8181/robots.txt
)。
語法
- robots.txt 檔案必須是 UTF-8 編碼的文字檔案 (包括 ASCII),不得使用其他字元集。
- robots.txt 檔案包含一或多個群組。
- 每個群組都是由多項規則或指令 (指示) 組成,一項指令占一行。
- 群組包含以下資訊:
- 群組的適用對象 (使用者代理程式)
- 這個代理程式「可以」存取的目錄或檔案
- 這個代理程式「無法」存取的目錄或檔案
- 系統會依上到下的順序處理群組,每個使用者代理程式只能對應一組規則,也就是與其相應的第一組條件最詳盡的規則。
-
根據預設,系統會假設使用者代理程式可以檢索未受
Disallow:
規則封鎖的網頁或目錄。 -
規則須區分大小寫。舉例來說,
Disallow: /file.asp
適用於http://www.example.com/file.asp
,但不適用於http://www.example.com/FILE.asp
。 - 以
#
標記開頭的內容一律為註解。
以下是 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:
[每項規則至少要有一個Disallow
或Allow
項目] 禁止使用者代理程式在根網域下檢索的目錄或網頁。如果規則指向網頁,請提供瀏覽器中顯示的完整網頁名稱;如果指向目錄,請以/
標記結尾。 -
Allow:
:[每項規則至少要有一個Disallow
或Allow
項目] 允許前述使用者代理程式在根網域下檢索的目錄或網頁。這個指令可用於覆寫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
以外,其餘指令都支援以 *
萬用字元代表路徑前置字元、後置字元或整個字串。
對於不符合以上任何指令的行,系統會加以忽略。
其他範例檔案
robots.txt 檔案會包含一或多個群組,每個群組的開頭都會以 User-agent
這一行指定該群組適用的檢索器。以下範例檔案包含兩個群組,內嵌註解分別說明了兩個群組的作用:
# Block googlebot from example.com/directory1/... and example.com/directory2/... # but allow access to directory2/subdirectory1/... # All other directories on the site are allowed by default. User-agent: googlebot Disallow: /directory1/ Disallow: /directory2/ Allow: /directory2/subdirectory1/ # Block the entire site from anothercrawler. User-agent: anothercrawler Disallow: /
robots.txt 完整語法
如要瞭解 robots.txt 完整語法,請按這裡。 由於 robots.txt 語法有一些較為複雜的須知事項,因此請詳閱整份文件。
robots.txt 實用規則
以下是 robots.txt 一些常見的實用規則:
規則 | 範例 |
---|---|
禁止檢索整個網站。提醒您,在某些情況下,未經檢索的網站網址仍可能會建立索引。 |
User-agent: * Disallow: / |
禁止檢索特定目錄及其中內容 (請在目錄名稱後加上正斜線)。提醒您,如果想禁止存取私人內容,則不應使用 robots.txt,而是要改用適當的驗證機制。即使是 robots.txt 檔案所禁止的網址,仍有可能在未經檢索的情況下建立索引;此外,由於任何人都能查看 robots.txt 檔案,所以私人內容的位置也可能因此曝光。 |
User-agent: * Disallow: /calendar/ Disallow: /junk/ |
允許單一檢索器存取網站內容 |
User-agent: Googlebot-news Allow: / User-agent: * Disallow: / |
允許所有檢索器存取網站內容,但某一個檢索器除外 |
User-agent: Unnecessarybot Disallow: / User-agent: * Allow: / |
禁止檢索某個網頁 (請在正斜線後面列出該網頁): |
User-agent: * Disallow: /private_file.html |
禁止特定圖片出現在 Google 圖片的搜尋結果: |
User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
禁止您網站上的所有圖片出現在 Google 圖片的搜尋結果: |
User-agent: Googlebot-Image Disallow: / |
禁止檢索特定檔案類型,例如 |
User-agent: Googlebot Disallow: /*.gif$ |
禁止檢索整個網站,但仍在網頁上顯示 AdSense 廣告。這項規則能禁止 |
User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: / |
使用 $ 比對以特定字串結尾的網址。例如,這個程式碼範例封鎖的是任何以 .xls 結尾的網址: |
User-agent: Googlebot Disallow: /*.xls$ |