关于robots.txt文件,你别看他小小的没啥用,实际上它能左右你网站的SEO排名!小李最近查了很多关于robots.txt的用法、写法资料,现在一一给大家说明下,robots.txt应该怎么用才能有利于SEO排名,robots是如何帮你你绕开蜘蛛黑洞、限制收录指定目录的,相信了解完这篇文章,你会对它刮目相看的!
robots.txt最全写法!怎么写利于SEO?(最新标准+用法规则+小技巧)

robots.txt的诞生

robots.txt专业名称叫做机器人排除协议(Robots Exclusion Protocol),是荷兰软件工程师 Martijn Koster 在1994 提出的一项标准,其核心就是通过 robots.txt 这样一个简单的文本文件来控制爬虫机器人的行为。 REP 以其简单高效征服了互联网行业,有超过 5 亿个网站都在使用 robots.txt,可以说它已经成为了限制爬虫的事实标准,像Googlebot 在抓取网页时就会浏览robots.txt 来确保其不冒犯网站的特别声明。

看到这里你应该知道,robots 其实是站点与 搜索引擎蜘蛛 沟通的重要渠道,站点通过 robots 文件声明该网站中不想被搜索引擎收录的部分,或者指定搜索引擎只收录特定的部分。请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用 robots.txt 文件。如果您希望搜索引擎收录网站上所有内容,可以不用建立 robots.txt 文件。

我这里建议大家的是,网站有很多目录是用来存放静态文件比如js、css、程序主目录的,这些可以屏蔽掉。

robots.txt的写法

几乎所有的搜索引擎都是支持robots的,Google,雅虎,微软、百度、360、搜狗、神马等等。这些搜索引擎都支持的robots文件记录包括:

Disallow – 告诉蜘蛛不要抓取某些文件或目录。如下面代码将阻止蜘蛛抓取所有的网站文件:

User-agent: *
Disallow: /


Allow – 告诉蜘蛛应该抓取某些文件。Allow和Disallow配合使用,可以告诉蜘蛛某个目录下,大部分都不抓取,只抓取一部分。如下面代码将使蜘蛛不抓取ab目录下其他文件,而只抓取其中cd下的文件:

User-agent: *
Disallow: /ab/
Allow: /ab/cd


$通配符 – 匹配URL结尾的字符。如下面代码将允许蜘蛛访问以.htm为后缀的URL:

User-agent: *
Allow: .htm$


*通配符 – 告诉蜘蛛匹配任意一段字符。如下面一段代码将禁止蜘蛛抓取所有htm文件:

User-agent: *
Disallow: /*.htm


Sitemaps位置 – 告诉蜘蛛你的网站地图在哪里,如果你的网站有xml格式的网站地图,可以把他加在robots的结尾,格式为:

Sitemap: http://leepar.com/sitemap/index.xml

搜索引擎都支持的Meta标签包括:

NOINDEX – 告诉蜘蛛不要索引某个网页。

NOFOLLOW – 告诉蜘蛛不要跟踪网页上的链接。

NOSNIPPET – 告诉蜘蛛不要在搜索结果中显示说明文字。

NOARCHIVE – 告诉蜘蛛不要显示快照。

NOODP – 告诉蜘蛛不要使用开放目录中的标题和说明。

上面这些记录或标签,搜索引擎都是支持的。百度现在也支持Disallow,Allow及两种通配符。

robots实际用法对照表

这里我们提供了详细的表格给大家对照,能够更加直观的利用好robots文件:

例1.禁止所有搜索引擎访问网站的任何部分
 
User-agent: *
Disallow: /
例2:允许所有搜索引擎蜘蛛访问
(或者建一个空文件“/robots.txt”):
User-agent: *
Allow: /
例3:禁止某个搜索引擎访问 User-agent: Baiduspider
Disallow: /
例4:允许某个搜索引擎访问 User-agent: Baiduspider
Allow: /
例5:只允许某个搜索引擎访问,其他搜索引擎禁止访问 User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
例6:只禁止某个搜索引擎访问,其他搜索引擎允许访问 User-agent: Baiduspider
Disallow: /
User-agent: *
Disallow:
例7:禁止spider访问特定目录
在这个例子中,该网站有三个目录对搜索引擎的访问
做了限制,即搜索引擎不会访问这三个目录。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
例8:使用"*"限制访问url
禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
User-agent: *
Disallow: /cgi-bin/*.htm
例9:使用"$"限制访问url
仅允许访问以".htm"为后缀的URL
User-agent: *
Allow: .htm$
Disallow: /
例10. 禁止Baiduspider抓取网站上所有图片 
仅允许抓取网页,禁止抓取任何图片。
User-agent: Baiduspider
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
例11. 仅允许Baiduspider抓取网页和.gif格式图片 
允许抓取网页和gif格式图片,不允许抓取其他格式图片
User-agent: Baiduspider
Allow: .gif$
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .png$
Disallow: .bmp$
例12. 仅禁止Baiduspider抓取.jpg格式图片 User-agent: Baiduspider
Disallow: .jpg$
例13. 禁止访问网站中所有的动态页面 User-agent: *
Disallow: /*?*
 

书写 robots 文件时需要注意以下细节:

  • 一定不要写绝对路径,就是不要带网站域名,用/代替即可。

  • 注意 robots 文件中的所有符号都是在英文状态下写的,比如 Disallow: /admin/ 中的:是英文状态下的。

  • 注意空格,例如 Disallow: /admin/ 中:后面紧跟着一个空格。

  • 注意大小写,例如 Disallow: /admin/ 中 Disallow 的D是大写的。

  • robots 是有生效时间的,是由百度决定的,几天或者两个月以内,所以一定不要随便屏蔽整站。

  • 还有一点要弄清楚,Disallow: /help 的意思是禁止蜘蛛访问 /help.html、/helpabc.html、/help/index.html 等所有带 help 的文件及文件夹;Disallow:/help/ 则是禁止蜘蛛访问 /help/index.html 这种形式的路径,允许访问 /help.html、/helpabc.html。

使用robots巧妙避免蜘蛛黑洞、

对于百度搜索引擎,蜘蛛黑洞是指创建具有大量动态URL的网站,这些URL具有太多的参数和相似的内容,但具有不同的URL,且成本极低,就像捕获蜘蛛的无限“黑洞”循环一样。抓取工具浪费了大量资源,但抓取了无效页面。

例如,许多网站具有过滤功能,并且由过滤功能生成的网页经常被搜索引擎抓取,其中很大一部分是低质量的页面。例如,“500-1000之间的价格出租”,首先,网站上基本上没有相关资源(包括现实中的资源),其次,该网站上的用户和搜索引擎用户没有这种搜索习惯。这样的网页被搜索引擎大量爬网,只能占用网站宝贵的爬网配额,那么如何避免这种情况呢?

  1. 让我们以北京美团为例,看看美团如何利用robots来避免这种蜘蛛黑洞:

  2. 对于普通的过滤结果页面,使用静态链接,例如:

  3. http://bj.meituan.com/category/zizhucan/weigongcun

  4. 条件过滤结果页面也一样。当用户选择不同的排序条件时,将生成具有不同参数的动态链接,即使相同的排序条件(例如:按销量降序排列),生成的参数也会不同。的。

对于美团,只需让搜索引擎抓取过滤结果页面,然后拒绝通过机器人规则将各种带有参数的分类结果页面提供给搜索引擎。 robots.txt文件的使用中有这样一条规则:Disallow: /*?* ,即禁止搜索引擎访问网站中的所有动态页面。这样,美团网优先向蜘蛛显示高质量页面,并阻止低质量页面,从而为蜘蛛提供更友好的网站结构,并避免形成黑洞。

robots.txt如何提交和验证?

如果你的网站已经设置好了robots.txt,你想测试下相对应的网址是否能正确收录、或者被阻止,可以利用百度站长工具,如下图:
robots怎么写需要提醒的是,百度的Robots工具目前支持48k的文件内容检测,请保证您的robots.txt文件不要过大,目录最长不超过250个字符。

如果误操作封禁了robots怎么办?

案例背景:网站开发2.0版本,技术选择了在线开发,为了避免搜索引擎抓取开发版本,要求技术人员设置了Robots封禁处理。2.0版本开发周期1个月,1个月后网站版本迭代,直接覆盖了1.0版本,包括Robots封禁文件,2天后发现流量大幅下降,检查收录发现800万收录降至0条,关键词大量掉线。

 

处理方式:

  • 修改Robots封禁为允许,然后到百度站长后台检测并更新Robots;

  • 在百度站长后台抓取检测,此时显示抓取失败,没关系,多点击抓取几次,触发蜘蛛抓取站点;

  • 在百度站长后台抓取频次,申请抓取频次上调;

  • 百度反馈中心,反馈是因为误操作导致了这种情况的发生;

  • 百度站长后台链接提交处,设置数据主动推送(实时);

  • 更新sitemap网站地图,重新提交百度,每天手工提交一次。以上处理完,接下来就是等待了,万幸,2天的时间数据开始慢慢回升,到第3天基本回升到正常状态!
     

案例总结:

本次事故总结反思,希望大家避免类似问题。

1、产品开发一定要避免在线开发,不能为了省事不搭建开发环境。

2、产品迭代要有流程记录,开发时做了那些设置处理,那些是不需要放出来的,那些是必须放出来的,要非常清楚。

3、要经常关注百度站长后台,关注相关数据变化,从数据变化中及时发现问题

使用误区:

误区一:我的网站上的所有文件都需要蜘蛛抓取,那我就没必要在添加robots.txt文件了。反正如果该文件不存在,所有的搜索蜘蛛将默认能够访问网站上所有没有被口令保护的页面。

每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该做网站中添加一个robots.txt。

误区二:在robots.txt文件中设置所有的文件都可以被搜索蜘蛛抓取,这样可以增加网站的收录率。

网站中的程序脚本、样式表等文件即使被蜘蛛收录,也不会增加网站的收录率,还只会浪费服务器资源。因此必须在robots.txt文件里设置不要让搜索蜘蛛索引这些文件。

具体哪些文件需要排除, 在robots.txt使用技巧一文中有详细介绍。

误区三:搜索蜘蛛抓取网页太浪费服务器资源,在robots.txt文件设置所有的搜索蜘蛛都不能抓取全部的网页。

如果这样的话,会导致整个网站不能被搜索引擎收录。

在线robots.txt文件生成器

自己写robots.txt难免会担心出现错误,在结尾小李分享几个可以在线生成robots.txt的网站,能够非常省事且正确地编写robots.txt,写好之后把它放在你的网站根目录即可


推荐使用站长工具的吧,比较直观一点。

好了,关于robots.txt文件的写法、来龙去脉大家应该有一个清晰的了解,如果你对robots.txt设置不懂,或者有更好的建议,欢迎在下方留言评论,帮助他人是一种美德!