Robots.txt指南

Robots.txt指南當搜索引擎網站過訪一個網站時,它首先會查緝該網站的根域下是否有一個叫做robots.txt的純文本文件。Robots.txt文件用於框定搜索引擎網站對其網站的過訪范圍,即奉告搜索引擎中哪一些文件是准許它施行檢索(下載)的。這就是大家在網絡上常看見的『不接受Robots過訪標准』(Robots Exclusion Standard)。下邊我們略稱RES。 Robots.txt文件的款式:Robots.txt文件的款式比較特別,它由記錄組成。這些個記錄經過空行分開。那裡面每條記錄均由兩個域組成:
1) 一個User-Agent(用戶攝理)字符串行;
2) 多少Disallow字符串行。
記錄款式為: “:”
下邊我們作別對這兩個域做進一步解釋明白。
User-agent(用戶攝理):
User-agent行(用戶攝理行) 用於指定搜索引擎網站robot的姓名,以Google的檢索手續Googlebot為例,有:User-agent: Googlebot
一個robots.txt中至少要有一條User-agent記錄。假如有多條User-agent記錄,則解釋明白有多個robot會遭受RES標准的限止。當然了,假如要指定全部的robot,只需用一個通配符”*”就擺平了,即:User-agent: *
Disallow(不接受過訪聲明):
在Robots.txt文件中,每條記錄的第二個域是Disallow:指令行。這些個Disallow行聲清楚該網站中不期望被過訪的文件和(或)目次。例如”Disallow: email.htm”對文件的過訪施行了聲明,嚴禁Spiders下載網站上的email.htm文件。而”Disallow: /cgi-bin/”則對cgi-bin目次的過訪施行了聲明,不接受Spiders進入了該目次及其細目錄。Disallow聲明行還具備通配符功能。例如上所述例中”Disallow: /cgi-bin/”聲清楚不接受搜索引擎網站對cgi-bin目次及其細目錄的過訪,而”Disallow:/bob”則不接受搜索引擎網站對/bob.html和/bob/indes.html的過訪(即不管是名為bob的文件仍然名為bob的目次下的文件都不准許搜索引擎網站過訪)。Disallow記錄假如留空,則解釋明白該網站的全部局部都向搜索引擎網站開放。
空格 & 注解
在robots.txt文件中,凡以”#”開頭的行,均被視為注釋內部實質意義,這和UNIX中的向例是同樣的。但大家需求注意兩個問題:
1) RES標准准許將注釋內部實質意義放在指使行的最後的部分,但這種款式並不是全部的Spiders都能夠支持。比如,並不是全部的Spiders都能夠准確了解”Disallow: bob #comment”這麼一條指令。有的Spiders便會曲解為Disallow的是”bob#comment”。最好的方法是使注釋自成一行。
2) RES標准准許在一個指令行的開頭存在空格,象”Disallow: bob #comment”,但我們也並不提議大家這樣做。
Robots.txt文件的開創:
需求注意的是,應該在UNIX指示行終端標准樣式下開創Robots.txt純文本文件。好的文本編輯器普通都能夠供給UNIX標准樣式功能,還是你的FTP客戶端軟件也『應當』能夠替你改換過來。假如你打算用一個沒有供給文本編輯標准樣式的HTML編輯器來世成你的robots.txt純文本文件,那你可就是盲人打蚊蟲——徒然耗費力量了。
對RES標准的擴展:
盡管已經提出了一點擴展標准,如Allow行或Robot版本扼制(例如應當疏忽體積寫和版本號),但尚未獲得RES辦公組的正式准許許可。
附錄I. Robots.txt用處舉例:
運用通配符”*”,可設置對全部robot的過訪職權范圍。
User-agent: *
Disallow:
表明:准許全部搜索引擎網站過訪網站下的全部內部實質意義。
User-agent: *
Disallow: /
表明:嚴禁全部搜索引擎網站對網站下全部網頁的過訪。
User-agent: *
Disallow: /cgi-bin/Disallow: /images/
表明:嚴禁全部搜索引擎網站進入了網站的cgi-bin和images目次及其下全部細目錄。需求注意的是對每一個目次務必分開聲明。
User-agent: Roverdog
Disallow: /
表明:嚴禁Roverdog過訪網站上的不論什麼文件。
User-agent: Googlebot
Disallow: cheese.htm
表明:嚴禁Google的Googlebot過訪其網站下的cheese.htm文件。
上頭紹介了一點簡單的設置,對於比較復雜的設置,可參見一點大型站點如CNN或Looksmart的robots.txt文件(/robots.txt, /robots.txt)