[SEO技术]搜索引擎Robots协议标准写法解析
Robots:网站和搜引擎之间的一个协议。用来防止搜索引擎抓取那些我们不想被搜索引擎索引到的隐私内容。此经验已经讲诉的非常明了了,如果还是有不明白的地方,可以加群前面是三九一中间是二六二后面是四六九组合起来就可以了,希望对不懂的朋友能够有所帮助
一、搜索引擎蜘蛛爬虫的原理
1、蜘蛛是通过链接来进行爬取的,通过爬取网站的源代码,收集代码中的网址然后再去爬取收集来的地址。通过外部链接爬取到网站。再通过内部链接来爬取我们整个网站当我们不想让搜索引擎抓取,我们该怎么做呢?于是就有了一个Robots协议,早期是为了防止搜索引擎的抓取一些隐私的页面
二、什么是Robots协议
1、Robots 协议,他不是一个命令,而是一个指令,事实上,当你对网站进行Robots屏蔽后,他不会立刻马上就采取行动,他是一个单方面协议,蜘蛛可以听从,也可以 不听从!所以大家需要注意,滤鲇魍童设置Robots后,并不会像我们想象那样马上生效,短则几天生效,长则4周以上才能生效!
三、Robots的常见写法
1、Robots的常见写法(我们一般常见的语法只有三个,非常的简单)
2、User-agent:定义搜索引擎的
3、Disallow:禁止(一般我们第 一个字母大写)
4、Allow:允许( 和禁止是一起使用的,不禁止就是允许,默认就是允许,他和禁止语法一起使用的目的是便于目录的屏蔽灵活的应用。其最终的目的,是为了减少代码的使用。比如我们有一个 /SEO/这个文件夹SEO这个文件夹里面有十万个文件。而十万个文件里面有两个文件是需要抓取的。其他的都是不需要抓取,那么我们怎么样来使用。我们 不可能去屏蔽那么多个文 件 太多了。而且Robots的文件也不可能写太多会增加蜘蛛工作量, 那这个时候如果用Allow这个语法,一下子就可以解决这个问题了。
5、比如我们要骂蹭爽廓屏蔽SEO目录但是要收录SEO目录下的/seo/abc.php和 /seo/ccc/php 这两个文件,当然这种情况恝依在绌来说发生是很小。我们是举个例子User-agent: *Disallow: /seo/Allow: /seo/abc.phpAllow: /seo/ccc.php
四、Robots语法解析
1、User-agent:是定义搜索引擎的,指定搜索引擎的爬取程序,如果想定义所有搜索引擎请用* ,记住他不能单独使用,他要配合前面两个语法使用(随便一个就行了)。
2、Disallow:是禁止搜索引擎抓取的路径。注意: / 表示根目录 (代表网站所有目录)。Disal造婷用痃low禁止搜索引擎把我们的网页放出来,就是我们不允许搜索引擎收录,请记住是不允许搜索引擎收录,并不代表他不能爬取 了。这是两个概念,他还是能爬的,他不是命令,他只是协议。
3、Allow:是允许的意思,但需要注意:他的使用一般都是结合Disallow他不能单独出 现,意思是禁止爬取那个内容,加上Allow后意思是,除了可以爬取这个外其余的都禁止!
五、常见的搜索引擎蜘蛛
1、常见的搜索引擎蜘蛛由于互联网上蜘蛛有进200多种搜索引擎蜘蛛,但你需要知道的几个常见的蜘蛛:
2、百度蜘蛛:Baiduspider谷歌机器人:Googlebot360好搜: 360spiderSOSO蜘蛛:Sosospider雅虎的蜘蛛 Mozilla微软bing的蜘蛛:msnbot
六、Robots的应用
1、应用1: 屏蔽所有搜索引擎爬取网站的语法:User-agent: *Disallow: /
2、应用2:允许所有搜索引擎爬取网站所有内容User-agent: *Disallow:应用
3、3:只禁止百度抓取你网站的内容User-agent: BaiduspiderDisallow: /
4、应用4:只允许百度抓取你网站的内容User-agent:BaiduspiderDisallow:User-agent: *disallow: /
七、语法的细节使用
1、冒号后面有空格,这是要严格遵守的,语法的第一个字母大写
八、语法的搭配使用
1、User-agent放在第一,起到定义搜索引擎,意思就是之后的语法是针对User-agent 定义所在的搜索引擎有效的
九、文件夹的使用
1、文件夹的使用(没有斜杠跟有斜杠他有什么区别)知识点: / 单一的斜杠代表 根目录,辅助使用,就是具体的一个目录了
2、重点:Disallow:/SEO/与 Disallow: /SEO的区别?Disallow: /SEO/禁止搜索引擎抓取该网站的SEO目录 , /SEO/ 有斜杠的含狲辍嗨嘴义是代表蜘蛛不要来收录我们的SEO文件夹这个目录下面所以的页面Disallow: /SEO 不带斜杠他代表的意义就多了,表示不但禁止搜索引擎抓取该网站的SEO目录,还能够禁止所有以SEO开头的目录名和文件名开头的网址
十、匹配符 (通配符两个要点:)
1、—— $结束符(所有以他结尾的都能够进行匹配)
2、—— *匹配符(匹配零或任意多个字符)
3、通配符是整个Robots.txt里面的核心内容,通配符出现让Robots代码更加精简,用更少的代码能够达到 同样的效果,可以匹配要屏蔽的N个路径
案例:
1、案例:我们要屏蔽我网站所以以html结尾的路径User-agent:*Disallow: /*.html$
案例:
1、serwr,fstq*.asfaserwr,fstqrwr,f.asfa下面这个和上面这个批不匹配,当然是匹配的,这是 基本的电脑知识serwr,fstq*.asfaserwr,fstqrwr,f.asfa*=rwr,f
案例:
1、serwr,fsq*.asfaserwr,fsqrsdsfsdfa2,,fa,,,wr,f.asfa他们批不匹配,万变不离其宗他也是匹配的
案例:
1、serwr,fstq*.asfaserwr,fstq.asfa上面批不匹配下面,这个也是匹配的。因为 * 他可以代表零字符
案例
1、serwr,fstq*.asfaserwr,fstisdserwr,fstps.asfa上面批不匹配下面,是不匹配的。为什 么,我们来看* 号是不是等于中间的,但是我们又发现下面是少了一个q,已经存在的他肯定不能批配了
$ 结束符结束符
1、$ 结束符结束符一般的是写在路径的后面,一般是写在.html$后面(.html$),那么我们来看两个例子:.html$woaini.ht罪焐芡拂ml$上面能 不能匹配下面他是不是匹配的呢,他是匹配的,凡是以.html结尾的他都是匹配的,第一个他是以.html结尾的,$符号就是代表所有以.html结尾 的,只要这个路径、这个文件是以.html结尾的,那$符号就能够代表 例子:.php$.php前面匹不匹配后面,他们是匹配的而且完全匹配的,因为他们是一样的,他们都是以.php结尾例 子:woaini.htm$woaini.html上面和下面批不匹配,这个是不匹配的,因为他少了一个L所以我们作为SEO一定要细心
如何屏蔽网站所有的动态路径
1、如何屏蔽网站所有的动态路径,这个Robots的语法应该怎么写,我们要知道既然所有的动态路径都是问号,那就屏蔽所以带有 ? 的路径就可以了User-agent: *Disallow: /*?* (这样只要是含有问号的都能代表他)
针对不同搜索引擎如何制定规则:
1、如果要指定谷歌不收录我们的动态路径,也不允许收录我们的 .php路径,要指定百度只允许收录我们的 .html路径,怎么写,非常简单,我们分成两段代码来写
2、User-agent: Googlebot (是告诉谷歌搜索蜘蛛)Disal盟敢势袂low: /*?*(是告诉谷歌不要收录我的动态,凡是带有问号的不要收录)Disallow: /.php$ (是告诉谷歌,不要收录我带有.php的路径,都不能收录我)User-agent: Baiduspider (是告诉百度蜘蛛)Disallow: /(告诉百度,你先禁止我全站的收录)Allow: /*.html$(只收录我以.html结尾的)
3、我 尺攵跋赈们为什么要在.html后面还要加一个$ 结束符呢,其实像这样的*已经是可以了,( Allow: /*.html ) 为什么后面还要加一个结束符。这里我跟大家解释一下,为什么要在后面瑕铆幌约加 一个结束符才是正确的。因为如果后面仅仅是这样的话。( Allow: /*.html )那么很有可能还会屏蔽掉路径,就是 .html问号后面的一些数字比如有这样的一个动态路径的话, .html?p=2112搜索引擎他也会收录的,所以加一个结束符就意味着,以 .html这就截止了,你就别想往后面延伸了。即便是有这样的动态路径。他也不会收录的
4、以上就是Robots协议的写法讲解