robots.txt用法实例及技巧
一个看上去很奇怪的边缘情况,是在robots.txt上不放置任何规则。下面摘录的是一条空的Disallow命令,它的意思是不排除任何蜘蛛。它与根本没有robots.txt文件是一样的:
User-agent:*
Disallow:
以下robots.txt文件禁止所有搜索引擎访问该网站
User-agent:*
Disallow:/
为了排除更多URL地址,只要在User-agent命令中列举它们即可。比如:
User-agent:*
Disallow:/directory
Disallow:/file.html
这将排除任何以”/directory”(比如包括”/directory.html”)开头的文件,或以”/file.html”开头的文件。
为了对多个搜索引擎使用相同的规则,只要在Disallow条目列表前面列出多个User-agent命令即可。例如:
User-agent:googlebot
User-agent:msnbot
Disallow:/directory
Disallow:/file.html
robots.txt技巧
在理论上,根据robots.txt规范,如果一个对用户代理”*”的Disallow:命令存在,还有一个对特定的蜘蛛用户代理的Disallow:命令也存在,那么当该蜘蛛访问Web站点时,只有针对那个特定制作的更特殊的规则将被应用,并且只有一个Disallow:命令被执行。因此,以googlebot为例,必须在Googlebot用户代理下面重复”*”的所有规则,才能排除”User-agent:*”中所列出的条目。
因此,以下规则对于googlebot仅仅排除的Z,而不是以为的X、Y、Z:
User-agent:*
Disallow:X
Disallow:Y
User-agent:googlebot
Disallow:Z
如果想要googlebot排除X、Y、Z,就应该这样写:
User-agent:*
Disallow:X
Disallow:Y
User-agent:googlebot
Disallow:X
Disallow:Y
Disallow:Z
下面再来看看这个例子:
User-agent:googlebot
Disallow:
User-agent:*
Disallow:/
这个规则仅仅允许Google来检索站点。这是因为对googlebot的更特殊规则覆盖了对”*”的规则。
我建议,大家在写robot.txt文件时将默认的规则”*”放置到排除的最后。根据标准,前后并没有任何关系。然而,对Web蜘蛛到底会检索第一个匹配规则还是最精准的匹配规则,可能有些模棱两可。对于前一种情况,如果首先放置规则”*”,它肯定会被应用,而将”*”规则列在最后,就不会产生这样的混淆。
最后给SEO新手介绍下主流搜索引擎的蜘蛛名:
Google — Googlebot
Yahoo! — Slurp
MSN Search — Msnbot
Ask — Teoma
Baidu — Baiduspider
文章作者:武汉SEO
本文地址:http://www.zhengbiao.net/robots-txt-usage-examples-techniques/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

就怕有的蜘蛛不按套路出牌啊
百度惩罚网站是因为什么?
http://www.bj0551.cn
合肥搬家公司