robots协议文件的写法及语法属性解释
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
一、什么是Robots协议
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
robots是一个协议,而不是一个命令。robots.txt文件是一个文本文件,是放置在网站根目录下,使用任何一个常见的文本编辑器,就可以创建和编辑它。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件,其主要的作用就是告诉蜘蛛程序在服务器上什么文件是可以被查看的。
如果将网站视为一个房间,robots.txt就是主人在房间门口悬挂的“请勿打扰”或“欢迎进入”的提示牌。这个文件告诉来访的搜索引擎哪些房间可以进入和参观,哪些房间因为存放贵重物品,或可能涉及住户及访客的隐私而不对搜索引擎开放。但robots.txt不是命令,也不是防火墙,如同守门人无法阻止窃贼等恶意闯入者。
所以,马海祥建议各位站长仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件,如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
二、Robots协议的原则
Robots协议是国际互联网界通行的道德规范,基于以下原则建立:
1、搜索技术应服务于人类,同时尊重信息提供者的意愿,并维护其隐私权;
2、网站有义务保护其使用者的个人信息和隐私不被侵犯。
三、Robots协议的写法
robots.txt放到一个站点的根目录下即可,一个robots.txt只能控制相同协议,相同端口,相同站点的网页抓取策略。
1、robots.txt的常规写法
最简单的robots.txt只有两条规则:
User-agent:指定对哪些爬虫生效
Disallow:指定要屏蔽的网址
整个文件分为x节,一节由y个User-agent行和z个Disallow行组成。一节就表示对User-agent行指定的y个爬虫屏蔽z个网址。这里x>=0,y>0,z>0。x=0时即表示空文件,空文件等同于没有robots.txt。
下面详细介绍这两条规则:
(1)、User-agent
爬虫抓取时会声明自己的身份,这就是User-agent,没错,就是http协议里的User-agent,robots.txt利用User-agent来区分各个引擎的爬虫。
举例说明:google网页搜索爬虫的User-agent为Googlebot,下面这行就指定google的爬虫。
User-agent:Googlebot
如果想指定所有的爬虫怎么办?不可能穷举啊,可以用下面这一行:
User-agent: *
可能有的同学要问了,我怎么知道爬虫的User-agent是什么?这里提供了一个简单的列表:爬虫列表
当然,你还可以查相关搜索引擎的资料得到官方的数据,比如说google爬虫列表,百度爬虫列表
(2)、Disallow
Disallow行列出的是要拦截的网页,以正斜线 (/) 开头,可以列出特定的网址或模式。
要屏蔽整个网站,使用正斜线即可,如下所示:
Disallow: /
要屏蔽某一目录以及其中的所有内容,在目录名后添加正斜线,如下所示:
Disallow: /无用目录名/
要屏蔽某个具体的网页,就指出这个网页,如下所示:
Disallow: /网页.html
举例:
User-agent: baiduspider
Disallow: /
User-agent: Googlebot
Disallow: /
马海祥博客解释:意思也就是禁止百度蜘蛛和Google蜘蛛抓取所有文章
2、robots.txt的高级写法
首先声明:高级玩法不是所有引擎的爬虫都支持,一般来说,作为搜索引擎技术领导者的谷歌支持的最好。
(1)、allow
如果需要屏蔽seo1-seo100,但是不屏蔽seo50,那我们该怎么办呢?
方案1:
Disallow:/seo1/
Disallow:/seo2/
...
Disallow:/seo49/
Disallow:/seo51/
...
Disallow:/seo100/
方案2:
Disallow:/seo
Allow:/seo50/
对比以上2个方案,大家应该知道allow的用法了吧,如果你网站目前也有这个需求的话,马海祥建议你可以使用方案2来解决。
但如果想屏蔽seo50下面的文件seo.htm,又该怎么办呢?
Disallow:/seo
Allow:/seo50/
Disallow:/seo50/seo.html
聪明的你一定能发现其中的规律,对吧?谁管的越细就听谁的。
(2)、sitemap
前面说过爬虫会通过网页内部的链接发现新的网页,但是如果没有连接指向的网页怎么办?或者用户输入条件生成的动态网页怎么办?能否让网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页?这就是sitemap。
最简单的Sitepmap形式就是XML文件,在其中列出网站中的网址以及关于每个网址的其他数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度等等),利用这些信息搜索引擎可以更加智能地抓取网站内容。
新的问题来了,爬虫怎么知道这个网站有没有提供sitemap文件,或者说网站管理员生成了sitemap(可能是多个文件),爬虫怎么知道放在哪里呢?
由于robots.txt的位置是固定的,于是大家就想到了把sitemap的位置信息放在robots.txt里,这就成为robots.txt里的新成员了,比如:
Sitemap: http://www.mahaixiang.cn/sitemap.html
考虑到一个网站的网页众多,sitemap人工维护不太靠谱,对此,马海祥建议你可以使用google提供了工具可以自动生成sitemap。
(3)、meta tag
其实严格来说这部分内容不属于robots.txt,不过也算非常相关,我也不知道放哪里合适,暂且放到这里吧。
robots.txt的初衷是为了让网站管理员管理可以出现在搜索引擎里的网站内容。但是,即使使用robots.txt文件让爬虫无法抓取这些内容,搜索引擎也可以通过其他方式找到这些网页并将它添加到索引中。
例如,其他网站仍可能链接到该网站,因此,网页网址及其他公开的信息(如指向相关网站的链接中的定位文字或开放式目录管理系统中的标题)有可能会出现在引擎的搜索结果中,如果想彻底对搜索引擎隐身那咋整呢?马海祥给你的答案是:元标记,即meta tag。
比如要完全阻止一个网页的内容列在搜索引擎索引中(即使有其他网站链接到此网页),可使用noindex元标记。只要搜索引擎查看该网页,便会看到noindex元标记并阻止该网页显示在索引中,这里注意noindex元标记提供的是一种逐页控制对网站的访问的方式。
比如:要防止所有搜索引擎将网站中的网页编入索引,那你就可以在网页的头部代码部分添加:
<meta name="robots" content="noindex">
这里的name取值可以设置为某个搜索引擎的User-agent从而指定屏蔽某一个搜索引擎。
除了noindex外,还有其他元标记,比如说nofollow,禁止爬虫从此页面中跟踪链接。这里马海祥再提一句:noindex和nofollow在HTML 4.01规范里有描述,但是其他tag的在不同引擎支持到什么程度各不相同,还请读者自行查阅各个引擎的说明文档。
(4)、Crawl-delay
除了控制哪些可以抓哪些不能抓之外,robots.txt还可以用来控制爬虫抓取的速率。如何做到的呢?通过设置爬虫在两次抓取之间等待的秒数。
Crawl-delay:5
表示本次抓取后下一次抓取前需要等待5秒。
马海祥博客提醒大家一点:google已经不支持这种方式了,不过在webmaster tools里提供了一个功能可以更直观的控制抓取速率。
这里插一句题外话,几年前马海祥记得曾经有一段时间robots.txt还支持复杂的参数:Visit-time,只有在visit-time指定的时间段里,爬虫才可以访问;Request-rate: 用来限制URL的读取频率,用于控制不同的时间段采用不同的抓取速率。
后来估计支持的人太少,就渐渐的废掉了,有兴趣的博友可以自行研究一下,马海祥了解到的是目前google和baidu都已经不支持这个规则了,其他小的引擎公司貌似从来都没有支持过。
四、Robots协议中的语法属性解释
Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如图片,音乐,视频等,节省服务器带宽;也可以屏蔽站点的一些死链接,方便搜索引擎抓取网站内容;再或者是设置网站地图连接,方便引导蜘蛛爬取页面。
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符。
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录。
Disallow: /mahaixiang/*.htm 禁止访问/mahaixiang/目录下的所有以".htm"为后缀的URL(包含子目录)。
Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址。
Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片。
Disallow:/mahaixiang/abc.html 禁止爬取ab文件夹下面的adc.html文件。
Allow: /mahaixiang/ 这里定义是允许爬寻mahaixiang目录下面的目录。
Allow: /mahaixiang 这里定义是允许爬寻mahaixiang的整个目录。
Allow: .htm$ 仅允许访问以".htm"为后缀的URL。
Allow: .gif$ 允许抓取网页和gif格式图片。
Sitemap: /sitemap.html 告诉爬虫这个页面是网站地图。
举例:
User-agent: *
Disallow: /?*
Disallow: /seo/*.htm
User-agent: EtaoSpider
Disallow: /
马海祥博客解释:意思就是有禁止所有搜索引擎来抓网站中所有包含问号 (?) 的网址和seo目录下的.htm文章。同时,对etao完全屏蔽。
五、Robots协议中的其它语法属性
1、Robot-version: 用来指定robot协议的版本号
例子: Robot-version: Version 2.0
2、Crawl-delay:雅虎YST一个特定的扩展名,可以通过它对我们的抓取程序设定一个较低的抓取请求频率。
您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序两次进入站点时,以秒为单位的最低延时。
3、Crawl-delay:定义抓取延迟
例子: Crawl-delay:/mahaixiang/
4、Visit-time: 只有在visit-time指定的时间段里,robot才可以访问指定的URL,否则不可访问。
例子: Visit-time: 0100-1300 #允许在凌晨1:00到13:00访问
5、Request-rate: 用来限制URL的读取频率
例子: Request-rate: 40/1m 0100 - 0759 在1:00到07:59之间,以每分钟40次的频率进行访问。
Request-rate: 12/1m 0800 - 1300 在8:00到13:00之间,以每分钟12次的频率进行访问。
马海祥博客点评:
Robots协议是网站出于安全和隐私考虑,防止搜索引擎抓取敏感信息而设置的,搜索引擎的原理是通过一种爬虫spider程序,自动搜集互联网上的网页并获取相关信息。
而鉴于网络安全与隐私的考虑,每个网站都会设置自己的Robots协议,来明示搜索引擎,哪些内容是愿意和允许被搜索引擎收录的,哪些则不允许,搜索引擎则会按照Robots协议给予的权限进行抓取。
Robots协议代表了一种契约精神,互联网企业只有遵守这一规则,才能保证网站及用户的隐私数据不被侵犯,违背Robots协议将带来巨大安全隐忧。
本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于https://www.mahaixiang.cn/seoyjy/636.html,注明出处;否则,禁止转载;谢谢配合!您可能还会对以下这些文章感兴趣!
-
基于用户投票的六大排名算法研究
随着互联网的发展,网站的数量也在随着成倍的增加着,就中国的互联网来说,根据中国互联网信息中心的数据显示,目前中国的网站数量每半年都会以接近10%的数量增长。这些大量的网站涌现,也就意味着我们已进入了信息大爆炸的时代。 而如今用户担心的已不再是信息太少,而……【查看全文】
-
linux系统或windows+iis系统设置404页面方法
404页面通常是为用户访问了网站上不存在或已删除的页面,服务器返回404错误页面,告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开,消除用户的疑虑。网站设置404页面后,如果网站出现死链接,搜索引擎蜘蛛爬行这类网址……【查看全文】
-
如何分析网站是否真的被降权惩罚及解决方法
对于混迹于国内站长圈的朋友来说,每天起早贪黑发外链的网站被百度惩罚似乎在这几年已经是司空见惯的事了,所以很多时候网站流量、排名或者是收录有小幅度波动时,站长都会认为网站又被惩罚了,有到处的去抱怨。其实,很多情况都只是站长自己太过于敏感了而已,网站被百……【查看全文】
-
百度排名算法规则及SEO优化要点总结
做SEO目的其实就是为访客服务,满足用户的需求,想方设法的为了用户提供他们想要看的内容,而不是一味的最求最大利益化,其实百度只是一个展示的平台,只要你有了用户的青睐,你想达到的目标,自然也就水到渠成了,做SEO的核心就是要挖掘用户的力量,只有挖掘用户的力量……【查看全文】
-
百度移动搜索落地页体验白皮书4.0全文解读
进入移动互联网时代,百度搜索致力于提升搜索用户的浏览体验,营造健康的搜索生态。过去一年中,在百度搜索和全网资源提供者的共同努力下,移动搜索落地页广告问题已经得到了明显的改善。现在,百度搜索发布《百度移动搜索落地页体验白皮书4.0》,旨在继续与各内容生产……【查看全文】
-
《百度搜索优质内容指南》全文解读
今日,《百度搜索优质内容指南》在百度搜索学院悄悄地上线了,这是百度近两年,再次重新深度定义什么是百度搜索优质内容,对于SEO人员而言,特别是对于新站长而言,具有非常积极的指导意义,以免造成过多的资源浪费,给予了明确的指导规范的建议。百度搜索2020年全新发布了面向全网内容生产者的《百度搜索优质内容指南》,详细讲述了优质内容的标准,希望给广大内容生产者在生产优质内容时提供参考。关于优质内容的详细标准,请查看以下……【查看全文】
-
反向链接是什么意思
反向链接又叫导入链接(Backlinks),外部链接,是指外部网站有你的网址指向你的网站,其实就是在目标文档(网页)内部进行声明,要求目标文档指向自己(网页)的链接,通俗点讲,网页A上有一个链接指向网页B,则网页A上的链接是网页B的反向链接,换言之,常规链接在文……【查看全文】
阅读:2048关键词: 反向链接 日期:2012-08-14 -
网站最新SEO优化公式解析
网站seo优化公式 SEO=Clock=C1+L2+K3+O4 1、是一个积分符号,C=content,L=link,K=keywords,O=others。SEO就是一个长期的对时间积分过程,内容是核心; 2、C1丰富的内容是第一位的要素,按照原创、伪原创、转载依次排列内容的重要性满足用户体验; 3、L2链接的合理与……【查看全文】
-
百度索引量下降的原因及解决方法
作为一名专业的SEO人员,我们很多的时候都在研究站点中有多少页面可以作为搜索候选结果,也就是一个网站的索引量,所谓网站索引量,就是搜索引擎抓取你网站的数量,这能影响到网站收录率,是一个非常重要的SEO因素,索引量是流量的基础,索引量数据的每一个变动都拨动着……【查看全文】
-
落地页体验白皮书5.0解读:如何合理设置展开全文功能
本文解读文章深度剖析展开全文功能的设置要求。白皮书5.0提到”展开全文的设置必须具有文字标示,且功能实际可用;展开全文功能最多只能出现一次,但不可出现在落地页的首屏内容中(列表页除外);展开全文与广告等引导性内容要设置一定距离间隔,避免干扰用户操作。”如何设置展开全文按钮才更符合用户的体验习惯呢?这篇文章将为你答疑解惑。百度搜索用户研究团队的用户调研发现,搜索用户进入落地页的诉求是浏览页面全部内容,展开……【查看全文】
-
404 Not Found错误页面的解决方法和注意事项
404页面就是当用户访问某网站时,点击了错误的链接时,所返回的页面。最常见的出错提示:404 Not Found。其目的就是告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。错误页面的文字可以自定义,有些网站没有设置404错误页面,或……【查看全文】
-
百度快照更新是什么意思?
最近发现有很多刚入SEO行业的新手对网站seo的技巧有很多的误区,比如网站快照不更新就代表网站被惩罚。关于这个观点我们先看看什么是百度快照,百度快照的作用是什么?我们有该如何让百度快照持续更新呢?快照即为Web Cache,可以翻译为网页缓存,当搜索引擎派出蜘蛛去对网站……【查看全文】
-
Google搜索质量小组专业解答的25个SEO问题
2013年对于众多站长和SEO可以说是最为波折的一年,这一年百度出台了百度绿萝算法、百度石榴算法和百度绿萝算法2.0,而google也相继出台了谷歌EMD算法、熊猫算法、企鹅算法2.0和蜂鸟算法。作为一个站长或SEOer,你是否对这些算法还存在很多的疑惑,尤其对于靠做外贸产品……【查看全文】
-
揭秘搜索引擎中的反SEO作弊研究
从搜索引擎优化服务开始,分析了现在所存在的搜索引擎优化的作弊手段;然后提出了四种方法用来预防、破解作弊,并结合现实总结提出逐级分层审查刮度;最后结合Google搜索引擎,讨论并分析了Google搜索引擎的反作弊方法及其中的PR值算法……【查看全文】
-
落地页体验白皮书5.0解读:什么样的顶部嵌入广告符合体验标准
《百度APP移动搜索落地页体验白皮书5.0》对页面广告的内容、形式、位置和面积的要求都做出了详细的说明,受到了全网开发者的广泛关注。关于白皮书5.0中最新提出的顶部嵌入广告标准”落地页首屏顶部允许嵌入不超过一屏面积10%的优质广告”,不少开发者对此提出疑问和反馈,本篇文章将对顶部嵌入优质广告要求做出具体解读:落地页首屏顶部允许嵌入优质广告的总体要求如下:面积:顶部嵌入广告面积必须小于首屏面积的10%。标识:广告位上有明……【查看全文】
-
网站SEO优化的分析诊断报告包含了哪些内容
SEO优化是针对搜索引擎规则做出优化以提高网站排名为目的的优化手段。其所需时间往往是长久性的,包括从网站域名、服务器、程序选取、网站结构、行业分析、竞争分析而切入的优化过程。而SEO诊断,在时间的要求上恰与其截然相反,所求目的完全与优化过程一致:提高网站友……【查看全文】
-
2011-2012年百度历次大更新数据分析
本篇文章记录了百度从2011年到2012年中旬百度大更新记录的文章。以下数据分析以站长之家官方提供的网站监控分析数据为蓝本,结合优词网等站点观察数据和一些 优秀SEO站长工具和软件的收集,并佐以自己手上二十几个站点作参考进行综合分析,基于统计学分析原理,以大量站……【查看全文】
-
百度最新调整后的算法规则
最近闹得沸沸扬扬的百度6.22和6.28的K站事件到目前已经告一段落了,K站的主要原因已经渐渐明朗,以及百度将会对哪些类型的网站会做降权处理,现在也已经明朗化。针对各大站长漫长的着急等待,以及愤恨的心情,百度目前已经给出了较为明确的答案,那么百度规则和算法调整……【查看全文】
-
SEO链轮是什么?
SEO链轮(SEO Link Wheels)是从国外引入国内的,一种比较新颖的SEO策略,是一种比较先进的网络营销方式。SEO链轮是指通过在互联网上建立大量的独立站点或是在各大门户网站上开设博客,这些独立站点或是博客群通过单向的、有策略、有计划紧密的链接,并都指向要优化的目标……【查看全文】
-
搜索引擎判定相似文章网页的原理
余弦相似性是指通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是 -1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值……【查看全文】
分类目录
互联网更多>>
- 互联网技术的50年发展回顾与分析 1998年至2008年是公认的互联网飞速发展的十年,无论是传输速率、网络规模、关键技术还是应用领域都经历了大幅的增……
- 基于贝叶斯推断应用原理的过滤垃圾邮件研究 随着电子邮件的应用与普及,垃圾邮件的泛滥也越来越多地受到人们的关注。而目前正确识别垃圾邮件的技术难度非……
- 云服务器的常规安全设置及基本安全策略 我们要保障云服务器数据安全,首先应树立正确的安全意识,从监控、入侵防御、数据备份等多方面做好安全措施,……
SEO优化 更多>>
-
预约未到诊患者的回访技巧及话术整
很多朋友问预约是否有技巧,个人认为技巧是沉…… -
医疗行业该如何做免费营销推广
当前医疗网站越来越多,竞争也越来越激烈,各…… -
百度公告:关于近期出现网站劫持用
近日,百度搜索技术团队发现,搜索结果中的部…… -
未来的站内SEO优化需要做些什么?
SEO说难不难,说简单也不是那么简单,很多人问…… -
移动设备前端开发中viewport的理论及使
在移动设备上进行网页的重构或开发,首先得搞…… -
百度对站点Logo属性审核原则的具体要
自百度搜索资源平台后台的站点属性设置开通上…… -
医疗行业开展品牌推广急需解决的1
如今医疗行业要想在互联网上占有一席之地,就…… -
外贸企业网站常用的5个优化推广方法
做海外推广不同国内的网站推广,因为在文化、……