Robots.txt 是存放在站點根目錄下的一個純文本文件。雖然它的設置很簡單,但是作用卻很強大。它可以指定搜索引擎蜘蛛只抓取指定的內容,或者是禁止搜索引擎蜘蛛抓取網站的部分或全部內容。
使用方法:
Robots.txt 文件應該放在網站根目錄下,并且該文件是可以通過互聯網進行訪問的。
例如:如果您的網站地址是 http://www.yourdomain.com/那么,該文件必須能夠通過 http://www.yourdomain.com/robots.txt 打開并看到里面的內容。
格式:
User-agent:
用于描述搜索引擎蜘蛛的名字,在" Robots.txt "文件中,如果有多條User-agent記錄說明有多個搜索引擎蜘蛛會受到該協議的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則該協議對任何搜索引擎蜘蛛均有效,在" Robots.txt "文件中,"User-agent:*"這樣的記錄只能有一條。
Disallow:
用于描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被Robot訪問到。
舉例:
例一:"Disallow:/help"是指/help.html 和/help/index.html都不允許搜索引擎蜘蛛抓取。
例二:"Disallow:/help/"是指允許搜索引擎蜘蛛抓取/help.html,而不能抓取/help/index.html。
例三:Disallow記錄為空說明該網站的所有頁面都允許被搜索引擎抓取,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"是一個空文件,則對于所有的搜索引擎蜘蛛,該網站都是開放的可以被抓取的。
#:Robots.txt 協議中的注釋符。
綜合例子 :
例一:通過"/robots.txt"禁止所有搜索引擎蜘蛛抓取"/bin/cgi/"目錄,以及 "/tmp/"目錄和 /foo.html 文件,設置方法如下:
User-agent: *
Disallow: /bin/cgi/
Disallow: /tmp/
Disallow: /foo.html
例二:通過"/robots.txt"只允許某個搜索引擎抓取,而禁止其他的搜索引擎抓取。如:只允許名為"slurp"的搜索引擎蜘蛛抓取,而拒絕其他的搜索引擎蜘蛛抓取 "/cgi/" 目錄下的內容,設置方法如下:
User-agent: *
Disallow: /cgi/
User-agent: slurp
Disallow:
例三:禁止任何搜索引擎抓取我的網站,設置方法如下:
User-agent: *
Disallow: /
例四:只禁止某個搜索引擎抓取我的網站如:只禁止名為“slurp”的搜索引擎蜘蛛抓取,設置方法如下:
User-agent: slurp
Disallow: /
更多參考資料 (英文版)
robots.txt是什么:
robots.txt是一個協議,而不是一個命令。robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件。robots.txt文件告訴蜘蛛程序在服務器上什么文件是可以被查看的,也可以指定sitemap的路徑。
當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。
Google和百度官方建議,僅當您的網站包含不希望被搜索引擎收錄的內容時,才需要使用robots.txt文件。如果您希望搜索引擎收錄網站上所有內容,請勿建立robots.txt文件。
robots.txt必須放置在一個站點的根目錄下,而且文件名必須全部小寫。robots.txt必須遵循robots.txt協議使用標準語法,嚴格按照用法來編寫,不然會造成搜索引擎無法訪問你的網站。
robots.txt文件的格式
"robots.txt"文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:
<field><optional space><value><optional space>
在該文件中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow和Allow行,詳細情況如下:
User-agent:
該項的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多條User-agent記錄說明有多個robot會受 到"robots.txt"的限制,對該文件來說,至少要有一條User-agent記錄。
如果該項的值設為*,則對任何robot均有效, 在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。如果在"robots.txt"文件中,加入"User- agent:SomeBot"和若干Disallow、
Allow行,那么名為"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:
該項的值用于描述不希望被訪問的一組URL,這個值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項的值開頭的URL不會被 robot訪問。
例如"Disallow:/help"禁止robot訪問/help.html、/helpabc.html、/help /index.html,而"Disallow:/help/"則允許robot訪問/help.html、/helpabc.html,
不能訪問 /help/index.html。"Disallow:"說明允許robot訪問該網站的所有url,在"/robots.txt"文件中,至少要有一 條Disallow記錄。如果"/robots.txt"不存在或者為空文件,
則對于所有的搜索引擎robot,該網站都是開放的。
Allow:
該項的值用于描述希望被訪問的一組URL,與Disallow項相似,這個值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項的值開頭的URL 是允許robot訪問的。
例如"Allow:/hibaidu"允許robot訪問/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。一個網站的所有URL默認是Allow的,所以Allow通常與Disallow搭配使用,
實現允許訪問一部分網頁 同時禁止訪問其它所有URL的功能。
使用"*"and"$":
Baiduspider支持使用通配符"*"和"$"來模糊匹配url。
"$" 匹配行結束符。
"*" 匹配0或多個任意字符。
robots.txt文件參考資料
robots.txt文件的更具體設置,請參看以下鏈接:
百度搜索幫助中心-禁止搜索引擎收錄的方法
Web Server Administrator's Guide to the Robots Exclusion Protocol
HTML Author's Guide to the Robots Exclusion Protocol
The original 1994 protocol description, as currently deployed
The revised Internet-Draft specification, which is not yet completed or implemented