中国最大的自助建站提供商——>>意动社区 成功案例 精美模板
关于意动 | 产品全览 | 免费体验 | 服务与支持 | 建站资源与素材 | 访问旧版网站
      首 页   如何制作网站   如何建网站   网站优化   网络营销   常见问题   网站建设客户   智能一点通         VIP套餐    定制网站
更多robots.txt示例

一个看上去有些奇怪的边缘情况,是在robot上不旋转任何规则。下面摘录的是一条空的Disallow命令,它的意思是不排除任何蜘蛛。它与根本没有robots.txt文件是一样的:

 

User-agent:*

Disallow:

 

为了排除多个URL地址,只要在User-agent命令中列举它们即可。比如:

 

User-agent:*

Disallow:/directory

Disallow:/file.html

 

这将排除任何以“/directory”开头的文件,或以“/file.html”开头的文件。

 

为了对多个搜索引擎使用相同的规则,只要在Disalow条目列表前面列出多个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-agnet:*

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

Disalow:

 

User-agent:*

Disallow:/

 

这些规则仅仅允许Google来检索站点。这是因为对googlebot的更特殊规则覆盖了对“*”的规则。

 

建议网站管理员将默认的规则“*”放置到排除的最后。根据标准,前后并没有任何关系。然而,对WEB蜘蛛到底会检索第一个匹配规则还是最精确的匹配规则,可能有些模棱两可。对前一种情况,如果首先旋转规则“*”,它肯定会被应用。而将“*”规则列在最后,就不会产生这种混淆。

 

实时生成robots.txt

 

站点开发人员完全能够实时动态地程序化生成robots.txt文件。在.htaccess中包括以下规则,能够把robots.php映射成robots.txt,并使用脚本robots.php来生成后者。按照这样的方式,就可以使用类似于meta标签排除所使用方法的编程逻辑,来生成一个robots.txt文件。

 

.htaccess里的以下规则,将对robots.txt的请求重写到robots.php:

 

RewriteEngine On

RewriteRule ^robots.txt$ /robots.php

 

这个robots.php文件如下所示:

 

<?php

header('Content-type:text/plain');

?>

 

解决robots.txt限制

 

假设在站点中,有很多产品的URL地址类似于“/products.php?product_id=<number>”,而这些URL中对应的打印友好的产品页面类似于“/products.php?product_id=<number>&print=1”。

 

标准的robots.txt文件不能很方便地用来排除这些打印友好的页面,因为匹配必须从左边开始。于是对每一个页面,都将有一个robots.txt条目:在这一点上,它退化成类似于meta标签排除的情况。在这种情况下,当然还是使用meta排除更简单。此外,在报道称,在Google里对一个robots.txt文件最多只能有5000个字符,如果列表太长的话,问题就来了。

 

但是,这种情况还是有基于标准的解决方案。如果能反转参数的顺序,这个打印友好的URL地址看上去就会类似于“/products.php?print=1&product_id=<number>”,这时就能很容易地在robots.txt中排除“/products.php?print=1”。

 

总之,重新对参数排序能让robots.txt更合乎动态网站的口味。然而,在现存的网站中它可能需要修改URL地址,可能需要重定向,并且还会因为很多原因而不尽如人意。不过用在这里还是不错的,因为这些页面肯定会被排除。

 

当处理整个目录,或者静态文件,或者很多文件名具有相同前缀修饰,通常建议的做法是使用robots.txt排除。那么做更加简单,并且减轻了服务器和蜘蛛的压力。当robots.txt排除的“left-pattern-matching”左模式匹配逻辑不好用时,meta排除通常能派上用场。两种方法可以互为补充,因此你可以在合适的时候自由地混合和匹配它们。

 

 


用户名:
密 码:
新手建站全过程视频讲解教程 成功案例
在线客服
如何制作网站

FLASH和AJAX

使用自定义标记语言来生成搜索引擎友好的HTML

搜索引擎友好的HTML

用图像来替换文字

使用sIFR

可检索的图像和图形文本

实现可检索的弹出窗口

搜索引擎友好的JavaScript(二)

搜索引擎友好的HTML和JavaScript

重定向数化的会员URL地址例子#2

重定向数化的会员URL地址

常见重复页面的解决方案(三)

常见重复页面的解决方案(二)

常见重复页面的解决方案(一)

网络空间的优势

免费空间的缺点与分类

如何挑选免费空间

空间是什么

帮助中心 付款方式 合同下载
北京蓝纤科技有限公司 Copyright 2000 - 2008
总机:010-64681504  64684094   传真:010-64673024
意动时代建网站联系:888@edo2008.com  代理意动时代自助建站业务:zhangyong@edo2008.com
非上班时间值班电话:13693193565 北京市通信管理局:京ICP证040119号
地址:(100028)北京市朝阳区静安庄一区领先商务中心106