robots协议
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
1. 什么是robots.txt?
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。表面来看,这个功能作用有限。从搜索引擎优化的角度来看,可以通过屏蔽页面,达到集中权重的作用,这,也是优化人员最为看重的地方。
此文件需放置在网站的根目录,且对字母大小有限制,文件名必须为小写字母。所有的命令第一个字母需大写,其余的小写。且命令之后要有一个英文字符空格。
2. 网站设置robots.txt的几个原因
1) 设置访问权限保护网站安全。
2) 禁止搜索引擎爬取无效页面,集中权值到主要页面。
3. 怎么用标准语法书写robots.txt协议?
有几个概念需掌握。
User-agent表示定义哪个搜索引擎,如User-agent:Baiduspider,定义百度蜘蛛。
Disallow表示禁止访问。
Allow表示运行访问。
通过以上三个命令,可以组合多种写法,允许哪个搜索引擎访问或禁止哪个页面。
1) 允许所有搜索引擎访问网站的所有部分
robots.txt写法如下:
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
注意:第一个英文要大写,冒号是英文状态下,冒号后面有一个空格,这几点一定不能写错。
2) 禁止所有搜索引擎访问网站的所有部分
robots.txt写法如下:
User-agent: *
Disallow: /
3) 允许或者禁止某个搜索引擎的访问
禁止某个搜索引擎的访问,例如禁止谷歌搜索引擎的访问
User-agent: Googlebot
Disallow: /
允许某个搜索引擎的访问,例如允许百度搜索引擎的访问
User-agent: Baiduspider
Allow: /
4) 只需要禁止蜘蛛访问某个目录,比如禁止admin、css、images等目录被索引
robots.txt写法如下:
User-agent: *
Disallow: /css/
Disallow: /admin/
Disallow: /images/
注意:路径后面有斜杠和没有斜杠的区别:比如Disallow: /images/ 有斜杠是禁止抓取images整个文件夹,Disallow: /images 没有斜杠意思是凡是路径里面有/images关键词的都会被屏蔽。
5) 屏蔽一个文件夹/templets,但是又能抓取其中一个文件的写法:/templets/main
robots.txt写法如下:
User-agent: *
Disallow: /templets
Allow: /main
6) 禁止访问/html/目录下的所有以”.php”为后缀的URL(包含子目录)
robots.txt写法如下:
User-agent: *
Disallow: /html/*.php
7) 仅允许访问某目录下某个后缀的文件,则使用“$”
robots.txt写法如下:
User-agent: *
Allow: .html$
Disallow: /
8) 禁止索引网站中所有的动态页面
比如这里限制的是有“?”的域名,例如index.php?id=1
robots.txt写法如下:
User-agent: *
Disallow: /*?*
9) 禁止搜索引擎抓取我们网站上的所有图片(如果你的网站使用其他后缀的图片名称,在这里也可以直接添加)
有些时候,我们为了节省服务器资源,需要禁止各类搜索引擎来索引我们网站上的图片,这里的办法除了使用“Disallow: /images/”这样的直接屏蔽文件夹的方式之外,还 可以采取直接屏蔽图片后缀名的方式。
robots.txt写法如下:
User-agent: *
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
4. 写robots.txt要注意的地方
1) 第一个英文要大写,冒号是英文状态下,冒号后面有一个空格,这几点一定不能写错。
2) 斜杠:/ 代表整个网站
3) 如果“/”后面多了一个空格,则屏蔽整个网站
4) 不要禁止正常的内容
5) 生效时间是几天到两个月
5. 哪些时候需要使用该协议。
1)无用页面,很多网站都有联系我们,用户协议等页面,这些页面相对于搜索引擎优化来讲,作用不大,此时需要使用Disallow命令禁止这些页面被搜索引擎抓取。
2) 动态页面,企业类型站点屏蔽动态页面,有利于网站安全。且多个网址访问同一页面,会造成权重分散。因此,一般情况下,屏蔽动态页面,保留静态或伪静态页面。
3) 网站后台页面,网站后台也可以归类于无用页面,禁止收录有百益而无一害。
下面这种情况有灰色的一行字说明robots.txt是起了作用的。只是收录了网站的地址栏: