大部分网站都有一个robots协议,也称为,爬虫协议或机器人协议。以文本文件格式存在,一般都叫做robots.txt,是网站告诉搜索引擎蜘蛛程序哪些页面是可以抓取,哪些页面是拒绝抓取的。当搜索引擎蜘蛛来访问网站的时候,第一件事就是先读取robots文件,然后遵循协议进行对网站进行访问抓取。如果网站不存在robots协议,那么会被视为可以抓取网站上的所有内容。包括敏感隐私文件。所有建议是网站都应该有robots协议。
一、什么是robots协议文件
robots协议算是用来确保网站隐私信息不被泄露,通过robots协议定义的规则对搜索引擎抓取网站内容做了约定,说白话解释,就是告诉蜘蛛,某些页面是不对蜘蛛开放访问的。一般存放在网站的根目录,但是说白了,各大搜索引擎会抓取吗?
个人觉得是都抓取的,可能只是在对页面进行加入索引库的时候进行处理,那些页面不加入索引库,因为毕竟搜索引擎说白了就是数据公司,不会放过每一个数据。当然这个也只是猜测,我们做网站优化,对于robots文件做到我们应该做的就好。
Robot 协议中加入网站后台的话可用*号代替一些字符来保证安全。
Robots 协议能更好的辅助搜索引擎蜘蛛抓取我们的网站提高抓取效率。
网站上线后当天如果还没修改完毕可以利用
User-agent: *
Disallow: /
来屏蔽所有搜索引擎蜘蛛
二、robots协议的写法格式
1、允许所有搜索引擎蜘蛛:
User-agent: *
Allow: /
另一写法:
User-agent: *
Disallow:
2、仅允许特定的百度蜘蛛:
User-agent: baiduspider
Allow:
3、拦截所有的搜索引擎蜘蛛:
User-agent: *
Disallow: /
4、禁止所有搜索引擎访问特定目录:
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/
5、仅禁止坏爬虫访问特定目录(BadBot用真实的名字代替):
User-agent: BadBot
Disallow: /private/
6、禁止所有机器人访问特定文件类型[2]:
User-agent: *
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$三、robots协议的一些使用误区
1,假设网站上的所有文件都同意蜘蛛抓取,没有什么隐私文件可隐藏不见的。那是不是网站就可以不必要增加robots协议文件了呢?答案当然是否定的。如果不存在robots协议文件,那搜索引擎蜘蛛将会对网站所有页面都进行抓取,包括404页面,404页面抓取收录会对网站造成过多重复页面的负面。而且蜘蛛访问robots.txt的时候也是会给蜘蛛返回404错误。
2,robots协议文件中设置所有文件都可以被蜘蛛抓取,并不能增加网站的收录。网站程序中的一些脚本文件,CSS文件,IMG文件等等跟网站内容不相关的文件也会被蜘蛛抓取,并不会对网站收录有好的作用。甚至可能被认为内容与主题不符而被受到惩罚。那岂不是得不偿失。
3,过多蜘蛛对所有文件进行抓取,也完全是在浪费服务器的资源,造成服务器卡顿,反而会影响用户正常访问,同时对蜘蛛访问也有影响,如果蜘蛛抓取过慢会认为网站打开过慢,不仅仅导致整个站点的页面收录受到影响,而且会被受到网站服务器过慢惩罚。
四、什么样的文件可以设置不被蜘蛛抓取
网站中不需要搜索引擎蜘蛛抓取的文件有:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。
可以在robots.txt文件中作出如下设置:
User-agent: *
Disallow: /admin/ 后台管理文件
Disallow: /require/ 程序文件
Disallow: /attachment/ 附件
Disallow: /images/ 图片
Disallow: /data/ 数据库文件
Disallow: /template/ 模板文件
Disallow: /css/ 样式表文件
Disallow: /lang/ 编码文件
Disallow: /script/ 脚本文件
如果你的网站是动态网页,并且这些动态网页创建了静态副本,方便搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里设置避免动态网页被蜘蛛索引,以保证这些网页不会被视为含重复内容。
robots.txt文件里还可以直接包括在sitemap文件的链接。
就像这样:Sitemap:
目前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,显然不在这个圈子内。这样做的好处就是,站长不用到每个搜索引擎的站长工具或者相似的站长平台,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相链接的网页。
合理使用robots.txt文件还能避免访问时出错。比如,不能让搜索者直接进入购物车页面。因为没有理由使购物车被收录,所以你可以在robots.txt文件里设置来阻止搜索者直接进入购物车页面。
五、robots协议文件的黑帽SEO作用
禁止快照编辑,要防止所有搜索引擎显示您网站的快照,请将此元标记置入网页
部分:
要允许其他搜索引擎显示快照,但仅防止百度搜索引擎显示,请使用以下标记:
六、常见Robots名称
google蜘蛛:googlebot
百度蜘蛛:baiduspider
搜狗蜘蛛:sogouspider
360蜘蛛:360Spider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛:lycos_spider_(t-rex)
alltheweb蜘蛛:fast-webcrawler/
inktomi蜘蛛:slurp
七、robots协议的一些无法解决的问题
Robots协议并不是多么高级的技术,而只是互联网中一种各个机构互相尊重的协议,好比私家花园的门口挂着“闲人免进”,尊重者绕道而行,不尊重者依然可以推门而入。目前,Robots协议在实际使用中,还存在一些无法解决的问题。
比如:robots.txt本身也是网站文件,也是需要抓取的,蜘蛛爬虫出于效率考虑,一般不会每次抓取网站网页之前都爬取一遍robots.txt,本来robots.txt更新就不频繁。通常爬虫的做法是先抓取一次,解析后缓存下来,而且是相当长的时间不会再次抓取robots.txt。假设网站管理员更新了robots.txt,修改了某些规则,但是对爬虫来说并不会立刻生效,只有当爬虫下次抓取robots.txt之后才能看到最新的内容。尴尬的是,爬虫下次抓取robots.txt的时间并不是由网站管理员控制的。所以,有些搜索引擎提供了web工具可以让网站管理员通知搜索引擎那个url发生了变化,建议重新抓取。
注意,此处是建议,即使你通知了搜索引擎,搜索引擎何时抓取仍然是不确定的,只是比完全不通知要好点。至于好多少,那就看搜索引擎的良心和技术能力了。
在互联网的大部分公司,有些爬虫不太遵守或者完全忽略robots.txt,不排除开发人员能力的问题,比如说根本不知道robots.txt。另外,本身robots.txt不是一种强制措施,也根本没有办法强制阻止爬虫抓取网站内容,当然如果网站有数据需要保密,必须采取加密的技术措施,比如说:用户验证,内容加密传输,ip白名单黑名单拦截,访问频率控制拦截等等技术手段来对恶意爬取进行规避。
在互联网世界中,每天每时每刻都有不计其数的爬虫在日夜不息地爬取数据,其中恶意爬虫的数量远远高于非恶意爬虫。但是并不是每个爬虫都会主动遵守Robots协议。
恶意爬虫可以带来很多潜在威胁,比如电商网站的商品信息被爬取可能会被竞争对手利用,过多的爬虫还会占用带宽资源、甚至导致网站宕机。
反恶意爬虫是一件漫长而艰巨的任务,如果依靠自身实力难以解决,可以借助业务风险分析平台来反恶意爬虫,根据自己的需求来定制功能。而且对于恶意爬虫是可以对其进行电子取证,如果有涉及到对自身网站有造成经济损失的,可以对恶意爬虫所属公司个人进行起诉要求赔偿的。
本文地址:http://seo.youqingshuyuan.com/16960.html
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系我们。