1. robots.txt只能存放于网站的根目录下,置于除此之外的任何地方均不会被Spider发现。
2. 每个网站,或每个域名(包括子域名),只能有一个robots.txt。
3. 文件名“robots.txt”为小写字母,其他如Robots.txt或robots.Txt是不正确的,命名错误将会被Spider忽略。
robots.txt语法。最简单的 robots.txt 文件使用两条规则:
User-Agent: 适用下列规则的漫游器
Disallow: 要拦截的网页
这两行被视为文件中的一个条目。您可根据需要包含任意多个条目。您可在一个条目中包含多个 Disallow 行和多个 User-Agent。
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,该网站都是开放的。
• 要拦截整个网站,请使用正斜扛。
Disallow:/
• 要拦截目录及其中的所有内容,请在目录名后添加正斜扛。
Disallow:/private_directory/
• 要拦截网页,请列出该网页。
Disallow:/private_file.html
网址区分大小写。例如:Disallow:/private_file.html
会拦截 private_file.html,
但不会拦截 Private_File.html。
Google、百度和雅虎的蜘蛛还支持Allow语法
Allow:该项的值用于描述希望被访问的一组URL。
与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。例如"Allow:/hibaidu"允许robot访问/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
注意:Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
使用 * 匹配字符序列
您可使用星号 (*) 来匹配字符序列。例如,要拦截对所有以"专用"开头的子目录的访问,可使用下列条目:
User-Agent:Googlebot
Disallow:/专用*/
要拦截对所有包含问号 (?) 的网址的访问,可使用下列条目:
User-agent:*
Disallow:/*?
使用 $ 匹配网址的结束字符
您可使用 $ 字符指定与网址的结束字符进行匹配。例如,要拦截以 .asp 结尾的网址,可使用下列条目:
User-Agent:Googlebot
Disallow:/*.asp$
您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 表示一个会话 ID,您可排除所有包含该 ID 的网址,确保 搜索引擎蜘蛛不会抓取重复的网页。但是,以 ? 结尾的网址可能是您要包含的网页版本。在此情况下,可对 robots.txt 文件进行如下设置:
User-agent:*
Allow:/*?$
Disallow:/*?
Disallow:/ *? 一行将拦截包含 ? 的网址(具体而言,它将拦截所有以您的域名开头、后接任意字符串,然后是问号 (?),而后又是任意字符串的网址)。
Allow: /*?$ 一行将允许包含任何以 ? 结尾的网址(具体而言,它将允许包含所有以您的域名开头、后接任意字符串,然后是问号 (?),问号之后没有任何字符的网址)。
URL匹配举例
Allow或Disallow的值 URL 匹配结果
/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. 禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
例2. 允许所有的robot访问
(或者也可以建一个空文件 "/robots.txt")
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
例3. 仅禁止baiduspider访问您的网站
User-agent: baiduspider
Disallow: /
例4. 仅允许baiduspider访问您的网站
User-agent: baiduspider
Disallow:
User-agent: *
Disallow: /
例5.禁止spider访问特定目录
在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 "Disallow: /cgi-bin/ /tmp/"。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
例6. 允许访问特定目录中的部分url User-agent: *
Allow: /cgi-bin/see
Allow: /tmp/hi
Allow: /~joe/look
Disallow: /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. 禁止访问网站中所有的动态页面
User-agent: *
Disallow: /*?*
参考:禁止搜索引擎收录的方法
http://www.baidu.com/search/robots.html
如需转载,请注明来自飞翔鸟网站制作
http://www.fly810.com,谢谢!