使用 robots.txt 檔案封鎖或移除網頁

產生 robots.txt 工具已不再提供使用,您可以手動建立 robots.txt 檔案,也可以在網路上使用任何一種 robots.txt 產生工具

robots.txt 檔案會限制檢索網頁的搜尋引擎漫遊器存取您的網站。這些自動化的漫遊器在存取網站的網頁前,會先檢查網站是否擁有阻止它們存取特定網頁的 robots.txt 檔案 (所有正派的漫遊器都會遵照 robots.txt 檔案中的指令去做,但有些漫遊器解讀指令的方式可能有些不同。需要注意的是,robots.txt 不具強制性,有些垃圾郵件發送器和其他麻煩程式可能會逕自忽略它。因此,我們建議用密碼來保護機密資訊)。

如要查看您禁止 Google 檢索哪些網址,請造訪網站管理員工具 [檢索] 部分的「封鎖的網址」網頁。

只有當您網站中包含您不希望搜尋引擎編入索引的內容時,您才會需要 robots.txt 檔案。如果您希望搜尋引擎為您網站的所有內容建立索引,就不需要 robots.txt 檔案 (連空白的 robots.txt 檔案都不需要)。

雖然 Google 不會對 robots.txt 所封鎖的網頁內容進行檢索或建立索引,但如果我們在網路上的其他網頁中找到這些網址,仍然會建立這些網址的索引。因此,網頁的網址以及其他可能的公開資訊,例如網站連結中的錨定文字或開放式目錄計劃 (Open Directory Project,www.dmoz.org) 中的標題,都會出現在 Google 搜尋結果中。

如果要使用 robots.txt 檔案,您必須擁有網域根目錄的存取權限 (如果不確定,請向網頁代管商洽詢)。如果您無法存取網域根目錄,請使用漫遊器中繼標記來限制存取。

如要完全避免網頁內容及該網頁在其他網站上的連結顯示在 Google 的網頁索引中,請使用 noindex 中繼標記x-robots-tag。只要 Googlebot 擷取該網頁時發現 noindex 中繼標記,就不會讓該網頁顯示在網路索引中。如果您要防止 Google 為非 HTML 檔案 (例如圖檔或其他類型的文件) 建立索引,x-robots-tag HTTP 標頭就可以派上用場。

建立 robots.txt 檔案

最簡單的 robots.txt 檔案使用兩項規則:

  • User-agent:遵循以下規則的漫遊器
  • Disallow:您想要封鎖的網址

系統會將這兩行視為檔案中的一個項目。您想包含多少項目都可以。您可以在一個項目中納入多個 Disallow 行和多個 user-agent。

robots.txt 檔案中的每個部分都是獨立的,並非根據前一個部分來建置。例如:


User-agent: *
Disallow: /<資料夾1>/

User-Agent: Googlebot
Disallow: /<資料夾2>/

在這個範例中,只有符合 /<資料夾2>/ 的網址不允許 Googlebot 檢索。

使用者代理程式與漫遊器

使用者代理程式是指特定的搜尋引擎漫遊器。網頁漫遊器資料庫列有許多常見的漫遊器。您可將某個項目套用至單一個漫遊器 (列出名稱即可),或套用至所有漫遊器 (列出一個星號即可)。套用至所有漫遊器的項目看起來如下:

User-agent: *

Google 使用數個不同的漫遊器 (使用者代理程式)。我們用來搜尋網頁的漫遊器是 Googlebot。其他像是 Googlebot-Mobile 和 Googlebot-Image 等漫遊器會遵循您為 Googlebot 設定的規則,但您也可以為這些漫遊器個別設定特殊的規則。

封鎖使用者代理程式

Disallow 行會列出您想封鎖的網頁。您可以列出特定的網址或模式。項目須以正斜線 (/) 開頭。

  • 如要封鎖整個網站,請使用正斜線。
    Disallow: /
  • 如要封鎖目錄及其所有內容,請在目錄名稱後加上正斜線。
    Disallow: /垃圾目錄/
  • 如要封鎖某個網頁,請列出該網頁。
    Disallow: /私人檔案.html
  • 如要從 Google 圖片移除特定圖片,請加入下列內容:
    User-agent: Googlebot-Image
    Disallow: /圖片/狗.jpg
  • 如要從 Google 圖片移除您網站上的所有圖片
    User-agent: Googlebot-Image
    Disallow: /
  • 如要封鎖特定類型 (例如 .gif) 的檔案,請使用下列指令:
    User-agent: GooglebotDisallow: /*.gif$
  • 若要防止漫遊器檢索您網站上的網頁,但仍在網頁上顯示 AdSense 廣告,請禁止 Mediapartners-Google 以外的所有漫遊器。這樣就會將這些網頁排除在搜尋結果之外,但 Mediapartners-Google 漫遊器仍然可以分析網頁,以決定要放送的廣告。Mediapartners-Google 漫遊器不會與其他的 Google 使用者代理程式共用網頁。例如:
    User-agent: *
    Disallow: /
    
    User-agent: MediaPartners-Google
    Allow: /

請注意,指令必須區分大小寫。舉例來說,Disallow: /junk_file.asp 會封鎖 http://www.example.com/junk_file.asp,但會允許 http://www.example.com/Junk_file.asp。Googlebot 會忽略 robots.txt 檔案中的空白字元 (尤其是空行) 以及未知的指令。

Googlebot 支援透過 robots.txt 檔案提交 Sitemap 檔案 (英文網頁)。

模式媒合

Googlebot (但並非所有搜尋引擎) 遵循某些模式媒合。

  • 您可以使用星號 (*) 來媒合一串字元。例如,假設您要封鎖任何試圖存取「private」開頭子目錄的行為,請使用下列指令:
    User-agent: Googlebot
    Disallow: /private*/
  • 如何封鎖任何試圖存取含有問號 (?) 的網址的行為 (明確來說,這種網址以您的網域名稱為開頭,後面接著某個字串,再接一個問號,然後再接某個字串):
    User-agent: Googlebot
    Disallow: /*?
  • 如要指定媒合網址的結尾,請使用「$」。例如,假設您要封鎖以 .xls 結尾的網址,請使用下列項目:
    User-agent: Googlebot
    Disallow: /*.xls$

    您可以將 Allow 指令與此模式媒合結合使用。例如,假設「?」代表一個工作階段 ID,您可能想要排除所有包含相同工作階段 ID 的網址,以確保 Googlebot 不會檢索重複網頁。但是以「?」結尾的網址又可能是您想要包含在內的網頁。對於這種情形,您可以將 robots.txt 檔案設定如下:

    User-agent: *
    Allow: /*?$
    Disallow: /*?

    Disallow: / *? 指令將封鎖所有包括「?」的網址 (更具體地說,它將封鎖所有以您的網域名稱開頭,後跟任意字串,再跟一個問號,然後再跟任意字串的網址)。

    Allow: /*?$ 指令將允許任何以「?」結尾的網址 (更具體地說,它將封鎖所有以您的網域名稱開頭,後跟任意字串,再跟一個「?」,而「?」後面沒有任何字元的網址)。

請透過下載方式儲存 robots.txt 檔案,或是將內容複製到一個文字檔,然後儲存為 robots.txt。將檔案儲存到您網站的最高層級目錄。robots.txt 必須存放在網域的根目錄,並命名為「robots.txt」。位於子目錄的 robots.txt 檔案是無效的,因為漫遊器僅在網域根目錄中查找此檔案。例如,http://www.example.com/robots.txt 是有效位置,但 http://www.example.com/我的網站/robots.txt 則不是。

測試 robots.txt 檔案

「測試 robots.txt」工具會顯示您的 robots.txt 檔案是否意外封鎖了 Googlebot,使其無法檢索您網站中的某個檔案或目錄,或 robots.txt 檔案是否允許 Googlebot 檢索不應出現在網路上的檔案。輸入建議的 robots.txt 檔案的文字後,該工具將採用與 Googlebot 相同的方式對其進行讀取,並列出該檔案的影響以及發現的所有問題。

測試網站的 robots.txt 檔案:

  1. 在網站管理員工具首頁上,按一下您要查看的網站。
  2. 在 [檢索] 之下,按一下 [封鎖的網址]
  3. 如果尚未選取,請按一下 [測試 robots.txt] 標籤。
  4. 複製 robots.txt 檔案的內容,並貼入第一個方塊。
  5. 在 [網址] 方塊中,列出要測試的網站。
  6. 在 [使用者代理程式] 清單中,選取所需的使用者代理程式。

您在這項工具中所做的任何變更均不會儲存。如要儲存任何變更,請複製內容並將其貼至 robots.txt 檔案。

此工具僅提供 Google 使用者代理程式 (例如 Googlebot) 的結果。其他漫遊器可能會以不同的方式解譯 robots.txt 檔案。舉例來說,Googlebot 支援標準 robots.txt 通訊協定的延伸定義。它能夠解讀 Allow: 指令,以及某些模式媒合。因此,雖然該工具會將包括這些擴充功能的行顯示為已解讀,但請記住,這僅適用於 Googlebot,而並不一定適用於可能會檢索您網站的其他漫遊器。