慧眼看世界 - 一个值得收藏的网站
规则是关于抓取工具可以抓取网站哪些部分的说明。向 robots.txt 文件中添加规则时,请遵循以下准则:
robots.txt 文件由一个或多个组(一组规则)组成。
每个组由多条规则(也称为指令)组成,每条规则各占一行。每个组都以 User-agent 行开头,该行指定了组适用的目标。
每个组包含以下信息:
组的适用对象(用户代理)
代理可以访问的目录或文件。
代理无法访问的目录或文件。
抓取工具会按从上到下的顺序处理组。一个用户代理只能匹配 1 个规则集(即与相应用户代理匹配的首个最具体组)。如果同一用户代理有多个组,这些组会在处理之前合并到一个组中。
系统的默认假设是:用户代理可以抓取所有未被 disallow 规则屏蔽的网页或目录。
规则区分大小写。例如,disallow: /file.asp 适用于 https://www.example.com/file.asp,但不适用于 https://www.example.com/FILE.asp。
# 字符表示注释的开始处。在处理过程中,系统会忽略注释。
Google 的抓取工具支持 robots.txt 文件中的以下规则:
user-agent: [必需,每个组需含一个或多个 User-agent 条目] 该规则指定了规则适用的自动客户端(即搜索引擎抓取工具)的名称。这是每个规则组的首行内容。Google 用户代理列表中列出了 Google 用户代理名称。使用星号 (*) 会匹配除各种 AdsBot 抓取工具之外的所有抓取工具,AdsBot 抓取工具必须明确指定。例如:
# Example 1: Block only Googlebot User-agent: Googlebot Disallow: / # Example 2: Block Googlebot and Adsbot User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Example 3: Block all crawlers except AdsBot (AdsBot crawlers must be named explicitly) User-agent: * Disallow: /
disallow: [每条规则需含至少一个或多个 disallow 或 allow 条目] 您不希望用户代理抓取的目录或网页(相对于根网域而言)。如果规则引用了某个网页,则必须提供浏览器中显示的完整网页名称。它必须以 / 字符开头;如果它引用了某个目录,则必须以 / 标记结尾。
allow: [每条规则需含至少一个或多个 disallow 或 allow 条目] 上文中提到的用户代理可以抓取的目录或网页(相对于根网域而言)。此规则用于替换 disallow 规则,从而允许抓取已禁止访问的目录中的子目录或网页。对于单个网页,请指定浏览器中显示的完整网页名称。它必须以 / 字符开头;如果它引用了某个目录,则必须以 / 标记结尾。
sitemap: [可选,每个文件可含零个或多个 sitemap 条目] 相应网站的站点地图的位置。站点地图网址必须是完全限定的网址;Google 不会假定存在或检查是否存在 http、https、www、非 www 网址变体。站点地图是一种用于指示 Google 应抓取哪些内容的理想方式,但并不用于指示 Google 可以抓取或不能抓取哪些内容。详细了解站点地图。 示例:
Sitemap: https://example.com/sitemap.xml Sitemap: https://www.example.com/sitemap.xml
除 sitemap 之外的所有规则都支持使用通配符 * 表示路径前缀、后缀或整个字符串。与这些规则均不匹配的行将被忽略。
实用的 robots.txt 规则
下面是一些常见的实用 robots.txt 规则:
1.禁止抓取整个网站
请注意,在某些情况下,Google 即使未抓取网站中的网址,仍可能将其编入索引。
注意:这不适用于各种 AdsBot 抓取工具,此类抓取工具必须明确指定。
规则写法如下:
User-agent: * Disallow: /
2.禁止抓取某一目录及其内容
在目录名后添加一道正斜线,即可禁止抓取整个目录。
注意:请勿使用 robots.txt 禁止访问私密内容;请改用正确的身份验证机制。对于 robots.txt 文件所禁止抓取的网址,Google 仍可能会在不进行抓取的情况下将其编入索引;另外,由于 robots.txt 文件可供任何人随意查看,因此可能会泄露您的私密内容的位置。
规则写法如下:
User-agent: * Disallow: /calendar/ Disallow: /junk/ Disallow: /books/fiction/contemporary/
3.仅允许某一抓取工具访问网站内容
只有 googlebot-news 可以抓取整个网站。
规则写法如下:
User-agent: Googlebot-news Allow: / User-agent: * Disallow: /
4.允许除某一抓取工具以外的其他所有抓取工具访问网站内容
Unnecessarybot 不能抓取相应网站,所有其他漫游器都可以。
规则写法如下:
User-agent: Unnecessarybot Disallow: / User-agent: * Allow: /
5.禁止抓取某一网页
例如,禁止抓取位于 https://example.com/useless_file.html 的 useless_file.html 页面和 junk 目录中的 other_useless_file.html。
规则写法如下:
User-agent: * Disallow: /useless_file.html Disallow: /junk/other_useless_file.html
6.禁止抓取除子目录以外的整个网站
抓取工具只能访问 public 子目录。
规则写法如下:
User-agent: * Disallow: / Allow: /public/
7.禁止 Google 图片访问某一特定图片
例如,禁止访问 dogs.jpg 图片。
规则写法如下:
User-agent: Googlebot-Image Disallow: /images/dogs.jpg
8.禁止 Google 图片访问您网站上的所有图片
如果无法抓取图片和视频,则 Google 无法将其编入索引。
规则写法如下:
User-agent: Googlebot-Image Disallow: /
9.禁止抓取某一特定文件类型的文件
例如,禁止抓取所有 .gif 文件。
规则写法如下:
User-agent: Googlebot Disallow: /*.gif$
10.禁止抓取整个网站,但允许 Mediapartners-Google 访问内容
实施此规则会阻止您的网页显示在搜索结果中,但 Mediapartners-Google 网页抓取工具仍能分析这些网页,以确定要向访问您网站的用户显示哪些广告。
规则写法如下:
User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: /
11.使用 * 和 $ 通配符匹配以特定字符串结尾的网址
例如,禁止抓取所有 .xls 文件。
规则写法如下:
User-agent: Googlebot Disallow: /*.xls$
本文链接:https://www.sxlog.com/post/1727.html