行業(yè)動(dòng)態(tài)
robots.txt用法
發(fā)布日期:2010-03-23 閱讀次數(shù):4126 字體大小:

1. robots.txt只能存放于網(wǎng)站的根目錄下,置于除此之外的任何地方均不會(huì)被Spider發(fā)現(xiàn)。 

2. 每個(gè)網(wǎng)站,或每個(gè)域名(包括子域名),只能有一個(gè)robots.txt。 

3. 文件名“robots.txt”為小寫(xiě)字母,其他如Robots.txt或robots.Txt是不正確的,命名錯(cuò)誤將會(huì)被Spider忽略。
 
robots.txt語(yǔ)法。最簡(jiǎn)單的 robots.txt 文件使用兩條規(guī)則:
   User-Agent: 適用下列規(guī)則的漫游器
   Disallow: 要攔截的網(wǎng)頁(yè) 

這兩行被視為文件中的一個(gè)條目。您可根據(jù)需要包含任意多個(gè)條目。您可在一個(gè)條目中包含多個(gè) Disallow 行和多個(gè) User-Agent。

User-agent:該項(xiàng)的值用于描述搜索引擎robot的名字。

在"robots.txt"文件中,如果有多條User-agent記錄說(shuō)明有多個(gè)robot會(huì)受到"robots.txt"的限制,對(duì)該文件來(lái)說(shuō),至少要有一條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)的值用于描述不希望被訪問(wèn)的一組URL。

這個(gè)值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項(xiàng)的值開(kāi)頭的URL不會(huì)被robot訪問(wèn)。例如"Disallow:/help"禁止robot訪問(wèn)/help.html、/helpabc.html、/help/index.html,而"Disallow:/help/"則允許robot訪問(wèn)/help.html、/helpabc.html,不能訪問(wèn)/help/index.html。

"Disallow:"說(shuō)明允許robot訪問(wèn)該網(wǎng)站的所有url,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"不存在或者為空文件,則對(duì)于所有的搜索引擎robot,該網(wǎng)站都是開(kāi)放的。

• 要攔截整個(gè)網(wǎng)站,請(qǐng)使用正斜扛。
Disallow:/

• 要攔截目錄及其中的所有內(nèi)容,請(qǐng)?jiān)谀夸浢筇砑诱笨浮?br /> Disallow:/private_directory/

• 要攔截網(wǎng)頁(yè),請(qǐng)列出該網(wǎng)頁(yè)。
Disallow:/private_file.html

網(wǎng)址區(qū)分大小寫(xiě)。例如:Disallow:/private_file.html
會(huì)攔截 private_file.html
但不會(huì)攔截 Private_File.html。

Google、百度和雅虎的蜘蛛還支持Allow語(yǔ)法

Allow:該項(xiàng)的值用于描述希望被訪問(wèn)的一組URL。

與Disallow項(xiàng)相似,這個(gè)值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項(xiàng)的值開(kāi)頭的URL是允許robot訪問(wèn)的。例如"Allow:/hibaidu"允許robot訪問(wèn)/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一個(gè)網(wǎng)站的所有URL默認(rèn)是Allow的,所以Allow通常與Disallow搭配使用,實(shí)現(xiàn)允許訪問(wèn)一部分網(wǎng)頁(yè)同時(shí)禁止訪問(wèn)其它所有URL的功能。

注意:Disallow與Allow行的順序是有意義的,robot會(huì)根據(jù)第一個(gè)匹配成功的Allow或Disallow行確定是否訪問(wèn)某個(gè)URL。

使用 * 匹配字符序列

您可使用星號(hào) (*) 來(lái)匹配字符序列。例如,要攔截對(duì)所有以"專(zhuān)用"開(kāi)頭的子目錄的訪問(wèn),可使用下列條目:
User-Agent:Googlebot
Disallow:/專(zhuān)用*/

要攔截對(duì)所有包含問(wèn)號(hào) (?) 的網(wǎng)址的訪問(wèn),可使用下列條目:
User-agent:*
Disallow:/*?

使用 $ 匹配網(wǎng)址的結(jié)束字符

您可使用 $ 字符指定與網(wǎng)址的結(jié)束字符進(jìn)行匹配。例如,要攔截以 .asp 結(jié)尾的網(wǎng)址,可使用下列條目:
User-Agent:Googlebot
Disallow:/*.asp$

您可將此模式匹配與 Allow 指令配合使用。例如,如果 ? 表示一個(gè)會(huì)話 ID,您可排除所有包含該 ID 的網(wǎng)址,確保 搜索引擎蜘蛛不會(huì)抓取重復(fù)的網(wǎng)頁(yè)。但是,以 ? 結(jié)尾的網(wǎng)址可能是您要包含的網(wǎng)頁(yè)版本。在此情況下,可對(duì) robots.txt 文件進(jìn)行如下設(shè)置:

User-agent:*
Allow:/*?$
Disallow:/*?

Disallow:/ *? 一行將攔截包含 ? 的網(wǎng)址(具體而言,它將攔截所有以您的域名開(kāi)頭、后接任意字符串,然后是問(wèn)號(hào) (?),而后又是任意字符串的網(wǎng)址)。

Allow: /*?$ 一行將允許包含任何以 ? 結(jié)尾的網(wǎng)址(具體而言,它將允許包含所有以您的域名開(kāi)頭、后接任意字符串,然后是問(wèn)號(hào) (?),問(wèn)號(hào)之后沒(méi)有任何字符的網(wǎng)址)。
 
URL匹配舉例 

Allow或Disallow的值 URL 匹配結(jié)果
/tmp /tmp yes
/tmp /tmp.html yes
/tmp /tmp/a.html yes
/tmp/ /tmp no
/tmp/ /tmphoho no
/tmp/ /tmp/a.html yes
 
/Hello* /Hello.html yes
/He*lo /Hello,lolo yes
/Heap*lo /Hello,lolo no
html$ /tmpa.html yes
/a.html$ /a.html yes
htm$ /a.html no

robots.txt文件用法舉例 

例1. 禁止所有搜索引擎訪問(wèn)網(wǎng)站的任何部分
User-agent: *
Disallow: /

例2. 允許所有的robot訪問(wèn)

(或者也可以建一個(gè)空文件 "/robots.txt") 

User-agent: *
Disallow: 

或者

User-agent: *
Allow: / 

例3. 僅禁止baiduspider訪問(wèn)您的網(wǎng)站 

User-agent: baiduspider
Disallow: /

例4. 僅允許baiduspider訪問(wèn)您的網(wǎng)站 

User-agent: baiduspider
Disallow:

User-agent: *
Disallow: /

例5.禁止spider訪問(wèn)特定目錄

在這個(gè)例子中,該網(wǎng)站有三個(gè)目錄對(duì)搜索引擎的訪問(wèn)做了限制,即robot不會(huì)訪問(wèn)這三個(gè)目錄。需要注意的是對(duì)每一個(gè)目錄必須分開(kāi)聲明,而不能寫(xiě)成 "Disallow: /cgi-bin/ /tmp/"。

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

例6. 允許訪問(wèn)特定目錄中的部分url User-agent: *

Allow: /cgi-bin/see
Allow: /tmp/hi
Allow: /~joe/look
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

例7. 使用"*"限制訪問(wèn)url

禁止訪問(wèn)/cgi-bin/目錄下的所有以".htm"為后綴的URL(包含子目錄)。 

User-agent: *
Disallow: /cgi-bin/*.htm

例8. 使用"$"限制訪問(wèn)url

僅允許訪問(wèn)以".htm"為后綴的URL。 User-agent: *
Allow: .htm$
Disallow: /

例9. 禁止訪問(wèn)網(wǎng)站中所有的動(dòng)態(tài)頁(yè)面
 User-agent: *
Disallow: /*?*