2013年11月5日

Robots知识详解

Robots,又称搜索引擎公共协议;在SEO里起着举足轻重的作用。为什么这样说呢?让我们了解robots的作用和语法。
一、Robots的作用
Robots的作用主要是控制搜索引擎的抓取,建一个名为robots.txt的文件,存放在网站根目录下,主要有以下几个方面:

1:屏蔽站内的死链接。
2:屏蔽无页面的内容,这点对站点的权重有较大的影响。通过使用robots,我们可以屏蔽掉论坛的会员个人中心、留言板、旅游等站点的在线预订页面、404页面等。通过这样设置,避免搜索引擎抓取这些无内容的页面。
3:屏蔽站点目录:主要是一些程序目录用到——比如后台管理目录,会员管理目录等重要保密信息的目录。
4:屏蔽一些功能页面:比如关于我们、联系我们等分散权重功能页面。
在这里讲述一个很有用的语法, 这个语法的主用是禁止在百度搜索引擎上显示百度快照。 “Baiduspider”即百度蜘蛛。对于其他搜索引擎的快照屏蔽也可以使用这个语言。
附:国内搜索引擎的蜘蛛名称
Google蜘蛛名称: Googlebot
百度(Baidu)蜘蛛名称:Baiduspider
雅虎(Yahoo)蜘蛛名称:Yahoo Slurp
有道(Yodao)蜘蛛名称:YodaoBot
搜狗(sogou)蜘蛛名称:sogou spider
腾讯Soso:Sosospider
二、Robots的语法(三个语法和两个通配符)
<三个语法如下>:
1:User-agent:(定义搜索引擎)
写法:User-agent: * 或搜索引擎的蜘蛛名称
例如 User-agent:Googlebot (定义谷歌,只允许谷歌蜘蛛爬取)
User-agent:Baiduspider (定义百度,只允许百度蜘蛛爬取)
User-agent:*(定义所有搜索引擎)
2:Disallow:(禁止语法) 用来定义禁止蜘蛛爬取的页面或目录。
写法:Disallow:/文件夹目录/ (表示禁止蜘蛛爬取网站的其中一个目录)
或 Disallow:/文件名称 (表示禁止蜘蛛爬取网站的其中一个页面)
例如:Disallow:/ (禁止蜘蛛爬取网站的所有目录 “/” 表示根目录下)
Disallow:/admin (禁止蜘蛛爬取admin目录)
Disallow:/abc.html (禁止蜘蛛爬去abc.html页面)
Disallow:/help.html (禁止蜘蛛爬去help.html页面)
整套语法示范:
User-agent: *
Disallow:/目录1/ (禁止所有搜索引擎的蜘蛛爬取站点的这个目录1)
Disallow:/目录2/ (禁止所有搜索引擎的蜘蛛爬取站点的这个目录2)
那么接下来我们会遇到一个问题:如果我一个站点,它的某个目录比如说 admin目录;我想禁止admin目录里除了/admin/1.php 这个页面,所有页面都禁止搜索引擎的蜘蛛爬取。 如果按照 Disallow语法,工作量就相当的大。 如何操作,我们且看第三个语法。
3:Allow:(允许语法) 用来定义允许蜘蛛爬取的页面或子目录
例如: Disallow:/ (禁止蜘蛛爬取网站的所有目录)
Disallow:/admin (禁止蜘蛛爬取admin目录)
Allow:/admin/abc.html(“/” 表示根目录下,允许蜘蛛爬去admin目录中的abc.html页面)
从上面我们可以看到allow的出现,解决了我们在屏蔽某些目录的时候,又必须让目录里面的一些文件被蜘蛛抓取的问题。 接下来,又出现一个问题;我们如果要批量屏蔽一些相同属性的文件呢,这些文件在不同的目录;用 Disallow也不适合,工作量大。 我们接下来看第四个语法。
<两个通配符如下>:
4:匹配符”$”和 “*”
$ 通配符:匹配URL结尾的字符; * 通配符:匹配0个或多个任意字符;
例1:
充许所有搜索引擎蜘蛛抓取以某个扩展名为后缀的网页地址,代码如下:
User-agent: *
Allow: .htm$ 说明(其中“.htm”,表示充许搜索引擎蜘蛛抓取所有”.htm”为后缀的文件,注意,这里并不包括以”.html”为后缀的文件)
例2:
设定某种类型文件禁止被某个搜索引擎蜘蛛抓取,代码如下:
User-agent: *
Disallow: /*.htm 说明(其中“.htm”,表示禁止搜索引擎蜘蛛抓取所有以”.htm”为后缀的文件,注意,这里并不包括以”.html”为后缀的文件)
综合例子如下:
例1:禁止搜索引擎抓取特定目录
在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即搜索引擎不会访问这三个目录。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /joe/
例2:只允许搜索引擎抓取cgi-bin目录下的see目录中的部分url
User-agent: *
Allow: /cgi-bin/see
Disallow: /cgi-bin/
例3:禁止抓取/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)
User-agent: *
Disallow: /cgi-bin/*.htm
例4:禁止抓取网站中所有的动态页面
User-agent: *
Disallow: /*?*
例5:禁止百度蜘蛛抓取网站所有的图片:
User-agent: Baiduspider
Disallow: /*.jpg$
Disallow: /*.jpeg$
Disallow: /*.gif$
Disallow: /*.png$
Disallow: /*.bmp$
如允许则将DisAllow改为Allow即可。









































































共享這篇文章 :

0 意見:

張貼留言

 

Copyright © 2013李众的博客