robots.txt怎么写利于搜索引擎优化?

2016-11-25 14:01  阅读 7,926 次 评论 0 条

在网站优化的过程中,网站有一些内容是我们不希望蜘蛛抓取的,如果没有规范,搜索引擎蜘蛛就会随便抓取,就可能会抓取到一些我们不想让它抓取到的内容,或者是抓取到了大量的垃圾页面,为避免这种情况,这个时候就会涉及到robots协议,那么什么是robots协议?Robots协议的语法和写法又是如何呢?

robots.txt

 

一、什么是robots协议?

1、搜索引擎和我们网站的一个协议。我不想让你来抓取我网站的某个页面,只要定义了,蜘蛛就不会来抓取。用来防止搜索引擎抓取我们不想抓取的,告诉蜘蛛程序在服务器上什么文件可以被抓取,什么文件可以不被抓取。

2、一个单方面的协议,也是百度第一个来我们网站抓取的文件。

3、上线前就要写好,后续再进行增加。

4、robots文件名和.txt格式是固定的,即:robots.txt

5、robots.txt仅对你的网站不希望被搜索引擎收录的内容。

 

二、robots语法

语法要符合:

(1)顶格写,第一个字母必须是一个大写的。

(2)后面紧跟着英文状态下的冒号。

(3)冒号后面再跟着一个在英文状态下的空格。

(4)蜘蛛名的第一个字母也要是大写。

例如:

User-agent: Baiduspider

Disallow: /

1、User-agent

定义搜索引擎蜘蛛类型。比如说:

User-agent: * 定义所有蜘蛛。

User-agent: Baiduspider 定义百度蜘蛛。

常见蜘蛛:

Baiduspider百度蜘蛛

Googlebot谷歌机器人

MSNBot

Baiduspider-image

Youdaobot有道蜘蛛

Sogouwebspider搜狗

ChinasoSpider中搜

Easouspider一搜

……

2、Disallow

该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被蜘蛛访问。

注意:在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"不存在或者为空文件,则对于所有的搜索引擎蜘蛛来说该网站都是开放的。

在写Disallow的时候,会遇到一个常见的问题,比如说:Disallow:/data和Disallow:/data/有什么区别?

(1)Disallow: /data

Disallow: /data。不能抓取data,不能抓取data/index.html,不能抓取data123、data.html、dataabc.html。

不能抓取data这个目录本身,不能抓取data目录里面的内容,不能抓取以data开头的目录名和文件名。

(2)Disallow: /data/

比如说:Disallow: /data/, 能抓取data ,不能抓取data/index.html,能抓取data123、data.html、dataabc.html。

能抓取data这个目录本身,不能抓取data目录里面的内容,能抓取以data开头的目录名和文件名。

3、Allow

该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许蜘蛛访问的。

注意:一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。

4、使用"*"and"$":Baiduspider支持使用通配符"*"和"$"来模糊匹配url。

"*" 匹配0或多个任意字符

"$" 匹配行结束符。

例如:Disallow: /*.jpg$ 意思为:禁止抓取以.jpg格式结尾的图片。

 

三、robots写法

(1)禁止所有的搜索引擎访问网站的所有内容。

User-agent: *

Disallow: /

*代表所有搜索引擎,/代表所有路径。

新站上线的时候还有很多东西没有准备好,这个时候很多人就会选择禁止所有的搜索引擎访问网站的所有内容,这种做法是不对的,这里就涉及到一个搜索引擎原理,蜘蛛有记忆库,蜘蛛就会对你产生不好的影响,后面就算来了也不太愿意收录了。 在测试阶段可以在本地搭建或是临时域名。一定要上线的话,先开放首页,不要全站屏蔽,起码让蜘蛛有东西可抓。

(2)禁止百度搜索引擎访问网站的所有内容。

User-agent: Baiduspider

Disallow: /

(3)允许所有搜索引擎访问所有内容。

User-agent: *

Allow: /

(4)允许所有搜索引擎抓取动态页面内容。

User-agent: *

Allow: /*?*

(5)不允许所有搜索引擎抓取动态页面内容。

User-agent: *

Disallow: /*?*

把所有的动态路径拿过来看,动态路径里面有个共性,它一定会有个问号,*代表所有,这是一个固定的写法。同样的道理,我们要屏蔽某条路径的时候,先要去找它的规律,比如说/?s=织梦、/?s=内链……,我们要屏蔽这样的路径就可以写成Disallow: /?s=*

下面这张图是百度站长平台里面的,大家可以多去看看,写robots一定要多看多理解,随着时间的积累,慢慢的也就会了。

robots文件用法举例

 

四、操作

1、robots写好之后,将其命名为:robots.txt

2、将robots.txt文件上传到根目录。

 

五、检测

Robots协议必须要严格的按照这个语法规则来写,因为这是搜索引擎给出的,否则搜索引擎识别不了。如果自己无法确定,可以通过百度站长平台来确定。如下图所示,通过检测得知robots没有错误,检测其中的一条路径显示为不允许抓取。你需要检测那条路径是否会被抓取,只需要在后面输入路径检测即可。

ps:验证自己写的对还是不对,一定要去检测。

百度站长平台robots检测

 

六、什么情况下用

1、通过robots协议屏蔽死链。

2、屏蔽无内容页面和重复的页面。比如说低质量页面,登陆和注册页面就可以屏蔽。

3、不想被抓取的特定路径。

4、统一路径。有些网站的一个页面存在动态和静态两种路径,动态和静态指向的是一个页面,就可以屏蔽动态页面,把网站统一成静态链接。

5、拒绝网站的中文链接。

6、根据情况,不想让网站收录的文件,隐私文件,会员。比如说后台,dede,不想暴露后台,可以用de*代替。

7、提交网站地图。网站地图做好之后,需要将链接地址放到robots文件里面。关于网站地图方面可移步到《助推网站收录的网站地图制作》查看详情。

 

七、注意点

1、如果你希望搜索引擎能抓取网站上所有的内容,就不需要写robots协议。

2、写好robots文件,要把文件上传到网站的根目录。

3、生效时间:短的几天,长则半个月一个月的都有,根据蜘蛛抓取的情况决定。

4、robots文件一定要根据自己的网站来写。

5、搜索引擎是否遵守由搜索引决定。由搜索引擎本身决定,一般来说会遵守,但有些不会遵守。比如说淘宝和天猫就被抓了一个首页,到底遵守不遵守还是有搜索引擎决定。

6、新站建议不要整站屏蔽。

7、对与不对,可以检测自己是否正确屏蔽生效。

总结:在网站优化过程中,robots协议是必不可少的,因此优化人员应该掌握robots协议的语法,会写robots协议,懂得robots协议会在什么情况下使用以及一些注意事项。

本文地址:http://www.liuxinseo.com/834.html
版权声明:本文为原创文章,版权归 星雨 所有,欢迎分享本文,转载请保留出处!

发表评论


表情