如新浪博客的robots文件:http://blog.sina.com.cn/robots.txt。大部分搜索引擎在抓取网站内容时都会先在根目录寻找是否有robots.txt文件,因为Robots就是网站和搜索引擎的一个协议。
网站不希望搜索引擎抓取的内容,搜索引擎是不会抓取的,而网站需要抓取的内容可以写出来,也可以不写。就在笔者写到Robots这一节时,百度的某工程师称,360综合搜索违背Robots协议,肆意抓取百度数据。这里我们暂不谈360搜索是否有违背Robots协议的行为,先来看百度Robots文件是怎么写的,它是怎样禁止别的搜索引擎收录它的数据的。代码如下:
注意:由于篇幅原因,这里将代码中与第一项Googlebot相同的部分省略。Robots文件中每一项之间用空行隔开。
User-agent:用户代理,用户信息的标识。即为此访问用户是谁,一般写漫游器的名称,这里针对搜索引擎,就填写蜘蛛机器人的名称。例如,上面代码中的Baiduspider、Googlebot、MSNBot、Sogou web spider、Sosospider、YoudaoBot等,它们分别代表百度蜘蛛、谷歌机器人、MSN机器人、搜狗蜘蛛、搜搜蜘蛛、有道机器人。希望阻止哪个搜索引擎爬行收录,
就写上相应蜘蛛的名字。
Disallow:拒绝收录,即要阻止搜索引擎抓取的内容。可以写文件的名称,也可以是整个目录。例如Disallow: /shifen/,即不允许收录shifen目录下的内容。百度这里还写了个Disallow: /baidu?和Disallow: /s?代码,它的意思是禁止收录查询的内容,因为百度搜索结果地址为http://www.baidu.com/baidu?和http://www.baidu.com/s?开头。所以百度是为了防止自己收录自己的查询结果,也防止其他搜索引擎检索它的收录和排名结果。
Allow:允许收录,即同意搜索引擎检索和收录的内容。这里需要说明的是,即使把网站全部内容写上,搜索引擎也不一定会全部收录,这里只是告诉搜索引擎这些内容是允许被收录的。因为默认的情况下,搜索引擎即认为允许被收录,所以写上Allow和不写是没差别的,它的写法和Disallow是一样的。
在Robots文件中还有一些通配符:幸、$等字符,$应放在尾部。它们有替代和类的意思,即表示某一类文件,例如/*?+、.png$等,意思是动态页面和所有png格式的图片。
那么我们可以利用上述指令,完成网站收录与禁上收录的Robots协议。
以上为允许所有搜索引擎收录所有页面。
以上为禁止所有搜索引擎收录所有页面。
以上为禁止所有搜索引擎收录所有动态页面、png格式图片和说明页面。
网站内允许收录和禁止的页面,通过Robots文件可以与搜索引擎达成协议。我们可以利用这个协议,将我们的非目标页面进行禁止收录,从而减少权重的分散。在Robots文件中,可以一次性禁止收录,如关于我们、版权申明、帮助等内容。