robots.txt,是指包含robots协议规则的指令的TXT文件,一般放置于网站根目录下,以此来告知搜索引擎蜘蛛网站的抓取规则,主要作用为禁止搜索引擎蜘蛛抓取某些内容。
如错误教程网的robts.txt地址为: https://www.cuowu.com/robots.txt
某些SEO人员可能会说,网站内容让蜘蛛随便抓取,无需在服务器端放置robots.txt文件。这种说法是错误的。因为有的服务器设置有问题,如果robots.txt文件不存在,服务器会返回200状态码及一些错误信息,而不是404状态码,这很有可能让搜索引擎的蜘蛛误读robots.txt文件内容。当然这只是有这种可能性,并非一定会发生,很多没有robots.txt文件的网站状态还是挺好的。
故,就算允许搜索引擎蜘蛛随意抓取,也应该创建一个空的robots.txt文件。
错误君总结下robots.txt的使用方法如下:
1)位置
robots.txt放在网站根目录下。
2)robots.txt基本格式
robots文件由记录组成,记录之间以空行分开。记录格式如下:
<域>:<可选空格><域值><可选空格>
空格可以在域值两边可加可不加,可以简单记为:
<域>:<域值>
robots.txt文件最简单样式为:
User-agent: *
Disallow: /
不过此robots.txt文件不建议使用,因为这个是禁止所有搜索引擎抓取任何内容。
允许所有搜索引擎抓取任何内容的robots.txt为:
User-agent: *
Disallow:
3)robots规则
- User-agent:指定下面的规则适用于哪个蜘蛛,通配符星号*代表所有搜索引擎。
以下规则适用于所有搜索引擎:
User-agent: *
只适用于百度:
User-agent: Baiduspider
只适用于Google蜘蛛:
User-agent: Googlebot
- Disallow:告诉蜘蛛不要去抓取某些文件或目录。
写法:每禁止一个抓取一个文件或目录,都必须另起一行,同一行不能禁止抓取两个文件或两个目录或一个文件一个目录。
如禁止抓取temp和a目录,禁止抓取w目录下的33.html和11.html。
Disallow: /temp/
Disallow: /a/
Disallow: /w/33.html
Disallow: /w/11.html
切勿写为Disallow: /temp/ /a/
- Allow:告诉蜘蛛应该抓取某些文件或目录。
由于不指定则是允许抓取,故Allow必须和Disallow一起用。
如禁止抓取目录a下的文件,在允许抓取b目录下的文件,而b目录在目录a下。
Disallow: /a/
Allow: /a/b/
- $:通配符$,匹配URL结果的字符。
如禁止抓取.jpg格式的图片:
Disallow: .jpg$
如允许抓取所有.htm文件:
Allow: .htm$
- *:通配符*,匹配任意字符。
通配符适用于各种复杂情况,比如URL中的不能带问号“?”
Disallow: /?*
- Sitemap:告诉搜索引擎网站sitemaps的位置,是对搜索引擎蜘蛛的友好。
当然一般情况下sitemaps也是放在网站根目录,如错误教程网的sitemap位置,https://www.cuowu.com/sitemap.xml 。
Sitemap:https://www.cuowu.com/sitemap.xml
这里给出的dede和WordPress的robots文件并非是万能,还可能禁止网站一些正常内容被抓取,但也算是一个参考吧,具体情况要具体分析,一旦发现有问题,立刻去站长平台做调整。
1)WordPress的robots协议
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Disallow: /feed/ 这里定义是禁止爬寻feed
Disallow: /*/feed 这里定义是禁止爬寻文章或栏目feed
Disallow: /trackback/ 这里定义是禁止爬寻trackback目录下面的目录
Disallow: /wp-admin/ 这里定义是禁止爬寻wp-admin目录下面的目录
Disallow: /wp-content/ 这里定义是禁止爬寻wp-content目录下面的目录
Disallow: /wp-includes/ 这里定义是禁止爬寻wp-includes目录下面的目录
Disallow: /xmlrpc.php 这里定义是禁止爬寻xmlrpc.php文件
Disallow: /wp- 这里定义是禁止爬寻wp-目录下面的内容
Allow: /wp-content/uploads/ 这里定义是禁止爬寻admin目录下面的目录
Sitemap: http://www.cuowu.com/sitemap.xml 这里定义是禁止爬寻admin目录下面的目录
将以上内容另存到文本文档里,命名为robots.txt上传到服务器的网站根目录下。与此同时,上面的协议应该增加上允许抓取WordPress的主题文件。
Allow: /wp-content/themes/cuowu/ 这里的cuowu为本站的主题,换成你们的主题文件夹名字即可。
2)dedecms的robots协议
User-agent: *
Disallow: /dede 管理后台目录,需要改名,具体设置后面具体讲
Disallow: /include 程序核心文件目录
Disallow: /member 会员管理目录,有些文件可以开放
Disallow: /plus 插件及辅助功能目录 ,有些文件可以开放,如search.php
Disallow: /templets 默认模板存放目录
Disallow: /data 系统缓存或其它可写入数据存放目录
Disallow: /uploads 上传下载文件保存目录,不想搜索引擎引用图片的话,禁止
Disallow: /images 系统默认模板图片存放目录
Disallow: /index.php 网站默认首页,静态化的话,最好禁止
Disallow: /404.html
Allow: /plus/search.php 开放禁止目录里的具体文件
将以上内容另存到文本文档里,命名为robots.txt上传到服务器的网站根目录下。
在设置robots.txt时,一定不要封禁资源,如css、js、图片等。
比如说,上面给出的WordPress的robots.txt,很多情况下,搜索引擎不能正常抓取主题中的js和图片。那么就需要增加上下面一条。
Allow: /wp-content/themes/cuowu/
网站robots被误封,很可能会导致收录下降,所以,如果不太懂robots就不要都禁止,不希望某一类页面抓取和收录时,再去设置也比较稳妥。通常操作步骤为:
1)站长平台抓取诊断
进入百度站长后台后,点击“数据监控”>“抓取诊断”>输入网址后面的部分,最后点击抓取。
2)找出robots规则错误地方
如果发现抓取不正常,那么就需要根据这个抓取失败的URL去分析robots协议文件到底是哪里出了问题。如果都正常,那么就直接进行下一步。
3)修改并更新robots
找出了robots.txt中的规则问题,那么接下来就是修改并保存robots.txt,然后覆盖原来的网站根目录下的robots.txt文件,最后在站长后台更新robots。
robots是禁止抓取的,还有一种方式为禁止索引,noindex meta robots标签。
noindex meta robots标签是页面<head></head>中间的meta标签的一种,用于告诉搜索引擎禁止索引本页内容,因而也就不会出现在搜索引擎的结果页面中了。
格式如下:
<meta name=”robots” content=”noindex”,nofollow>
意思为禁止所有搜索引擎索引本页面,禁止跟踪本页面上的链接。
百度仅支持nofollow和noarchive。Google、必应都支持下面标签。
noindex:不要索引本页面。
nofollow:不要跟踪本页面上的链接。
nosnippet:不要在搜索结果中显示摘要文字。
noarchive:告诉搜索引擎不要显示快照。
noodp:不要使用开放目录中的标题和描述。
最后一个要介绍的就是<a>标签上的rel=”nofollow”,最初这个标签的创造是为了告诉搜索引擎,这个链接非站长自主编辑,不要传递权重。后来,慢慢就变成了控制网站权重流动的一种方式。
有人说,nofollow有欺骗搜索引擎的嫌疑,不如直接优化网站内链来达到掌控网站权重的分配。
Google对nofollow很可能起到反作用,对加nofollow的链接不传递权重,但同时会使网站权重白白流失,故做英文网站需要注意这一点。百度对于nofollow的处理不同,加了nofollow的链接不传递权重,也不浪费权重,做中文网站可以在需要的地方使用nofollow。
百度搜索官方在2018年发布的《百度搜索robots协议全新升级公告》文章如下:
Robots是站点与spider沟通的重要渠道,站点通过robots文件声明本网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。
9月11日,百度搜索robots全新升级。升级后robots将优化对网站视频URL收录抓取情况。仅当您的网站包含不希望被视频搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
如您的网站未设置robots协议,百度搜索对网站视频URL的收录将包含视频播放页URL,及页面中的视频文件、视频周边文本等信息,搜索对已收录的短视频资源将对用户呈现为视频极速体验页。此外,综艺影视类长视频,搜索引擎仅收录页面URL。
1)什么是视频极速体验页
搜索视频极速体验服务旨在提升用户观看视频体验的一项富媒体体验升级服务,本服务针对短视频需求场景进行体验优化,将为搜索用户提供稳定、流畅、清晰的播放及浏览体验。视频极速体验服务包含视频极速页和合作平台两部分服务,网站可前往平台完善服务设置,获取各项搜索权益。详情参考《视频极速体验服务说明》。
2)设置搜索robots协议的后果
针对短视频类内容,视频搜索将不再索引、展现网站的视频资源,历史已索引部分会从搜索中屏蔽。若设置部分目录不希望被收录 ,该目录下内容将从搜索中屏蔽,其余内容在搜索中则以正常结果展示。
3)robots.txt文件的格式
robots文件往往放置于根目录下,包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL,or NL作为结束符),每一条记录的格式如下所示:
“:”
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:
- User-agent:该项的值用于描述搜索引擎robot的名字。在”robots.txt”文件中,如果有多条User-agent记录说明有多个robot会受到”robots.txt”的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效,在”robots.txt”文件中,”User-agent:*”这样的记录只能有一条。如果在”robots.txt”文件中,加入”User-agent:SomeBot”和若干Disallow、Allow行,那么名为”SomeBot”只受到”User-agent:SomeBot”后面的 Disallow和Allow行的限制。
- Disallow:该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被 robot访问。例如”Disallow:/help”禁止robot访问/help.html、/helpabc.html、/help/index.html,而”Disallow:/help/”则允许robot访问/help.html、/helpabc.html,不能访问/help/index.html。”Disallow:”说明允许robot访问该网站的所有url,在”/robots.txt”文件中,至少要有一条Disallow记录。如果”/robots.txt”不存在或者为空文件,则对于所有的搜索引擎robot,该网站都是开放的。
- Allow:该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。例如”Allow:/hibaidu”允许robot访问/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
- 使用”*”and”$”:Baiduspider支持使用通配符”*”和”$”来模糊匹配url。”*”匹配0或多个任意字符,”$”匹配行结束符。
最后需要说明的是:百度会严格遵守robots的相关协议,请注意区分您不想被抓取或收录的目录的大小写,百度会对robots中所写的文件和您不想被抓取和收录的目录做精确匹配,否则robots协议无法生效。
4)robots.txt文件用法举例
5)网站误封Robots该如何处理
robots文件是搜索生态中很重要的一个环节,同时也是一个很细节的环节。在网站运营过程中,很容易忽视robots文件的存在,进行错误覆盖或者全部封禁robots,造成不必要损失!如果误封禁,请及时删除或修改robots文件,并到百度站长平台robots工具中进行检测和更新。
相关文章原文地址:https://ziyuan.baidu.com/college/documentinfo?id=2580&page=3
1)Robots简介
robots.txt是一个协议,是搜索引擎访问网站时第一个要查看的文件,它存在的目的是告诉搜索引擎哪些页面能被抓取,哪些页面不能被抓取。
当spider访问一个站点时,会首先检查该站点根目录下是否存在robots.txt,如果存在,spider会按照文件中的内容来确定访问的范围;如果该文件不存在,所有的spider将能够访问网站上所有没有被口令保护的页面。
2)具体介绍
- User-agent用于描述搜索引擎robot的名字。
在
obots.txt文件中,如果有多条User-agent记录说明有多个robot会受到
obots.txt的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效,在
obots.txt文件中,User-agent:*这样的记录只能有一条。
360搜索支持user-agent命令,包括使用通配符的user-agent命令。
- Disallow命令指定不建议收录的文件、目录。
Disallow值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被 robot访问。
- Allow命令指定建议收录的文件、目录。
Allow值用于描述希望被访问的一组URL,它的值也可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL 是允许robot访问的。
User-agent: * 这里的*代表所有的搜索引擎种类,*是一个通配符,*也可以替换成其他的蜘蛛名称,例如:Googlebot、yisouspider,表示屏蔽特定搜索引擎的蜘蛛
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以.htm为后缀的URL(包含子目录)。
Disallow: /*?* 禁止访问网站中所有包含问号(?) 的网址
Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片
Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是允许爬寻tmp的整个目录
Allow: .htm$ 仅允许访问以.htm为后缀的URL。
Allow: .gif$ 允许抓取网页和gif格式图片
Sitemap: 网站地图,告诉爬虫这个页面是网站地图
3)注意事项
- robots文件往往放置于根目录下;
- 当您的网站包含有不希望被搜索引擎收录的内容时,才需要使用robots.txt文件;
- 360搜索会对这样形式的robots进行全匹配url处理。所以在写robots的时候一定要小心,最好写尽量精确的url通配,不建议做泛匹配。
User-agent: *
Disallow: *#*
或者
User-agent: *
Disallow: #
360搜索会把#认为是全部匹配,从而不抓取全部的url,类似的,如写成:Disallow: #.html,则会不抓取所有以html为后缀的url 。
4)常见问题
Robots相关的常见问题主要是因错误书写robots导致的网站不被360搜索引擎收录。所以建议站长,当网站出现不收录时,首先检查一下robtos文件是否正确。
Robots协议是一个搜索引擎和网站之间的善意协议,我们鼓励站长们也能善意使用这一协议,除非有充足合理的理由,否则我们一般都不建议使用Robots协议屏蔽360搜索及其他搜索引擎的蜘蛛。
相关文章原文地址:https://bbs.360.cn/thread-15062960-1-1.html
Google官方的《搜索引擎优化 (SEO) 新手指南》中提到的“告诉 Google 不应抓取哪些页面”章节如下:
最佳做法
若为非敏感信息,则可以使用 robots.txt 阻止不必要的抓取
“robots.txt”文件会告诉搜索引擎是否可以访问您网站的各个部分并执行抓取。此文件必须命名为“robots.txt”,且应位于网站的根目录下。被 robots.txt 阻止的网页也可能会被抓取,因此您应使用更安全的方法保护敏感网页。
您可能不希望网站的某些页面被抓取,因为这些页面显示在搜索引擎的搜索结果中可能对用户无用。如果您希望阻止搜索引擎抓取您的网页,Google Search Console 可提供便捷的 robots.txt 生成器帮助您创建此文件。请注意,如果您的网站使用了子域名,并且您希望 Google 不要抓取特定子域名上的某些网页,那么您必须为该子域名单独创建一个 robots.txt 文件。若想详细了解 robots.txt,您最好参阅网站站长帮助中心内的使用 robots.txt 文件13指南。
了解更多可阻止内容显示在搜索结果中的方法14。
应避免的做法:
- 不要让 Google 抓取内部搜索结果页。用户不喜欢点击搜索引擎结果后却登录到您网站上的其他搜索结果页。
- 允许抓取由代理服务器创建的网址。
若为敏感信息,则请使用更安全的方法
要阻止用户访问敏感或机密信息,Robots.txt 并不是一个适当或有效的方式。它只会告知运行良好的抓取工具不要抓取相应网页,却不会阻止您的服务器将这些网页发送给请求它们的浏览器。其中一个原因是:如果互联网上的某处(例如引荐来源网址日志)恰好存在指向这些被禁止访问的网址的链接,那么搜索引擎仍然能够引用这些网址(仅显示网址,但不显示标题或摘要)。此外,未同意遵守《漫游器排除标准》的不合规搜索引擎或流氓搜索引擎可能会违反您的 robots.txt 文件中的指令。最后,用户可能会出于好奇查看您的 robots.txt 文件中的目录或子目录,并猜测您不想让人看见的内容的网址。
在这些情况下,如果您只是希望网页不显示在 Google 中,则可使用 noindex 标记,无需担心任何用户会通过链接访问该网页。然而,为了做到真正的安全,您应该使用合适的授权方法(例如需要用户密码才能访问)或将网页从网站上彻底移除。
相关文章原文地址:https://www.cuowu.com/google-seo-novice-guide.html