谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌SEO工具
    • 关键词工具
    • 内容SEO工具
    • 链接查询分析工具
    • 排名监控工具
    • 网站SEO分析工具
    • 谷歌浏览器SEO插件
  • WordPress主题
  • WordPress插件
  • 谷歌SEO优化官方文档
  • 排行榜
  • 提交工具
谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌SEO工具
    • 关键词工具
    • 内容SEO工具
      • AI写作工具
    • 链接查询分析工具
    • 排名监控工具
    • 网站SEO分析工具
    • 谷歌浏览器SEO插件
  • WordPress主题
    • WordPress插件
  • 谷歌SEO优化指南
    • Google搜索要素
    • SEO基础知识
    • Google抓取和编入索引
    • Google排名和搜索结果呈现
      • 排名算法系统
      • 结构化数据
      • 页面体验
    • 监控和调试
    • 针对特定网站的指南
  • 谷歌SEO技术
    • 谷歌SEO入门教程
  • SEO工具使用指南

谷歌SEO优化指南(新版)

  • 谷歌搜索引擎优化(SEO)简介
  • Google搜索要素
    • Google 搜索要素概览
    • Google 搜索技术要求
    • 适用于 Google 网页搜索的垃圾内容政策
  • SEO基础知识
    • 使您的网站显示在 Google 搜索结果中
    • 关于 Google 搜索运作方式的深度指南
    • 创建实用、可靠、以用户为中心的内容
    • 谷歌搜索引擎优化 (SEO) 新手指南
    • 您需要 SEO 吗?什么是 SEO 专家?
    • 维持网站的SEO效果(技术型SEO技巧与策略)
    • Google 搜索使用入门:开发者搜索指南
  • Google抓取和编入索引
    • 抓取和索引编制主题概览
    • Google可编入索引的文件类型
    • GoogleSEO网址结构最佳实践(Google网址结构准则)
    • GoogleSEO链接最佳实践(内链、外部链接)
    • 关于移动网站和优先将移动版网站编入索引的最佳实践
    • 站点地图Sitemap
      • 了解站点地图(什么是站点地图Sitemap)
      • 创建和提交站点地图(Sitemap格式规范)
      • 使用站点地图索引文件管理站点地图(拆分较大的站点地图)
      • 图片站点地图格式和规范
      • Google新闻站点地图格式和规范
      • 视频站点地图和替代方案(视频站点地图示例)
      • 如何结合使用站点地图扩展
    • 抓取工具管理
      • 请求 Google 重新抓取您的网站网址
      • 减慢Googlebot的抓取速度
      • 验证Googlebot和其他Google抓取工具
      • 面向大型网站所有者的抓取预算管理指南
      • HTTP 状态代码以及网络连接错误和 DNS 错误对 Google 搜索有何影响
      • Google抓取工具和抓取器(用户代理)概览
      • Googlebot-什么是Googlebot
      • Google Read Aloud 用户代理
      • APIs-Google 用户代理
      • Feedfetcher
    • Robots.txt
      • Robots.txt简介与指南
      • 如何编写和提交robots.txt文件(robots协议规则写法)
      • 更新robots.txt文件
      • Google如何解读robots.txt规范
    • 网址规范化
      • 什么是网址规范化
      • 如何使用rel=”canonical”及其他方法指定规范网址
      • 解决规范化问题
    • AMP
      • 与 Google 搜索中的 AMP 网页相关的准则
      • 了解AMP在搜索结果中的运作原理
      • 增强在Google搜索结果中显示的AMP内容
      • 验证AMP内容是否可以显示在Google搜索结果中
      • 从 Google 搜索结果中移除 AMP 网页
    • JavaScript
      • 了解JavaScriptSEO基础知识
      • 解决与 Google 搜索相关的 JavaScript 问题
      • 修正延迟加载的网站内容
      • 将动态呈现作为临时解决方法
    • 网页和内容元数据
      • Google搜索的有效页面元数据
      • Google支持的meta标记和属性
      • 漫游器元标记规范(Robots meta标记、data-nosnippet和X-Robots-Tag规范)
      • 使用noindex阻止搜索引擎编入索引
      • 安全搜索功能和您的网站
      • 向Google说明您的出站链接的用意(rel属性)
    • 删除
      • 控制您在Google搜索中分享的内容
      • 从Google搜索结果中移除您网站上托管的网页
      • 从搜索结果中移除您网站上托管的图片
      • 让隐去的信息不显示在 Google 搜索中
    • 网站迁移和变更
      • 重定向和Google搜索
      • 网站更换托管服务提供商或迁移到内容分发网络 (CDN)
      • 在更改网址的情况下迁移网站
      • 有关在Google搜索中进行A/B测试的最佳实践
      • 暂停或停用网站
  • Google排名和搜索结果呈现
    • Google搜索结果呈现 主题概览
    • AI概览和您的网站
    • Google搜索的视觉元素库
    • Google搜索结果中的标题链接(Title)
    • Google搜索结果中的摘要(如何撰写元描述)
    • 图片搜索引擎优化 (SEO) 最佳实践
    • 视频搜索引擎优化 (SEO) 最佳实践
    • 影响您在Google搜索中的署名日期
    • 定义要在搜索结果中显示的网站图标(Favicon)
    • 经过翻译的功能-1 Google搜索中的翻译搜索结果
    • 经过翻译的功能-2 让广告网络能够使用与翻译相关的Google搜索功能
    • 精选摘要和您的网站
    • 使内容出现在Google探索中
    • Google搜索结果中的网站名称
    • 搜索结果中的站点链接
    • 在Google上启用网络故事、创建网络故事的最佳做法及内容政策
    • 实施灵活抽样时需遵循的常规指南
    • 本地功能-1 向Google添加商家详情
    • 本地功能-2 热门地点列表优化
    • 本地功能-3 退出Google Local
    • Google搜索和您网站上的备注(实验性功能)
    • “包裹跟踪”功能尝鲜者计划
    • 排名系统
      • Google搜索排名系统指南
      • Google搜索实用内容系统
      • Google搜索的评价系统
    • 页面体验
      • 了解Google搜索结果中的网页体验
      • 了解核心网页指标和Google搜索结果
      • 避免使用干扰性插页式广告和对话框
      • 在Google搜索中使用 Signed Exchange
    • 结构化数据
      • Google搜索中的结构化数据标记简介及其运作方式
      • 结构化数据常规指南
      • 丰富且互动的搜索结果
      • 使用 JavaScript 生成结构化数据
      • Google搜索支持的结构化数据标记(结构化数据列表)
      • 文章(Article、NewsArticle、BlogPosting)结构化数据
      • 图书操作 (Book) 结构化数据
      • 面包屑导航 (BreadcrumbList) 结构化数据(路径)
      • 轮播界面 (ItemList) 结构化数据
      • 课程信息(Course 和 CourseInstance)结构化数据
      • 课程列表 (Course) 结构化数据
      • 数据集(Dataset、DataCatalog、DataDownload)结构化数据
      • 论坛 (DiscussionForumPosting) 结构化数据
      • 知识问答(Quiz、Question 和 Answer)结构化数据
      • 雇主总体评分 (EmployerAggregateRating) 结构化数据
      • 估算工资 (Occupation) 结构化数据
      • 活动 (Event) 结构化数据
      • 事实核查 (ClaimReview) 结构化数据
      • 常见问题解答FAQ(FAQPage、Question、Answer)结构化数据
      • 居家活动 (VirtualLocation) 结构化数据
      • Google 图片中的图片元数据
      • 职位搜索的招聘信息 (JobPosting) 结构化数据
      • 学习视频(LearningResource、VideoObject、Clip)结构化数据
      • 本地商家 (LocalBusiness) 结构化数据
      • 数学求解器 (MathSolver) 结构化数据
      • 影片轮播界面 (Movie) 结构化数据
      • 单位组织 (Organization) 结构化数据
      • 练习题 (Quiz) 结构化数据
      • 产品/商品(Product、Review、Offer)结构化数据简介-0
      • 产品/商品(Product、Review、Offer)结构化数据-1商品摘要
      • 产品/商品(Product、Offer)结构化数据-2商家信息
      • 产品/商品结构化数据(ProductGroup、Product)-3变体(商品款式/规格)
      • 个人资料页面 (ProfilePage) 结构化数据
      • 问答 (QAPage) 结构化数据
      • 食谱(Recipe、HowTo、ItemList)结构化数据
      • 评价摘要(Review、AggregateRating)结构化数据
      • 站点链接 (WebSite) 结构化数据
      • 软件应用 (SoftwareApplication) 结构化数据
      • 订阅和付费内容结构化数据 (CreativeWork)
      • 民宿 (VacationRental) 结构化数据
      • 车辆详情 (Car) 结构化数据
      • 视频(VideoObject、Clip、BroadcastEvent)结构化数据
      • 可朗读(Article、WebPage)结构化数据(Beta 版)
      • COVID-19 通知 (SpecialAnnouncement) 结构化数据(Beta 版)
  • 监控和调试
    • 调试 Google 搜索流量下降问题
    • 通过Search Console进行监控
      • Search Console使用入门
      • 利用Search Console气泡图改进搜索引擎优化 (SEO) 效果
    • 使用搜索运算符进行调试
      • Google 搜索运算符概览
      • site: 搜索运算符
      • cache: 搜索运算符
      • Google图片src: 搜索运算符
    • 预防和监控滥用行为
      • 预防和监控网站上的滥用行为概览
      • 防止网站和平台存在用户生成的垃圾内容
      • 恶意软件和垃圾软件
      • 防止感染恶意软件
      • 社会工程学(钓鱼式攻击和欺骗性网站)
      • Google安全浏览屡次违规网站政策
  • 针对特定网站的指南
    • 电子商务网站
      • 在Google搜索中推广电子商务网站的最佳做法 概览
      • 电子商务内容可以展示在Google上的什么位置
      • 与 Google 分享商品数据
      • 添加电子商务网站的结构化数据
      • 如何在Google上发布新的电子商务网站
      • 撰写优质评价
      • 设计电子商务网站的网址结构
      • 电子商务网站导航结构
      • 分页和增量加载以及它们对 Google 搜索的影响
    • 国际网站和多语言网站
      • 国际性和多语言网站主题概览
      • 管理多区域网站和多语言网站
      • 将网页的本地化版本告知Google
      • Google如何抓取语言区域自适应网页

Google搜索引擎优化 (SEO) 指南(旧版)

  • 谷歌搜索引擎优化(SEO)简介
  • Google搜索基础知识
    • 1.快速入门:了解 Google 搜索的基础知识
    • 2.在 Google 上占有一席之地
    • 3.搜索的工作方式(面向新手)
    • 4.针对搜索引擎优化您的网站
    • 5.衡量您的网站在 Google 上的效果
  • Google新手SEO
    • 1.Google搜索新手入门指南
    • 2.Google 搜索的工作方式
    • 3.Google搜索引擎优化 (SEO) 新手指南
    • 4.您需要 SEO 吗?
    • 5.在 Google 上建立商家详情
    • 6.谷歌站长工具Search Console 新手指南
  • Google高级SEO
    • 1.Google高级SEO使用入门
    • 2.进阶内容:Google 搜索的运作方式
    • 3.Google 搜索使用入门:开发者指南
    • 4.谷歌站长工具Search Console 高级指南
    • 5.Google优化指南
      • 5.1Google优化指南概览(目录)
      • 5.2Google网站站长指南
      • 5.3Google常规指南
        • 5.3-1保持简单的网址结构
        • 5.3-2向 Google 说明您的出站链接的用意
        • 5.3-3将网站标记为面向儿童的内容
        • 5.3-4浏览器兼容性
        • 5.3-5避免创建重复内容
        • 5.3-6确保链接可供抓取
        • 5.3-7确保 Googlebot 未被阻止
        • 5.3-8借助 Google 搜索进行网站测试的最佳做法
      • 5.4针对特定内容的指南
        • 5.4-1Google图片最佳做法
        • 5.4-2Google视频最佳做法
        • 5.4-3Google有关富媒体文件的最佳做法
        • 5.4-4与 Google 搜索中的 AMP 网页相关的准则
        • 5.4-5AJAX增强型网站
        • 5.4-6关于 AJAX 的常见问题解答
        • 5.4-7Google 搜索提供的 COVID-19 资源和提示
      • 5.5网站页面质量指南
        • 5.5-1自动生成的内容
        • 5.5-2欺骗性重定向
        • 5.5-3链接方案
        • 5.5-4付费链接
        • 5.5-5伪装真实内容
        • 5.5-6隐藏文字和链接
        • 5.5-7门页
        • 5.5-8抄袭内容
        • 5.5-9联属计划
        • 5.5-10不相关的关键字(关键字堆砌)
        • 5.5-11创建会执行恶意行为的网页
        • 5.5-12用户生成的垃圾内容
        • 5.5-13阻止垃圾评论的方法
        • 5.5-14举报网络垃圾、付费链接或恶意软件
    • 6.控制抓取和索引编制
      • 6.01抓取和索引编制主题概览(目录)
      • 6.02编入索引简介
      • 6.03创建网址列表
      • 6.04向 Google 提交网址
      • 6.07从 Google 中移除信息
      • 6.08暂停在线商家
      • 6.09整合重复网址
      • 6.10创建自定义 404 网页
      • 6.11转移、移动或迁移网站
      • 6.13Google 可以识别的特殊标记
      • 6.14漫游器元标记、data-nosnippet 和 X-Robots-Tag 规范
      • 6.15管理抓取速度:请求 Google 重新抓取您的网址和减慢 Googlebot 的抓取速度
      • 6.05管理站点地图
        • 6.5-1了解站点地图
        • 6.5-2创建和提交站点地图
        • 6.5-3拆分较大的站点地图
        • 6.5-4视频Sitemap及其替代方案
        • 6.5-5图片站点地图
        • 6.5-6创建 Google 新闻站点地图
      • 6.06阻止访问您的内容
        • 6.6-1阻止访问您的内容
        • 6.6-2控制与 Google 分享的内容
        • 6.6-3使用”noindex”阻止搜索引擎编入索引
        • 6.6-4.1通过 robots.txt 阻止访问-robots.txt 简介
        • 6.6-4.2创建 robots.txt 文件
        • 6.6-4.3向 Google 提交更新后的 robots.txt
        • 6.6-4.4有关漫游器robots.txt的常见问题解答
        • 6.6-4.5Robots.txt 规范
        • 6.6-5阻止您页面上的图片出现在搜索结果中
      • 6.12管理多区域和多语言网站
        • 6.12-1管理多区域和多语言网站
        • 6.12-2将网页的本地化版本告知 Google
        • 6.12-3Google 如何抓取语言区域自适应网页
        • 6.12-4跨语言搜索结果
      • 6.16Google 抓取工具
        • 6.16-1Google 抓取工具(用户代理)概览
        • 6.16-2谷歌机器人Googlebot
        • 6.16-3Google Read Aloud 用户代理
        • 6.16-4APIs-Google 用户代理
        • 6.16-5Feedfetcher
        • 6.16-6网页上的 Duplex”用户代理
        • 6.16-7验证 Googlebot
      • 6.17管理JavaScript内容
        • 6.17-1了解 JavaScript SEO 基础知识
        • 6.17-2解决与 Google 搜索相关的 JavaScript 问题
        • 6.17-3修正延迟加载的内容
        • 6.17-4实现动态呈现
    • 7.更改搜索结果呈现
      • 7.1搜索结果呈现主题概览
      • 7.2控制搜索结果中的标题链接
      • 7.4为网站启用搜索结果功能
      • 7.3控制搜索结果中的摘要
      • 7.5精选摘要和您的网站
      • 7.6站点链接
      • 7.7向 Google 搜索提供发布日期
      • 7.8定义要在搜索结果中显示的网站图标
View Categories
  • 首页
  • 谷歌SEO优化官方文档
  • Google搜索引擎优化 (SEO) 指南(旧版)
  • Google高级SEO
  • 6.控制抓取和索引编制
  • 6.06阻止访问您的内容

6.6-4.5Robots.txt 规范

摘要 #

本文档详细介绍了 Google 处理 robots.txt 文件的方式,这种文件让你可以控制 Google 的网站抓取工具如何抓取可公开访问的网站并将其编入索引。

具体变化 #

2019 年 7 月 1 日,Google 宣布将推动 robots.txt 协议成为一项互联网标准。这些变化都反映在本文档中。

变化列表

具体变化如下:

移除了本文档中的“要求语言”部分,因为这类语言只适用于互联网草案。

Robots.txt 现在接受所有基于 URI 的协议。

Google 会跟踪至少五次重定向。由于尚未提取任何规则,因此系统会跟踪至少五次重定向,如果找不到 robots.txt,Google 会在处理 robots.txt 时将其视为 404 错误。我们不建议用户根据返回 2xx 的 HTML 内容处理 robots.txt 文件的逻辑重定向,包括框架、JavaScript 或元刷新型重定向。在查找适用的规则时,系统会使用第一个网页的内容。

对于 5xx,如果 robots.txt 连续 30 天以上无法访问,系统会使用 robots.txt 的最后一个缓存副本;如果没有缓存副本,Google 会假定没有任何抓取限制。

如果请求不成功或数据不完整,Google 都会视为服务器错误。

“记录”现在称为“行”或“规则”,具体视情况而定。

Google 不支持处理存在轻微错误或拼写错误的 <field> 元素,例如,“user-agent”错写成了“useragent”。

Google 目前强制执行的文件大小上限为 500 KiB,并会忽略超出该上限的内容。

根据 RFC5234 更新了正式语法,使其成为有效的 Augmented Backus-Naur Form (ABNF),并涵盖 robots.txt 中的 UTF-8 字符。

更新了“组”的定义,使其更简短扼要。添加了空组的示例。

移除了对已弃用的 AJAX 抓取机制的引用。

基本定义 #

定义
抓取工具 抓取工具是指抓取网站的服务或代理。一般而言,抓取工具会自动以递归方式访问某个主机的已知网址,你可以通过标准的网络浏览器访问这个主机发布的内容。如果抓取工具发现新网址(通过各种途径,例如现有的已抓取网页上的链接或站点地图文件),也会以相同的方式进行抓取。
用户代理 一种用于标识特定抓取工具或一组抓取工具的手段。
指令 robots.txt 文件中规定的某个抓取工具或一组抓取工具适用的一系列准则。
网址 RFC 1738 中定义的统一资源定位器。
Google 专用 这些元素针对的是 Google 的 robots.txt 实现,可能与其他各方无关。

适用性 #

Google 的所有自动抓取工具都遵循本文档中所述的准则。如果代理代表用户访问网址(例如,为了进行翻译、手动订阅的 Feed、恶意软件分析),那么不必遵循这些准则。

文件位置和有效范围 #

robots.txt 文件必须位于主机的顶级目录中,可通过适当的协议和端口号进行访问。robots.txt 的通用协议都是基于 URI 的协议,而专用于 Google 搜索(例如,用于抓取网站)的协议为“http”和“https”。按照 http 和 https 协议,使用 HTTP 无条件 GET 请求来抓取 robots.txt 文件。

Google 专用:Google 同样接受和遵循 FTP 网站的 robots.txt 文件。基于 FTP 的 robots.txt 文件可以在匿名登录的情况下,通过 FTP 协议访问。

robots.txt 文件中列出的指令只适用于该文件所在的主机、协议和端口号。

和其他网址一样,robots.txt 文件的网址也区分大小写。

有效 robots.txt 网址的示例 #

 

robots.txt 网址示例
http://example.com/robots.txt 适用于:

http://example.com/

http://example.com/folder/file

不适用于:

http://other.example.com/

https://example.com/

http://example.com:8181/

这属于一般情况。该网址对其他子网域、协议或端口号来说无效;对同一个主机、协议和端口号上的所有子目录中的所有文件有效。
http://www.example.com/robots.txt 适用于:http://www.example.com/

不适用于:

http://example.com/

http://shop.www.example.com/

http://www.shop.example.com/

子网域上的 robots.txt 只对该子网域有效。
http://example.com/folder/robots.txt robots.txt 文件无效。抓取工具不会检查子目录中是否包含 robots.txt 文件。
http://www.müller.eu/robots.txt 适用于:

http://www.müller.eu/

http://www.xn--mller-kva.eu/

不适用于:http://www.muller.eu/

IDN 等同于其对应的 punycode 版本。另外,请参阅 RFC 3492。
ftp://example.com/robots.txt 适用于:ftp://example.com/

不适用于:http://example.com/

Google 专用:我们会对 FTP 资源使用 robots.txt。

http://212.96.82.21/robots.txt 适用于:http://212.96.82.21/

不适用于:http://example.com/(即使托管在 212.96.82.21 上)

以 IP 地址作为主机名的 robots.txt 只在抓取作为主机名的该 IP 地址时有效。此类 robots.txt 并不会自动对该 IP 地址上托管的所有网站有效,但该文件可能是共享的,在此情况下,该文件也可以在共享主机名下使用。
http://example.com:80/robots.txt 适用于:

http://example.com:80/

http://example.com/

不适用于:http://example.com:81/

标准端口号(http 为 80;https 为 443;ftp 为 21)等同于其默认的主机名。另外,请参阅 [portnumbers]。
http://example.com:8181/robots.txt 适用于:http://example.com:8181/

不适用于:http://example.com/

非标准端口号上的 robots.txt 文件只对通过这些端口号提供的内容有效。

处理 HTTP 结果代码

一般情况下,robots.txt 文件会出现三种不同的抓取结果:

全部允许:所有内容都可以抓取。

全部禁止:所有内容都不能抓取。

有条件地允许:robots.txt 中的指令决定是否可以抓取某些内容。

处理 HTTP 结果代码
2xx(成功) HTTP 结果代码,表示成功的“有条件地允许”抓取结果。
3xx(重定向) Google 会跟踪至少五次重定向(如适用于 HTTP/1.0 的 RFC 1945 所规定),然后便会停止,并将其处理为 404 错误。建议用户不要处理指向禁止网址的 robots.txt 重定向;由于尚未提取任何规则,因此系统会跟踪至少五次重定向,如果找不到 robots.txt,Google 会在处理 robots.txt 时将它视为 404 错误。 对于以返回 2xx 的 HTML 内容为基础的 robots.txt 文件,建议不要处理这类 robots.txt 文件的逻辑重定向(框架、JavaScript 或元刷新型重定向),并在第一个页面的内容中查找适用的规则。
4xx(客户端错误) 系统对所有 4xx 错误都采用同一种处理方式,并且假定不存在有效的 robots.txt 文件。Google 假定不存在任何限制。这表示抓取时“全部允许”。

包括 401“未授权”和 403“禁止访问”HTTP 结果代码。
5xx(服务器错误) 我们将服务器错误视作会导致抓取作业“全部禁止”的临时性错误。 系统会再次尝试发送该请求,直到获得非服务器错误的 HTTP 结果代码。503(服务不可用)错误会导致非常频繁的重试操作。如果 robots.txt 连续 30 天以上无法访问,系统会使用 robots.txt 的最后一个缓存副本。如果没有缓存副本,Google 会假定没有任何抓取限制。 如果要暂停抓取,建议你提供 503 HTTP 结果代码。

Google 的处理方式:如果我们能够确定,某个网站因为配置不正确而在缺少网页时返回 5xx 错误而不是 404 错误,就会将该网站的 5xx 错误作为 404 错误处理。

请求不成功或数据不完整 系统会将因 DNS 或网络问题(超时、响应无效、重置或断开连接、HTTP 组块错误等)而无法抓取的 robots.txt 文件的处理视为服务器错误。
缓存 一般情况下,robots.txt 内容最多可缓存 24 小时,但在无法刷新缓存版本的情况下(例如,出现超时或 5xx 错误时),缓存时间可能会延长。缓存的响应可以由各种不同的抓取工具共享。Google 会根据 max-age Cache-Control HTTP 标头延长或缩短缓存生命周期。

文件格式

文件应该是用 UTF-8 编码的纯文本格式,其中包含由 CR、CR/LF 或 LF 分隔的多个行。

系统将只考虑有效的行,而忽略其他所有内容。 例如,如果获得的文档为 HTML 网页,系统只会考虑网页中有效的文本行,而忽略其他内容,并且既不显示警告也不报告错误。

如果因为使用某种字符编码而引入了不属于 UTF-8 子集的字符,则可能导致文件内容解析错误。

系统会忽略 robots.txt 文件开头可选的 Unicode BOM(字节顺序标记)。

每个有效行均由一个字段、一个冒号和一个值组成。你可以选择是否使用空格(但建议使用空格,有助于提高可读性)。你可以使用“#”字符在文件中的任何位置添加注释,系统会将所有位于注释开头和行结尾之间的内容视为注释,并且忽略这部分内容。常见格式为 <field>:<value><#optional-comment>。系统会忽略行开头和结尾的空格。

<field> 元素不区分大小写。<value> 元素可能会区分大小写,具体取决于 <field> 元素。

我们不支持处理存在轻微错误或拼写错误的 <field> 元素,例如,“user-agent”错写成了“useragent”。

每个抓取工具都可以单独设定文件大小的上限,并忽略超过该上限的内容。Google 目前强制执行的文件大小上限为 500 KiB。 要减小 robots.txt 文件的大小,请将会导致 robots.txt 文件过大的指令整合在一起。例如,将已排除的内容放在一个单独的目录中。

正式语法/定义

这是 Augmented Backus-Naur Form (ABNF) 说明,如 RFC 5234 中所述

robotstxt = *(group / emptyline)
group = startgroupline                    ; We start with a user-agent
        *(startgroupline / emptyline)     ; ... and possibly more user-agents
        *(rule / emptyline)               ; followed by rules relevant for UAs

startgroupline = *WS "user-agent" *WS ":" *WS product-token EOL

rule = *WS ("allow" / "disallow") *WS ":" *WS (path-pattern / empty-pattern) EOL

; parser implementors: add additional lines you need (for example, Sitemaps), and
; be lenient when reading lines that don't conform. Apply Postel's law.

product-token = identifier / "*"
path-pattern = "/" *(UTF8-char-noctl)    ; valid URI path pattern; see 3.2.2
empty-pattern = *WS

identifier = 1*(%x2d / %x41-5a / %x5f / %x61-7a)
comment = "#" *(UTF8-char-noctl / WS / "#")
emptyline = EOL
EOL = *WS [comment] NL         ; end-of-line may have optional trailing comment
NL = %x0D / %x0A / %x0D.0A
WS = %x20 / %x09

; UTF8 derived from RFC3629, but excluding control characters
UTF8-char-noctl = UTF8-1-noctl / UTF8-2 / UTF8-3 / UTF8-4
UTF8-1-noctl    = %x21 / %x22 / %x24-7F  ; excluding control, space, '#'
UTF8-2          = %xC2-DF UTF8-tail
UTF8-3          = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
                  %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
UTF8-4          = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
                  %xF4 %x80-8F 2( UTF8-tail )
UTF8-tail       = %x80-BF

行和规则分组

一个或多个用户代理行,后跟一个或多个规则。如果出现另一个用户代理行或到了文件末尾,就表示组结束。最后一个组可能没有规则,这意味着它暗含的意思是允许所有内容。

示例组:

 

user-agent: a disallow: /c user-agent: b disallow: /d user-agent: e user-agent: f disallow: /g user-agent: h

上面指定了四个不同的组:

“a”为一组

“b”为一组

“e”和“f”为一组

“h”为一组

除最后一个组(组“h”)外,每个组都有自己的组成员行。最后一个组(组“h”)为空。注意:您可以选择使用空格和空白行提高可读性。

用户代理的优先顺序

对于某个抓取工具而言,只有一个组是有效的。抓取工具必须查找用户代理最具体且依然匹配的组,从而确定正确的行组。抓取工具会忽略其他所有组。用户代理区分大小写。所有非匹配文本都会被忽略(例如,googlebot/1.2 和 googlebot* 均等同于 googlebot)。这与 robots.txt 文件中的组顺序无关。

如果为特定用户代理声明多个组,则这些组中适用于该特定用户代理的所有规则会合并在一起。

示例

示例 1

以下面的 robots.txt 文件为例:

user-agent: googlebot-news (group 1) user-agent: * (group 2) user-agent: googlebot (group 3)

 

以下为抓取工具选择相关组的方法:

每个抓取工具追踪的组
Googlebot 新闻 追踪的组是组 1。仅追踪最具体的组,而忽略其他所有组。
Googlebot(网络) 追踪的组是组 3。
Googlebot 图片 采用的组是组 3。没有具体的 googlebot-images 组,因此将采用更宽泛的组。
Googlebot 新闻(抓取图片时) 采用的组是组 1。这些图片由“Googlebot 新闻”抓取和使用,因此将只采用“Googlebot 新闻”组。
其他机器人(网页) 追踪的组是组 2。
其他机器人(新闻) 追踪的组是组 2。即使有相关抓取工具的对应条目,也只有在明确匹配时才会有效。

示例 2

以下面的 robots.txt 文件为例:

user-agent: googlebot-news disallow: /fish user-agent: * disallow: /carrots user-agent: googlebot-news disallow: /shrimp

下面说明了抓取工具如何合并与特定用户代理相关的组:

user-agent: googlebot-news disallow: /fish disallow: /shrimp user-agent: * disallow: /carrots

另请参阅 Google 的抓取工具和用户代理字符串。

组成员规则

本部分只介绍标准的组成员规则。对于抓取工具,这些规则也称为“指令”。这些指令以 directive: [path] 的形式指定,其中 [path] 可以选择性使用。默认情况下,指定的抓取工具没有抓取限制。没有 [path] 的指令会被忽略。

如果指定了 [path] 值,该路径值将被视作 robots.txt 文件抓取网站的根目录的相对路径(使用相同的协议、端口号、主机和域名)。路径值必须以“/”开头,表示根目录。路径区分大小写。有关详情,请参阅下面的“基于路径值的网址匹配”部分。

disallow

disallow 指令指定相应抓取工具不能访问的路径。如果没有指定路径,该指令将被忽略。

用法:

disallow: [path]

allow

allow 指令指定相应抓取工具可以访问的路径。如果没有指定路径,该指令将被忽略。

用法:

allow: [path]

基于路径值的网址匹配

以路径值为基础确定某项规则是否适用于网站上的特定网址。不使用通配符时,路径可以用于匹配网址的开头,以及匹配以相同路径开头的任何有效网址的开头。路径中的非 7 位 ASCII 字符可以按照 RFC 3986 作为 UTF-8 字符或百分号转义的 UTF-8 编码字符纳入。

对于路径值,Google、Bing 和其他主流搜索引擎支持有限形式的“通配符”。这些通配符包括:

* 表示任何有效字符的 0 个或多个个案。

$ 表示网址结束。

路径匹配示例
/ 匹配根目录以及任何下级网址
/* 等同于 /。结尾的通配符会被忽略。
/fish 匹配项:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

不匹配项:

  • /Fish.asp
  • /catfish
  • /?id=fish
注意:比对时区分大小写。
/fish* 等同于 /fish。结尾的通配符会被忽略。

匹配项:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

不匹配项:

  • /Fish.asp
  • /catfish
  • /?id=fish
/fish/ 结尾的斜杠表示此项与此文件夹中的任何内容均匹配。

匹配项:

/fish/

/fish/?id=anything

/fish/salmon.htm

不匹配项:

/fish

/fish.html

/Fish/Salmon.asp

/*.php 匹配项:

/filename.php

/folder/filename.php

/folder/filename.php?parameters

/folder/any.php.file.html

/filename.php/

不匹配项:

/(即使其映射到 /index.php)

/windows.PHP

/*.php$ 匹配项:

/filename.php

/folder/filename.php

不匹配项:

/filename.php?parameters

/filename.php/

/filename.php5

/windows.PHP

/fish*.php 匹配项:

/fish.php

/fishheads/catfish.php?parameters

不匹配项:/Fish.PHP

Google 支持的非组成员行

按照 sitemaps.org 的定义,Google、Bing 和其他主流搜索引擎支持 sitemap。

用法:

 

sitemap: [absoluteURL]

[absoluteURL] 指向站点地图、站点地图索引文件或等效网址。 网址不需要与 robots.txt 文件位于同一主机上。 sitemap 条目可以有多个。作为非组成员行,它们不依赖于任何特定的用户代理,只要未加禁止,所有抓取工具都可以追踪它们。

组成员行的优先顺序

在组成员一级,尤其是对于 allow 和 disallow 指令,最具体的规则优先级最高;根据 [path] 条目的长度,长度越短,越不具体。如果规则(包括使用通配符的规则)存在冲突,系统将使用限制性最弱的规则。

示例情况
http://example.com/page allow: /p

disallow: /

认定结果:allow

http://example.com/folder/page allow: /folder

disallow: /folder

认定结果:allow

http://example.com/page.htm allow: /page

disallow: /*.htm

认定结果:undefined

http://example.com/ allow: /$

disallow: /

认定结果:allow

http://example.com/page.htm allow: /$

disallow: /

认定结果:disallow

测试 robots.txt 标记

Google 提供了两种测试 robots.txt 标记的选项:

  1. Search Console 中的 robots.txt 测试工具。
  2. Google 的开源 robots.txt 库(也用在 Google 搜索中)。
分享这篇文章 :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
更新 2024年1月17日

暂无评论

再想想
暂无评论...
文档目录
  • 摘要
  • 具体变化
  • 基本定义
  • 适用性
  • 文件位置和有效范围
  • 有效 robots.txt 网址的示例
SEO算法教程

Copyright © 2021 SEO工具导航 粤ICP备15089945号-7 粤公网安备 44098102441079号

  
常用
搜索
工具
社区
生活
    热门推荐: