发表评论 | 点击咨询SEOQQ咨询 0 条评论 发布:程俊克 发表时间:2013-04-27 标签:
 

robots.txt文件的基本语法相当简单。指定一个蜘蛛名称,例如“Googlebot”,然后再指定一个行为。蜘蛛通过用户代理(User-Agent)分辨,指定行为放在紧跟着的下一行。下面是可以指定的主要行为。

·Disallow:要屏蔽蜘蛛访问的页面(可以有任意多行Disallow)。
·Noindex:要屏蔽搜索引擎并且不要索引的页面(如果以前已经索引的,删除索引)。

Google非正式支持这个指令,雅虎和必应不支持。

还有一些限制:

·每一组User-Agent/Disallow之间应该用一个空行隔开。然而同一个组之内(User-Agent行与最后一个Disallow之间)不应该有空行。
·robots.txt文件中可以使用#代表注释。#后面同一行的文字都被忽略。既可以用于整行,也可以用于一行的结尾。
·目录和文件名是区分大小写的:“prlvate”、“Private”和“PRIVATE”对搜索引擎来说都是不同的。

以下是一个robots.txt文件的例子:

User-agent:Googlebot
Disallow:
User-agent:msnbot
Disallow:/
#Block all  robots from tmp and logs directories
User-agent:*
Disallow:/tmp/
Disal.low:/logs    #for directories and files called logs

上面例子的效果是:

·允许Googlebot去任何地方。
·禁止msnbot爬行网站的任何部分。
·屏蔽所有蜘蛛(除了Googlebot)访问/tmp/目录或称为/logs的文件(例如/logs或logs.php)。

注意:Googlebot的行为不受第三组代码中Disallow指令的影响,因为Googlebot在robots.txt文件中有自己的指令,它会忽略被标为所有蜘蛛(也就是使用星号*代表的)的指令。

新站长经常出错的是使用SSL时页面可以通过HTTP和HTTPS访问。位于http://www.818seo.com/robots.txt的robots.txt文件不能被搜索引擎解读为指导http://www.818seo.com/的爬行。要做到这一点,需要在http://www.818seo.com/robots.txt创建一个新的robots.txt文件。所以如果要允许爬行HTTP服务器的所有页面,禁止爬行HTTPS服务器上的所有页面,需要使用:

HTTP服务器:

User-agent:*
Disallow:

HTTPS服务器:

User-agent:*
Disallow:/

这些是robots.txt文件最基本的功能,也有更高级的技术。有些方法只被部分搜索引擎支持,如下面所详细讨论的。

Crawldelay(爬行延迟)

雅虎、必应、Ask支持Crawldelay。它指定蜘蛛爬行页面时要间隔给定的秒数。这个指令的目的是降低发布商服务器负载:

User-agent:msnbot
Crawl-delay:5

模式匹配

Google、雅虎和必应似乎都支持模式匹配。模式匹配相当有用,你可以用星号*通配符做一些基本模式匹配。下面是怎样使用模式匹配屏蔽以private开头的所有子目录(如/private1/、/private2/、/private3/等):

User-agent:Googlebot
Disallow:/private*/

可以使用$符号匹配字符串尾部。例如屏蔽以.asp结尾的URL:

User-agent:Googlebot
Disall.ow:/*.asp$

你可能希望阻止蜘蛛访问任何包含参数的URL。要屏蔽所有包含一个问号?的URL可以用下面的指令:

User-agent:*
Disallow:/*?*

robots.txt文件的模式匹配能力比Perl等编程语言有限,所以问号没有任何特殊意义,可以像任何其他字符一样处理。

Allow指令

Allow指令貌似只被Google、雅虎和Ask支持。与Disallow指令相反,它指定可以被爬行的目录或页面。使用时它可以部分覆盖前面的Disallow指令。这对网站很大一部分被屏蔽,或者整个网站被屏蔽之后的处理有好处。

下面是只允许Googlebot访问google目录的例子:

User-agent:Googlebot
Disallow:/
Allow:/google/

Noindex指令

Noindex指令与metarobotsnoindex(下面将讨论)指令相同,明确告诉搜索引擎不要索引一个页面。Disallow指令禁止爬行,但并不禁止索引。这可能是一个非常有用的功能,能确保页面不会在搜索结果中出现。不过截至2009年10月份,只有Google支持robots.txt文件中的这个指令。

网站地图

我们在前面讨论了XML网站地图。你可以通过robots.txt文件提供一个蜘蛛自动发现XML网站地图文件的机制。搜索引擎可以通过robots.txt文件中的一行指令找到文件:Sitemap:sitemap_location

sitemap_location应该是网站地图的完整URL,例如http://www.818seo.com/sitemap.xml。你可以把这行代码放在文件的任何地方。

应用robots.txt文件的完整说明,请参考Robots.txt.org。修改robots.txt文件时要很小心,一个简单的拼写错误都可能告诉搜索引擎不再爬行网站的任何部分。更新robots.txt文件后最好通过Google网管工具里的robots.txt文件测试工具检查一下。

阅读本文的人还阅读

1.Robots.txt文件的作用

2.搜索引擎robots协议用法详解

文章作者:程俊克
本文地址:http://www.818seo.com/2442.html
郑州SEO版权所有 © 转载时请以链接形式注明作者和原始出处,尊重版权,谢谢!

发表评论

*

* 绝不会泄露