robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。
robots.txt文件应位于您网站的根目录下。也就是说,如果您的网站是www.weinotes.com,则robots.txt文件的路径应为www.weinotes.com/robots.txt。robots.txt是一种遵照漫游器排除标准创建的纯文本文件,由一条或多条规则组成。每条规则可禁止(或允许)特定抓取工具抓取相应网站中的指定文件路径。
下面是一个包含两条规则的简单robots.txt文件,具体解析见下文:
#Group 1
User-agent:Googlebot
Disallow:/nogooglebot/
#Group 2
User-agent:*
Allow:/
Sitemap:http://www.weinotes.com/sitemap.xml
解析:
名为“Googlebot”抓取工具的用户代理不应抓取http://www.weinotes.com/nogooglebot/文件夹或任何子目录。
所有其他用户代理均可访问整个网站。(不指定这条规则也无妨,结果是一样的,因为完全访问权限是系统默认的前提。)
网站的站点地图文件位于http://www.weinotes.com/sitemap.xml。
基本的robots.txt准则
以下是与robots.txt文件有关的基本准则。建议您阅读robots.txt文件的完整语法,因为robots.txt语法中有一些您需要了解的细微行为。
1、格式和位置
您几乎可以使用任意文本编辑器创建robots.txt文件。您所用的文本编辑器应能够创建标准UTF-8文本文件;请勿使用文字处理软件,因为此类软件通常会将文件保存为专有格式,且可能会向文件中添加非预期的字符(如弯引号),而这可能会导致抓取工具无法顺利读取robots.txt文件。
使用robots.txt测试工具为您的网站编写或修改robots.txt文件。借助此工具,您可以测试自己网站的语法和行为。
格式和位置规则:
- 文件必须命名为robots.txt。
- 您的网站只能有1个robots.txt文件。
- robots.txt文件必须位于要应用到的网站主机的根目录下。例如,要控制对http://www.weinotes.com/下所有网址的抓取,就必须将robots.txt文件放在http://www.weinotes.com/robots.txt下,而不能将其放在子目录(例如http://weinotes.com/pages/robots.txt)下。如果您不确定如何访问自己的网站根目录,或者需要相应权限才能进行访问,请与网站托管服务提供商联系。如果您无法访问自己的网站根目录,请改用其他屏蔽方法(例如元标记)。
2、语法
- robots.txt必须是UTF-8编码的文本文件(包括ASCII)。不能使用其他字符集。
- robots.txt文件包含一个或多个组。
- 每个组由多条规则或指令(命令)组成,每条指令各占一行。
每个组包含以下信息:
- 代理可以访问哪些目录或文件,和/或代理无法访问哪些目录或文件。
- 系统会按照从上到下的顺序处理这些组,而且一个用户代理只能匹配1个规则集(即与相应用户代理匹配的首条最具体的规则)。
- 系统的默认假设是:用户代理可以抓取所有未被Disallow:规则禁止访问的网页或目录。
规则区分大小写。例如,Disallow:/file.asp适用于http://www.weinotes.com/file.asp,但不适用于http://www.weinotes.com/FILE.asp。
3、robots.txt文件中可以使用下列指令:
User-agent:[必需,每个组需含一个或多个User-agent条目]此规则的适用搜索引擎漫游器(即网页抓取工具软件)的名称。这是每条规则的首行内容。Web Robots Database或Google用户代理列表中列出了大多数Google用户代理名称。支持使用星号(*)通配符表示路径前缀、后缀或整个字符串。如下例中那样使用星号(*)可匹配除各种AdsBot抓取工具之外(此类抓取工具必须明确指定)的所有抓取工具。(查看Google抓取工具名称列表。)示例:
#示例1:仅屏蔽Googlebot
User-agent:Googlebot
Disallow:/
#示例2:屏蔽Googlebot和Adsbot
User-agent:Googlebot
User-agent:AdsBot-Google
Disallow:/
#示例3:屏蔽除AdsBot抓取工具之外的所有抓取工具
User-agent:*
Disallow:/
Disallow:[每条规则需含至少一个或多个Disallow或Allow条目]用户代理不应抓取的目录或网页(相对于根网域而言)。如果要指定网页,应提供浏览器中显示的完整网页名称;如果要指定目录,则应以标记“/”结尾。支持使用通配符“*”表示路径前缀、后缀或整个字符串。
Allow:[每条规则需含至少一个或多个Disallow或Allow条目]上文中提到的用户代理应抓取的目录或网页(相对于根网域而言)。此指令用于替换Disallow指令,从而允许抓取已禁止访问的目录中的子目录或网页。如果要指定网页,就应提供浏览器中显示的完整网页名称;如果要指定目录,则应以标记“/”结尾。支持使用通配符“*”表示路径前缀、后缀或整个字符串。
Sitemap:[可选,每个文件可含零个或多个Sitemap条目]相应网站的站点地图的位置。必须是完全限定的网址;Google不会假定存在或检查是否存在http/httpswww.non-www网址变体。站点地图是一种用于指示Google应抓取哪些内容(而不是可以或无法抓取哪些内容)的好方法。详细了解站点地图。示例:
Sitemap:https://www.guangwei.pro/sitemap.xml
4、robots.txt的完整语法
robots.txt语法的某些部分比较棘手,需要重点学习,因此请一定仔细阅读整个文档。
下面是一些常见的实用robots.txt规则:
禁止抓取整个网站。请注意,在某些情况下,Google即使未抓取网站的网址,仍可能会将其编入索引。注意:这不适用于各种AdsBot抓取工具,此类抓取工具必须明确指定。
User-agent:*
Disallow:/
禁止抓取某一目录及其内容(在目录名后面添加一道正斜线)。请注意,若想禁止访问私密内容,则不应使用robots.txt,而应改用适当的身份验证机制。对于robots.txt文件所禁止抓取的网址,Google仍可能会在不进行抓取的情况下将其编入索引;另外,由于robots.txt文件可供任何人随意查看,因此可能会泄露您的私密内容的位置。
User-agent:*
Disallow:/calendar/
Disallow:/junk/
仅允许使用某一抓取工具
User-agent:Googlebot-news
Allow:/
User-agent:*
Disallow:/
允许使用除某一抓取工具以外的其他所有抓取工具
User-agent:Unnecessarybot
Disallow:/
User-agent:*
Allow:/
禁止抓取某一网页(在正斜线后面列出网页):
User-agent:*
Disallow:/private_file.html
禁止Google图片访问某一特定图片:
User-agent:Googlebot-Image
Disallow:/images/dogs.jpg
禁止Google图片访问您网站上的所有图片:
User-agent:Googlebot-Image
Disallow:/
禁止抓取某一特定类型的文件(例如.gif):
User-agent:Googlebot
Disallow:/*.gif$
禁止抓取整个网站,但允许在这些网页上显示AdSense广告(禁止使用除Mediapartners-Google以外的所有网页抓取工具)。这种方法会阻止您的网页显示在搜索结果中,但Mediapartners-Google网页抓取工具仍能分析这些网页,以确定要向您网站上的访问者显示哪些广告。
User-agent:*
Disallow:/
User-agent:Mediapartners-Google
Allow:/
匹配以某一特定字符串结尾的网址-需使用美元符号($)。例如,示例代码会禁止访问以.xls结尾的所有网址:
User-agent:Googlebot
Disallow:/*.xls$
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-
2020年11月29日 下午11:32 1F
向王老师学习,向王老师看齐
2020年11月29日 下午11:48 2F
我们推出了免费的工具,更快捷的处理robots.txt
2020年11月30日 下午8:45 3F
像我们这种用户直接看别人咋写就是了
2020年12月1日 下午7:13 4F
网上有现成的robots.txt设置器