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: /*?*