首页 > 其他分享 >谷歌优化之如何编写和提交 robots.txt 文件

谷歌优化之如何编写和提交 robots.txt 文件

时间:2023-09-06 18:32:08浏览次数:46  
标签:文件 谷歌 抓取 robots txt com example

您可以使用 robots.txt 文件控制抓取工具可以访问您网站上的哪些文件。

robots.txt 文件应位于网站的根目录下。因此,对于网站 www.example.com,robots.txt 文件的路径应为 www.example.com/robots.txt。robots.txt 是一种遵循漫游器排除标准的纯文本文件,由一条或多条规则组成。每条规则可禁止或允许所有或特定抓取工具抓取托管 robots.txt 文件的网域或子网域上的指定文件路径。除非您在 robots.txt 文件中另行指定,否则所有文件均隐式允许抓取。

下面是一个包含两条规则的简单 robots.txt 文件:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

以下是该 robots.txt 文件的含义

  1. 名为 Googlebot 的用户代理不能抓取任何以 https://example.com/nogooglebot/ 开头的网址。
  2. 其他所有用户代理均可抓取整个网站。不指定这条规则也无妨,结果是一样的;默认行为是用户代理可以抓取整个网站。
  3. 该网站的站点地图文件路径为 https://www.example.com/sitemap.xml。

创建 robots.txt 文件

您几乎可以使用任意文本编辑器创建 robots.txt 文件。例如,Notepad、TextEdit、vi 和 emacs 可用来创建有效的 robots.txt 文件。请勿使用文字处理软件,因为此类软件通常会将文件保存为专有格式,且可能会向文件中添加非预期的字符(如弯引号),这样可能会给抓取工具带来问题。如果保存文件时出现相应系统提示,请务必使用 UTF-8 编码保存文件。

格式和位置规则

  • 文件必须命名为 robots.txt。
  • 网站只能有 1 个 robots.txt 文件。
  • robots.txt 文件必须位于其要应用到的网站主机的根目录下。例如,若要控制对 https://www.example.com/ 下所有网址的抓取,就必须将 robots.txt 文件放在 https://www.example.com/robots.txt 下,一定不能将其放在子目录中(例如 https://example.com/pages/robots.txt 下)。如果您不确定如何访问自己的网站根目录,或者需要相应权限才能访问,请与网站托管服务提供商联系。如果您无法访问网站根目录,请改用其他屏蔽方法(例如 meta 标记)。
  • robots.txt 文件可以位于子网域(例如 https://website.example.com/robots.txt)或非标准端口(例如 https://example.com:8181/robots.txt)上。
  • robots.txt 文件仅适用于所在的协议、主机和端口内的路径。也就是说,https://example.com/robots.txt 中的规则仅适用于 https://example.com/ 中的文件,而不适用于子网域(如 https://m.example.com/)或备用协议(如 http://example.com/)。
  • robots.txt 文件必须是采用 UTF-8 编码(包括 ASCII)的文本文件。Google 可能会忽略不属于 UTF-8 范围的字符,从而可能会导致 robots.txt 规则无效。

如何编写 robots.txt 规则

规则是关于抓取工具可以抓取网站哪些部分的说明。向 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 文件保存到计算机后,您便可以将其提供给搜索引擎抓取工具。没有一个统一工具可以帮助您完成这项工作,因为如何将 robots.txt 文件上传到网站取决于您的网站和服务器架构。请与您的托管公司联系,或在托管公司的文档中进行搜索;例如,搜索“上传文件 infomaniak”。
  • 上传 robots.txt 文件后,请测试该文件是否可公开访问,以及 Google 能否解析该文件。
  • 测试 robots.txt 标记 
  • 要测试新上传的 robots.txt 文件是否可公开访问,请在浏览器中打开无痕浏览窗口(或等效窗口),然后转到 robots.txt 文件的位置。例如 https://example.com/robots.txt。如果您看到 robots.txt 文件的内容,就可准备测试标记了。
  • Google 提供了两种测试 robots.txt 标记的方式:
  • Search Console 中的 robots.txt 测试工具。您只能针对您网站上可供访问的 robots.txt 文件使用此工具。
  • 如果您是开发者,请了解并构建 Google 的开源 robots.txt 库,该库也用在 Google 搜索中。您可以使用此工具在计算机上本地测试 robots.txt 文件。
  • 向 Google 提交 robots.txt 文件
  • 在您上传并测试 robots.txt 文件后,Google 的抓取工具会自动找到并开始使用您的 robots.txt 文件。您无需采取任何操作。如果您更新了 robots.txt 文件,并需要尽快刷新 Google 的缓存副本。


标签:文件,谷歌,抓取,robots,txt,com,example
From: https://blog.51cto.com/u_16211399/7389392

相关文章

  • 【网络爬虫笔记】爬虫Robots协议语法详解
    Robots协议是指一个被称为RobotsExclusionProtocol的协议。该协议的主要功能是向网络蜘蛛、机器人等搜索引擎爬虫提供一个标准的访问控制机制,告诉它们哪些页面可以被抓取,哪些页面不可以被抓取。本文将进行爬虫Robots协议语法详解,同时提供相关代码和案例。Robots协议的基本语法Rob......
  • cmd合并多个txt到一个
    copy*.txt1.txt......
  • 谷歌优化之地址更改工具
    地址更改工具将您的网站从一个网域迁移到另一个网域。关于此工具当您将网站从一个网域或子网域迁移到另一个网域或子网域时,可使用地址更改工具:例如,从example.com迁移到example.org或example2.com。此工具会告知Google您的更改,并帮助您在Google搜索结果中体现从旧网站到新......
  • Python操作文本(.TXT)文件
    在Python中,我们可以使用内置的文件操作函数来读取、写入和操作文本文件。无论无论对文件做任何的操作,我们都需要使用 open()函数来打开文件,打开模式有只读、写入、追加三种模式。下面是使用Python操作文本文件的实例。读取文件要读取文本文件,我们需要使用open()函数来打开文件,并使......
  • [20230903]完善hide.sql脚本2.txt
    [20230903]完善hide.sql脚本2.txt--//以前写的用来查询隐含参数的脚本如下:$cathide.sqlcolnameformata40coldescriptionformata66colsession_valueformata22coldefault_valueformata22colsystem_valueformata22select  a.ksppinm name,  a.ksppdescDESC......
  • [20230903]执行计划ANTI SNA和ANTI NA表示什么.txt
    [20230903]执行计划ANTISNA和ANTINA表示什么.txt--//在notin的sql语句什么出现ANTISNA或者ANTINA(注:不会出现在notexists语句中),我自己是非常混乱的。--//我看了以前的链接http://blog.itpub.net/267265/viewspace-2157424/=>[20180705]关于hashjoin2.txt--//还是发现......
  • 关于NFC、谷歌钱包的理解
    NFC:NearFieldCommunication即近距离通讯技术RFID(RadioFrequencyIDentification)技术,又称电子标签、无线射频识别,公交卡就是使用这种技术。NFC传输范围较小,安全、低功耗RFID是一种识别技术,而NFC是一种交互的通信方式。有人说,NFC是RFID的一种改良版本。目前智能手机将支持NFC,也......
  • 使用百度文心一言生成bat代码(查找当前目录所有文件名带11的txt文件并修改为22)
    百度文心一言开放给普通用户了,网址:文心一言请用[bat]编程:查找当前目录所有文件名带11的txt文件并修改为22生成的代码需要简单修改下,主要问题在->位置没有使用转义符会导致echo后面的字符到txt中,思路还是可以的,不错点击查看代码@echooffsetlocalenabledelayedexpansion......
  • 彻底关闭谷歌浏览器自动更新方法分享 取消chrome自动更新
    不想让Chrome浏览器自动更新主要是因为70版本后的Ui无法更改,强迫症的我实在无法忍受。看了网上的很多方法都不管用,后来找到这个方法测试成功后真的太开心了。现在分享给大家,希望给需要的人一点帮助吧。我们做法是:清空Update文件夹,并设置权限,让chrome没有权限改这个文件夹。原理:......
  • 对话谷歌首席技术官肖恩,搜索引擎的里程碑,来看看搜索引擎界的大哥Algolia的“快、准、
    原创|文BFT机器人人物背景Character BackgroundSeanMullaney是Algolia(端到端人工智能搜索和发现平台)的首席技术官,也是前Stripe和谷歌高管,拥有扩展工程组织、开发人工智能驱动的搜索和发现工具以及在全球范围内发展API优先解决方案的背景。在Algolia,他负责监督仅次于谷歌的第......