武汉SEO
时光静好,与君语;细水流年,与君同;繁华落尽,与君老...

网站优化知识>正文

写robots时需要注意的一些事情

2015-05-12 15:37

当一个网站建立之后,两个文件是经常被发现却不经常被用到的,他们同时位于网站的根目录。一 个名字叫.htaccess另一个名字叫robots。.htaccess叫分布式配置文件,在接下来的章节将会讲到。今天重点说一下robots的写法 和注意事项,虽然robots不经常用到,但真正用的的时候用处大着呢!

一、基本写法

  内容项的基本格式:键: 值对。

1) User-Agent键

后面的内容对应的是各个具体的搜索引擎爬行器的名称。如百度是Baiduspider,谷歌是Googlebot。

一般我们这样写:

User-Agent: *

表示允许所有搜索引擎蜘蛛来爬行抓取。如果只想让某一个搜索引擎蜘蛛来爬行,在后面列出名字即可。如果是多个,则重复写。

注意:User-Agent:后面要有一个空格。

在robots.txt中,键后面加:号,后面必有一个空格,和值相区分开。

2)Disallow键

该键用来说明不允许搜索引擎蜘蛛抓取的URL路径。

例如:Disallow: /index.php 禁止网站index.php文件

Allow键

该键说明允许搜索引擎蜘蛛爬行的URL路径

例如:Allow: /index.php 允许网站的index.php

通配符*

代表任意多个字符

例如:Disallow: /*.jpg 网站所有的jpg文件被禁止了。

结束符$

表示以前面字符结束的url。

例如:Disallow: /?$ 网站所有以?结尾的文件被禁止。

二、注意误区

问题一.Allow包含的范围超过Disallow,并且位置在Disallow前面。

比如有很多人这样写:

User-agent: *

Allow: /

Disallow: /mulu/

这种写法的本意是想让所有搜索引擎蜘蛛抓取本站除/mulu/以外的所有页面,从而达到绕过/mulu/索引的目的。

按照蜘蛛爬行方式,读取第一条Allow时便已经开始了对所有文件的抓取,当第一条命令完成后再会去读第二条命令,可是读到第二条是已经就没什么用了,因为/mulu/已经被抓取走了。正确的是Disallow应该在Allow之上,这样才会生效。

问题二.Disallow命令和Allow命令之后没有以斜杠”/”开头。

这是个很常见的问题,很多人吧robots书写的规范很不错,但是前面却忘记了添加/,这样是没有效果的。斜杠”/”和电脑中的/是一样的,意味着绝对路径也就是网站的根目录,如果不添加/的话,蜘蛛便找不到命令中给出的目录。

正确的应该是Disallow: /123.html,这样才能屏蔽/123.html这个文件,这条规则才能生效。

误区3.屏蔽的目录后没有带斜杠”/”。

也 就是比如想屏蔽抓取/xxx/这个目录,携程/xxx可以么?答案当然是可以的。但是首先我们要理解一点,/xxx等价于/xxx*。也就是说,无论是以 xxx开头的目录还是以xxx开头的文件都会被屏蔽掉,如果恰好有一个/xxxx的目录这个目录里面的东西同样不会收录。

所以说,命令这种事情,写法很重要。写严谨更重要,如果不小心丢掉了一个符号导致网站难以被收录,这是多么悲剧一件事情呀。

本文链接:https://www.0937.biz/post-248.html