有關robots.txt
什麼是 Robot 程式?
WWW Robot 是一種模擬WWW瀏覽器的程式,會自動遊走網路上的位址,將一篇文件或任何檔案抓回,再根據該文件內所連結到其它文件或資料的相關資訊,繼續將其它文件也抓回,如此不停循環。Robot的用途,包括建立搜尋引摯(WWW Search Engine)的資料庫、檢查連結異動、複製資料等。例如Google、AltaVista、Lycos、Infoseek等著名的搜尋工具,都是利用類似的技巧,來建立查詢資料庫,對外提供服務。
由於 WWW系統的基本設計原理並不複雜,因此簡單的Robot程式容易取得或者自行發展。然而由於程式是自動執行,使用者可能輕率使用、程式設計者可能未把情況考慮完整,或者程式因有未發現的小錯誤,而會拼命地或重複地向同一台機器不停地抓資料,造成該機器負擔過重,以及整個網路嚴重雍塞,甚至影響整個網際網路及伺服機器的服務品質。私人Robot對整個公共網路的負面影響,早已引起國際注意,並提出 A Standard for Robot Exclusion 給資訊提供者及伺服器管理員參考,以做為網路運作的共同規範,共同維護網路的正常運作。
透過Robots Exclusion Protocol協議,網站管理員即可依據一個固定的文字格式,指出網站上哪一個部分可以被Robot巡行,哪一個部分不歡迎Robot進行處理。這一點對目前的網站架構來說,顯的特別重要。一般來說,網站管理員會將圖形檔案、動態產生的CGI程式、或是需要輸入密碼的網頁集中放置在特定的目錄。此三類檔案,因為屬性特別,或不適合文字搜尋引擎處理,或資料是每次動態產生沒有儲存必要,或需要特殊權限才能存取,既使Robot來存取,也沒有特殊意義。若能在robots.txt中加以說明,定可大大減少Robot本身及Robot對網站主機的負荷,減省的資源還可以調整對更有需要的網頁進行服務。對搜尋引擎和網站主機來說,都有正向的助益。
Robots Exclusion Protocol注意事項。
‧robots.txt:檔名必須要小寫。
‧檔案位置:需放在網站的根目錄下,例如http ://.../robots.txt。
‧User-agent:代表不允許哪些Robot巡行,詳細介紹如下。
‧Disallow:代表不允許Robot巡行哪些檔案,詳細介紹如下。
‧空白行:代表分區段。
‧#:代表註解。
User-agent
User-agent行指出的是您想拒絕Robot的名稱。在User-agent行,"*"表示您想拒絕所有的Robot造訪。如果您想特定指定某一個Robot,只要將該Robot的名字列出即可。或許您會質疑,這麼多的Robot中,有沒有機構在管理呢?答案是沒有。但是有許多組織在整理這些資訊,您可以參考webcrawler網站的詳細資料。 參考範例: User-agent: * #表示不接受任何一個Robot造訪。 User-agent: WebCrawler #表示不接受WebCrawler這個Robot,其他的可以接受。
Disallow
Disallow行表示你不希望Robot訪問的URL,每個URL必須單獨占一行,不能出現"Disallow: /cgi-bin/ /tmp/"這種情形。
參考範例:
Disallow: /~joe/ #表示/~joe/目錄下不歡迎瀏覽。
Disallow: / #表示全部不歡迎。
實例分析
範例一:拒絕網路上所有的Robot造訪您的網站
User-agent: * #表示全部Robot。
Disallow: / #表示所有目錄及資料。
範例二:希望所有的Robot造訪您全部的資料
User-agent: * #表示全部Robot。
Disallow: #表示不設定任何資料。
範例三:拒絕網路上所有的Robot造訪根目錄下images,cgi-bin及members三目錄
User-agent: * #表示全部Robot。
Disallow: /images #表示/images下所有資料。
Disallow: /cgi-bin #表示/cgi-bin下所有資料。
Disallow: /members #表示/members下所有資料。
|