搜索引擎訪問一個(gè)網(wǎng)站時(shí),它首先會(huì)檢查該網(wǎng)站的根域下是否有一個(gè)叫做robots.txt的純文本文件。Robots.txt文件用于限定搜索引擎對(duì)其網(wǎng)站的訪問范圍,即告訴搜索引擎網(wǎng)站中哪些文件是允許它進(jìn)行檢索(下載)的。
搜索引擎訪問一個(gè)網(wǎng)站時(shí),它首先會(huì)檢查該網(wǎng)站的根域下是否有一個(gè)叫做robots.txt的純文本文件。Robots.txt文件用于限定搜索引擎對(duì)其網(wǎng)站的訪問范圍,即告訴搜索引擎網(wǎng)站中哪些文件是允許它進(jìn)行檢索(下載)的。這就是大家在
上常看到的“拒絕Robots訪問標(biāo)準(zhǔn)”(Robots Exclusion Standard)。下面我們簡(jiǎn)稱RES。 Robots.txt文件的格式:Robots.txt文件的格式比較特殊,它由記錄組成。這些記錄通過空行分開。其中每條記錄均由兩個(gè)域組成:
1) 一個(gè)User-Agent(用戶代理)字符串行;
2) 若干Disallow字符串行。
記錄格式為: ":"
下面我們分別對(duì)這兩個(gè)域做進(jìn)一步說(shuō)明。
User-agent(用戶代理):
User-agent行(用戶代理行) 用于指定搜索引擎robot的名字,以Google的檢索程序Googlebot為例,有:User-agent: Googlebot
一個(gè)robots.txt中至少要有一條User-agent記錄。如果有多條User-agent記錄,則說(shuō)明有多個(gè)robot會(huì)受到RES標(biāo)準(zhǔn)的 限制。當(dāng)然了,如果要指定所有的robot,只需用一個(gè)通配符"*"就搞定了,即:User-agent: * Disallow(拒絕訪問聲明):
在Robots.txt文件中,每條記錄的第二個(gè)域是Disallow:指令行。這些Disallow行聲明了該網(wǎng)站中不希望被訪問的文件和(或)目 錄。例如"Disallow: email.htm"對(duì)文件的訪問進(jìn)行了聲明,禁止Spiders下載網(wǎng)站上的email.htm文件。而"Disallow: /cgi-bin/"則對(duì)cgi-bin目錄的訪問進(jìn)行了聲明,拒絕Spiders進(jìn)入該目錄及其子目錄。Disallow聲明行還具有通配符功能。例如 上例中"Disallow: /cgi-bin/"聲明了拒絕搜索引擎對(duì)cgi-bin目錄及其子目錄的訪問,而"Disallow:/bob"則拒絕搜索引擎對(duì)/bob.html和 /bob/indes.html的訪問(即無(wú)論是名為bob的文件還是名為bob的目錄下的文件都不允許搜索引擎訪問)。Disallow記錄如果留空, 則說(shuō)明該網(wǎng)站的所有部分都向搜索引擎開放。
空格 & 注釋
在robots.txt文件中,凡以"#"開頭的行,均被視為注解內(nèi)容,這和UNIX中的慣例是一樣的。但大家需要注意兩個(gè)問題:
1) RES標(biāo)準(zhǔn)允許將注解內(nèi)容放在指示行的末尾,但這種格式并不是所有的Spiders都能夠支持。譬如,并不是所有的Spiders都能夠正確理 解"Disallow: bob #comment"這樣一條指令。有的Spiders就會(huì)誤解為Disallow的是"bob#comment"。最好的辦法是使注解自成一行。
2) RES標(biāo)準(zhǔn)允許在一個(gè)指令行的開頭存在空格,象"Disallow: bob #comment",但我們也并不建議大家這么做。
Robots.txt文件的創(chuàng)建:
需要注意的是,應(yīng)當(dāng)在UNIX命令行終端模式下創(chuàng)建Robots.txt純文本文件。好的文本編輯器一般都能夠提供UNIX模式功能,或者你的FTP客戶端軟件
也“應(yīng)該”能夠替你轉(zhuǎn)換過來(lái)。如果你試圖用一個(gè)沒有提供文本編輯模式的HTML編輯器來(lái)生成你的robots.txt純文本文件,那你可就是瞎子打蚊子——白費(fèi)力氣了。
對(duì)RES標(biāo)準(zhǔn)的擴(kuò)展:
盡管已經(jīng)提出了一些擴(kuò)展標(biāo)準(zhǔn),如Allow行或Robot版本控制(例如應(yīng)該忽略大小寫和版本號(hào)),但尚未得到RES工作組的正式批準(zhǔn)認(rèn)可。
附錄I. Robots.txt用法舉例:
使用通配符"*",可設(shè)置對(duì)所有robot的訪問權(quán)限。
User-agent: *
Disallow:
表明:允許所有搜索引擎訪問網(wǎng)站下的所有內(nèi)容。
User-agent: *
Disallow: /
表明:禁止所有搜索引擎對(duì)網(wǎng)站下所有網(wǎng)頁(yè)的訪問。
User-agent: *
Disallow: /cgi-bin/Disallow: /images/
表明:禁止所有搜索引擎進(jìn)入網(wǎng)站的cgi-bin和images目錄及其下所有子目錄。需要注意的是對(duì)每一個(gè)目錄必須分開聲明。
User-agent: Roverdog
Disallow: /
表明:禁止Roverdog訪問網(wǎng)站上的任何文件。
User-agent: Googlebot
Disallow: cheese.htm
表明:禁止Google的Googlebot訪問其網(wǎng)站下的cheese.htm文件。
上面介紹了一些簡(jiǎn)單的設(shè)置,對(duì)于比較復(fù)雜的設(shè)置,可參看一些大型站點(diǎn)如CNN或Looksmart的robots.txt文件
附錄II. 相關(guān)robots.txt文章參考:
1. Robots.txt常見問題解析
2. Robots Meta Tag的使用
3. Robots.txt檢測(cè)程序
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
