如何使用robots.txt文件/robots.txt的设置 robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。 <meta name="robots" content="all">指令表示搜索robot可以沿着该页面上的链接继续抓取下去。 哪么如何设置网站中不想被robot访问的部分呢? 2008年传的沸沸扬扬的淘宝和百度决裂事件之后,不少人都发现在淘宝的目录下出现了阻止百度搜索引擎抓取的命令。这样的类似指令时如何实现的呢? 首先创建一个纯文本robots.txt,在这个文件中声明该网站中不想被robot访问的部分。robots.txt文件应该放在网站根目录下。 robots.txt文件包含一条或更多的记录,这些记录通过空行分开(以cr、cr/nl、或nl作为结束符),每一条记录的格式为: "<field>:<optionalspace><value><optionalspace>" 在该文件中可以使用“#”进行注解,具体使用和unix中的惯例一样。该文件中的记录通常以一行或多行user-agent开始,后面加上若干Disallow行,详细情况如下: 一、User-agent 该项的值用于描述搜索引擎robot的名字。在robots.txt文件中,如果有多条User-agent记录,说明有多个robot会受到该协议的限制。对于文件来说,至少要有一条user-agent记录。如果该项的值设为 * ,则该协议对任何robot均有效,在robots.txt文件中,user-agent: * 这样的记录只能有一条。 二、Disallow 该项的值用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的。任何以Disallow开头的url均不会被robot访问到。例如,disallow:/help对help.html和help/index.html都不允许搜索引擎访问,而disallow:/help/则允许robot访问help.html,而不能访问help/index.html。任何一条DISallow记录为空,说明该网站的所有部分都允许被访问。在robots.txt文件中,至少要有一条Disallow记录。如果robots.txt是一个空文件,则对所有搜索引擎robot,该网站都是开放的。 一、robots.txt基本的用法 例1.禁止所有搜索引擎访问网站的任何部分 User-agent:* 二、常见的搜索引擎robot的名称 网站要屏蔽那个搜索引擎或只让那个搜索引擎收录的话,首先要知道每个搜索引擎robot的名称,如下图: 名称 搜索引擎 三、网站地图 对网站地图的新的支持方式,就是在robots.txt文件中直接包括网站地图文件的链接,就像这样: sitemap:www.abc.com/sitemap.xml 目前对此表示支持的搜索引擎公司有谷歌、雅虎、ask和msn。不过,建议还是在谷歌网站地图进行提交,因为里面有很多功能可以分析你的链接状态。 四、robots.txt带来的好处 1,几乎所有的搜索引擎spider都遵循robots.txt给出的爬行规则,协议规定搜索引擎spider进入某个网站的入口即是该网站的robotx.txt,当然,前提条件是该网站存在此文件。对于没有配置robots.txt的网站,spider将会被重定向至404错误页面。根据研究表明,如果网站采用了自定义的404错误页面,哪么spider将会把其是做robots.txt,虽然其并非是一个纯粹的文本文件。浙江给spider索引网站带来很大的困扰,影响搜索引擎对网站页面的收录。 2,robots.txt可以制止不必要的搜索引擎占用服务器的宝贵带宽,如EMAIL-retrievers,这类搜索引擎对大多数网站是没有意义的。再如images strippers,对于大多数非图形类网站来说它也是没有太大意义。但却耗用大量带宽。 3,robots.txt可以制止搜索引擎对非公开页面的爬行和索引,如网站的后台程序,管理程序等。事实上,对于某些运行中产生临时页面的网站来说,如果未配置robots.txt,搜索引擎甚至会索引那些临时文件。 4,对于内容丰富,存在很多页面的网站来说,配置robots.txt的意义更为重大,因为很多时候会遭遇到搜索引擎spider给予网站的巨大压力,洪水般的spider访问,如果不加控制,甚至会影响网站的正常访问。 5,同样的,如果网站内存在重复内容,使用robots.txt限制部分页面不被搜索引擎索引和收录,可以避免网站收到搜索引擎重复内容的惩罚,保证网站你的排名不受影响。 五、robots.txt带来的风险及解决办法 1,凡是有利必有弊,robots.txt同时也带来了一定的风险,即给攻击者指明了网站的目录结构和私密数据所在的位置,虽然在web服务器的安全措施配置得当的前提下这不是一个严重的问题,但毕竟降低了那些不怀好意者的攻击难度。 比如说,如果网站中的私密数据将通过 www.abc.com/admin/index.html访问,哪么robots.txt的设置可能如下。 user-agent:* Disallow:/admin/ 这样攻击者只需要看下robots.txt就知道你要隐藏的内容在那里,在浏览器中输入www.abc.com/admin便可访问我们不欲公开的内容。对于这种情况,一般采取如下的办法,设置访问权限,对admin中的内容实施密码保护,这样攻击者便无从进入。另一种方法是将默认的目录之地更名为其他,比如说abc.html。 另外就是如果不小心设置不对,将导致搜索引擎将索引的数据全部删除。 |





