什么是robots.txt文件?
搜索引擎使用spider程序自動(dòng)訪問互聯(lián)網(wǎng)上的網(wǎng)頁(yè)并獲取網(wǎng)頁(yè)信息。spider在訪問一個(gè)網(wǎng)站時(shí),會(huì)首先會(huì)檢查該網(wǎng)站的根域下是否有一個(gè)叫做 robots.txt的純文本文件,這個(gè)文件用于指定spider在您網(wǎng)站上的抓取范圍。您可以在您的網(wǎng)站中創(chuàng)建一個(gè)robots.txt,在文件中聲明該網(wǎng)站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。
請(qǐng)注意,僅當(dāng)您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時(shí),才需要使用robots.txt文件。如果您希望搜索引擎收錄網(wǎng)站上所有內(nèi)容,請(qǐng)勿建立robots.txt文件。
robots.txt文件放在哪里?
robots.txt文件應(yīng)該放置在網(wǎng)站根目錄下。舉例來說,當(dāng)spider訪問一個(gè)網(wǎng)站(比如 http://www.abc.com)時(shí),首先會(huì)檢查該網(wǎng)站中是否存在http://www.abc.com/robots.txt這個(gè)文件,如果 Spider找到這個(gè)文件,它就會(huì)根據(jù)這個(gè)文件的內(nèi)容,來確定它訪問權(quán)限的范圍。
網(wǎng)站 URL相應(yīng)的 robots.txt的 URLhttp://www.w3.org/http://www.w3.org/robots.txthttp://www.w3.org:80/http://www.w3.org:80/robots.txthttp://www.w3.org:1234/http://www.w3.org:1234/robots.txthttp://w3.org/http://w3.org/robots.txt
我在robots.txt中設(shè)置了禁止百度收錄我網(wǎng)站的內(nèi)容,為何還出現(xiàn)在百度搜索結(jié)果中?
如果其他網(wǎng)站鏈接了您robots.txt文件中設(shè)置的禁止收錄的網(wǎng)頁(yè),那么這些網(wǎng)頁(yè)仍然可能會(huì)出現(xiàn)在百度的搜索結(jié)果中,但您的網(wǎng)頁(yè)上的內(nèi)容不會(huì)被抓取、建入索引和顯示,百度搜索結(jié)果中展示的僅是其他網(wǎng)站對(duì)您相關(guān)網(wǎng)頁(yè)的描述。
禁止搜索引擎跟蹤網(wǎng)頁(yè)的鏈接,而只對(duì)網(wǎng)頁(yè)建索引
如果您不想搜索引擎追蹤此網(wǎng)頁(yè)上的鏈接,且不傳遞鏈接的權(quán)重,請(qǐng)將此元標(biāo)記置入網(wǎng)頁(yè)的 <HEAD> 部分:
<meta name="robots" content="nofollow">
如果您不想百度追蹤某一條特定鏈接,百度還支持更精確的控制,請(qǐng)將此標(biāo)記直接寫在某條鏈接上:
<a href="signin.php" rel="nofollow">sign in</a>
要允許其他搜索引擎跟蹤,但僅防止百度跟蹤您網(wǎng)頁(yè)的鏈接,請(qǐng)將此元標(biāo)記置入網(wǎng)頁(yè)的 <HEAD> 部分:
<meta name="Baiduspider" content="nofollow">
禁止搜索引擎在搜索結(jié)果中顯示網(wǎng)頁(yè)快照,而只對(duì)網(wǎng)頁(yè)建索引
要防止所有搜索引擎顯示您網(wǎng)站的快照,請(qǐng)將此元標(biāo)記置入網(wǎng)頁(yè)的 <HEAD> 部分:
<meta name="robots" content="noarchive">
要允許其他搜索引擎顯示快照,但僅防止百度顯示,請(qǐng)使用以下標(biāo)記:
<meta name="Baiduspider" content="noarchive">
注:此標(biāo)記只是禁止百度顯示該網(wǎng)頁(yè)的快照,百度會(huì)繼續(xù)為網(wǎng)頁(yè)建索引,并在搜索結(jié)果中顯示網(wǎng)頁(yè)摘要。
我想禁止百度圖片搜索收錄某些圖片,該如何設(shè)置?
禁止Baiduspider抓取網(wǎng)站上所有圖片、禁止或允許Baiduspider抓取網(wǎng)站上的某種特定格式的圖片文件可以通過設(shè)置robots實(shí)現(xiàn),請(qǐng)參考“robots.txt文件用法舉例”中的例10、11、12。
robots.txt文件的格式
"robots.txt"文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結(jié)束符),每一條記錄的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在該文件中可以使用#進(jìn)行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow和Allow行,詳細(xì)情況如下:
User-agent:
該項(xiàng)的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多條User-agent記錄說明有多個(gè)robot會(huì)受到"robots.txt"的限制,對(duì)該文件來說,至少要有一條User-agent記錄。如果該項(xiàng)的值設(shè)為*,則對(duì)任何robot均有效,在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。如果在"robots.txt"文件中,加入"User- agent:SomeBot"和若干Disallow、Allow行,那么名為"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:
該項(xiàng)的值用于描述不希望被訪問的一組URL,這個(gè)值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項(xiàng)的值開頭的URL不會(huì)被 robot訪問。例如"Disallow:/help"禁止robot訪問/help.html、/helpabc.html、/help /index.html,而"Disallow:/help/"則允許robot訪問/help.html、/helpabc.html,不能訪問 /help/index.html。"Disallow:"說明允許robot訪問該網(wǎng)站的所有url,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"不存在或者為空文件,則對(duì)于所有的搜索引擎robot,該網(wǎng)站都是開放的。
Allow:
該項(xiàng)的值用于描述希望被訪問的一組URL,與Disallow項(xiàng)相似,這個(gè)值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項(xiàng)的值開頭的URL 是允許robot訪問的。例如"Allow:/hibaidu"允許robot訪問/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。一個(gè)網(wǎng)站的所有URL默認(rèn)是Allow的,所以Allow通常與Disallow搭配使用,實(shí)現(xiàn)允許訪問一部分網(wǎng)頁(yè)同時(shí)禁止訪問其它所有URL的功能。
需要特別注意的是Disallow與Allow行的順序是有意義的,robot會(huì)根據(jù)第一個(gè)匹配成功的Allow或Disallow行確定是否訪問某個(gè)URL。
使用"*"和"$":
Baiduspider支持使用通配符"*"和"$"來模糊匹配url。
"$" 匹配行結(jié)束符。
"*" 匹配0或多個(gè)任意字符。
URL匹配舉例
Allow或Disallow的值URL匹配結(jié)果/tmp/tmpyes/tmp/tmp.htmlyes/tmp/tmp/a.htmlyes/tmp//tmpno/tmp//tmphohono/tmp//tmp/a.htmlyes/Hello*/Hello.htmlyes/He*lo/Hello,loloyes/Heap*lo/Hello,lolonohtml$/tmpa.htmlyes/a.html$/a.htmlyeshtm$/a.htmlno
robots.txt文件用法舉例 例1. 禁止所有搜索引擎訪問網(wǎng)站的任何部分 下載該robots.txt文件User-agent: * Disallow: /例2. 允許所有的robot訪問(或者也可以建一個(gè)空文件 "/robots.txt")User-agent: *Disallow: 或者User-agent: *Allow: / 例3. 僅禁止Baiduspider訪問您的網(wǎng)站User-agent: BaiduspiderDisallow: /例4. 僅允許Baiduspider訪問您的網(wǎng)站User-agent: BaiduspiderDisallow: User-agent: *Disallow: /例5. 禁止spider訪問特定目錄 在這個(gè)例子中,該網(wǎng)站有三個(gè)目錄對(duì)搜索引擎的訪問做了限制,即robot不會(huì)訪問這三個(gè)目錄。需要注意的是對(duì)每一個(gè)目錄必須分開聲明,而不能寫成 "Disallow: /cgi-bin/ /tmp/"。User-agent: *Disallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/例6. 允許訪問特定目錄中的部分urlUser-agent: *Allow: /cgi-bin/seeAllow: /tmp/hiAllow: /~joe/lookDisallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/例7. 使用"*"限制訪問url 禁止訪問/cgi-bin/目錄下的所有以".htm"為后綴的URL(包含子目錄)。User-agent: *Disallow: /cgi-bin/*.htm例8. 使用"$"限制訪問url 僅允許訪問以".htm"為后綴的URL。User-agent: *Allow: .htm$Disallow: /例9. 禁止訪問網(wǎng)站中所有的動(dòng)態(tài)頁(yè)面User-agent: *Disallow: /*?*例10. 禁止Baiduspider抓取網(wǎng)站上所有圖片 僅允許抓取網(wǎng)頁(yè),禁止抓取任何圖片。User-agent: BaiduspiderDisallow: /*.jpg$Disallow: /*.jpeg$Disallow: /*.gif$Disallow: /*.png$Disallow: /*.bmp$例11. 僅允許Baiduspider抓取網(wǎng)頁(yè)和.gif格式圖片 允許抓取網(wǎng)頁(yè)和gif格式圖片,不允許抓取其他格式圖片User-agent: BaiduspiderAllow: /*.gif$Disallow: /*.jpg$Disallow: /*.jpeg$ Disallow: /*.png$Disallow: /*.bmp$例12. 僅禁止Baiduspider抓取.jpg格式圖片User-agent: BaiduspiderDisallow: /*.jpg$
robots.txt文件參考資料
robots.txt文件的更具體設(shè)置,請(qǐng)參看以下鏈接:
· 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