首页 > seo基础知识 > robots.txt用法实例及技巧
2011七月6

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/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

3 Responses to “robots.txt用法实例及技巧”

  1. #1 Louis Han 回复 | 引用 Post:2011-07-06 13:12

    就怕有的蜘蛛不按套路出牌啊

  2. #2 微风SEO 回复 | 引用 Post:2011-12-29 01:57

    百度惩罚网站是因为什么?

  3. #3 微风SEO 回复 | 引用 Post:2011-12-29 01:57

    http://www.bj0551.cn
    合肥搬家公司

发表评论