什么是 robots.txt 文件?
robots.txt 文件,也称为 robots txt 文件(无点格式),是放置在网站服务器上的一个简单文本文件。它告诉网络机器人(蜘蛛、爬虫或机器人)哪些页面或文件可以访问,哪些不可以访问。该文件控制搜索引擎蜘蛛及其他网站爬虫机器人的行为。
网站管理员使用 robots.txt 文件来阻止搜索引擎索引网站的某些页面或部分内容。他们还可以使用此文件阻止机器人访问敏感或机密信息,例如登录页面或管理面板。通过使用 robots.txt,网站所有者可以防止机器人访问他们不希望被搜索引擎索引的特定网页。
- robots.txt 文件的目的是什么?
- robots.txt 的常见用途
- 如何使用 robots.txt?
- robots.txt 放在哪里?
- 允许所有网络爬虫访问所有内容
- 阻止机器人和搜索引擎爬取
- 阻止特定网络爬虫访问特定网页
- 关于 robots.txt 必须了解的事项
- 如何检查是否有 robots.txt 文件
- 谷歌和必应网络
- 总结
robots.txt 文件的目的是什么?
当搜索引擎爬取(访问)您的网站时,首先寻找的是您的 robots.txt 文件。该文件告诉搜索引擎哪些内容应当被索引(保存并作为搜索结果向公众展示),哪些不应被索引。它还可能指明您的 XML 网站地图的位置。然后,搜索引擎会派出其“机器人”或“蜘蛛”按照 robots.txt 文件中的指示爬取您的网站(如果文件中禁止,则不会派出)。
谷歌的机器人称为 Googlebot,微软必应的机器人称为 Bingbot。像 Excite、Lycos、Alexa 和 Ask Jeeves 等许多其他搜索引擎也有自己的机器人。大多数机器人来自搜索引擎,但有时其他网站也会出于各种原因派出机器人。例如,有些网站可能要求您在网站上放置代码以验证您拥有该网站,然后它们会派出机器人检查您是否放置了代码。
请记住,robots.txt 就像一个“禁止入内”标志。它告诉机器人您是否希望它们爬取您的网站,但并不阻止访问。守规矩且合法的机器人会遵守您的指令,决定是否访问。恶意机器人可能会忽略 robots.txt 文件。
有关更多信息,请访问谷歌关于 robots.txt 文件的官方立场。
robots.txt 的常见用途
robots.txt 文件是网站根目录中的一个基础文件,主要用于与网络爬虫和其他网络机器人通信。它提供了关于网站哪些区域不应被这些机器人处理或扫描的指令。以下是 robots.txt 文件的常见用途:
- 控制爬虫访问。告诉搜索引擎机器人哪些页面或网站部分不应被爬取。这可以防止搜索引擎索引某些页面,如管理页面、私密区域或重复内容,这些内容您不希望出现在搜索结果中。
- 防止资源过载。通过限制爬虫访问资源消耗大的页面,robots.txt 可以帮助防止网站服务器过载。对于资源有限、无法同时处理大量机器人和正常用户流量的网站,这非常有用。
- 保护敏感信息。虽然不是万无一失的安全措施,但 robots.txt 可以请求机器人避免索引敏感目录或文件。需要注意的是,这不应作为保护敏感信息的唯一手段,因为并非所有机器人都会遵守 robots.txt 的指令。
- 管理爬取预算。对于大型网站,robots.txt 可以通过引导搜索引擎机器人远离低优先级页面来管理爬取预算。这确保重要页面能更有效地被爬取和索引,从而提升网站在搜索结果中的可见性。
- 指定网站地图位置。您可以使用 robots.txt 指定 XML 网站地图的位置。这使搜索引擎更容易发现和索引网站页面,有助于提升 SEO 效果。
- 阻止不受欢迎的机器人。虽然信誉良好的搜索引擎机器人会遵守 robots.txt 指令,但该文件也可用于阻止已知的不受欢迎机器人,如数据抓取器或恶意机器人访问网站。但由于遵守是自愿的,并非所有机器人都会遵守这些请求。
- 实验和测试。开发人员和 SEO 专业人员可能会使用 robots.txt 临时阻止搜索引擎索引网站正在建设中的区域或新功能,直到它们准备好公开展示和索引。
如何使用 robots.txt?
使用 robots.txt 文件,您需要遵循以下基本步骤:
- 使用文本编辑器或记事本创建一个名为 robots.txt 的纯文本文件。
- 在文件中输入给网络机器人的指令。
- 将文件保存为 robots.txt。
- 使用 FTP 客户端或 cPanel 文件管理器将文件上传到网站的根目录。
- 使用 Google Search Console 中的 robots.txt 测试工具 测试文件,确保其正常工作。
robots.txt 文件中可以包含多种指令或命令,例如 User-agent、Disallow、Allow、Crawl-delay 和 Sitemap。
- User-agent 指令:指定该指令适用于哪个机器人。
- Disallow 指令:用于排除机器人索引某些页面或目录。
- Allow 指令:告知机器人允许索引哪些页面或目录。
- Crawl-delay:指示爬虫在加载和爬取页面内容前应等待多少秒。注意,Googlebot 不承认此命令,但可以在 Google Search Console 中设置爬取速率。
- Sitemap:用于指定与该 URL 相关联的 XML 网站地图的位置。
需要注意的是,虽然 robots.txt 文件可以帮助控制哪些页面被网络机器人索引,但不能保证这些页面不会出现在搜索结果中。搜索引擎可能会忽略 robots.txt 文件,仍然索引这些页面。
robots.txt 放在哪里?
robots.txt 文件应放置在您的文档根目录中。您可以创建一个空白文件并命名为 robots.txt。这样可以减少网站错误,并允许所有搜索引擎爬取您希望的内容。
允许所有网络爬虫访问所有内容
要允许所有网络爬虫完全访问您的网站,可以使用以下配置:
User-agent: *
Disallow:
该配置表示所有机器人都被允许爬取整个网站,因为 Disallow 指令为空。
阻止机器人和搜索引擎爬取
如果您想阻止机器人访问您的网站,并阻止搜索引擎对您进行排名,请使用以下代码:
# 不允许任何搜索引擎访问的代码!
User-agent: *
Disallow: /
您也可以阻止机器人爬取网站的部分区域,同时允许它们爬取其他部分。以下示例请求搜索引擎和机器人不要爬取网站中的 cgi-bin 文件夹、tmp 文件夹、junk 文件夹及这些文件夹中的所有内容:
# 阻止机器人访问特定文件夹/目录
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
在上述示例中,http://www.yoursitesdomain.com/junk/index.html 会被阻止访问,而 http://www.yoursitesdomain.com/index.html 和 http://www.yoursitesdomain.com/someotherfolder/ 则可以被爬取。
阻止特定网络爬虫访问特定网页
此配置仅告诉谷歌的爬虫(Googlebot)不要爬取包含 URL 字符串 www.example.com/example-subfolder/ 的任何页面。
User-agent: Googlebot
Disallow: /example-subfolder/
注: 源文档中此处代码示例有重复的 “User-agent” 字段,已在此处修正为正确格式。
注意: robots.txt 就像一个禁止入内的标志。它告诉机器人您是否希望它们爬取您的网站,但并不阻止访问。守规矩且合法的机器人会遵守您的指令,决定是否访问。恶意机器人可能会忽略 robots.txt。如下文所述,您必须使用 Bingbot 和 Googlebot 的站长工具,因为它们不会尊重 robots.txt 文件。
关于 robots.txt 必须了解的事项
在处理 robots.txt 文件时,有几个关键点您需要了解,以有效使用 robots.txt 并避免常见错误。以下是您应了解的关于 robots.txt 的内容:
- 正确放置。robots.txt 文件必须放在根目录(例如 https://www.example.com/robots.txt),以便爬虫能找到并遵守其指令。
- 自愿遵守。并非所有机器人都会遵守 robots.txt 指令,尤其是恶意机器人。该协议基于合作而非强制执行。
- 非安全措施。robots.txt 是公开可见的,不应用于保护敏感数据。应使用身份验证方法保护网站上的私密信息。
- 语法准确。语法错误可能导致爬取行为异常,因此必须遵循正确格式,并注意指令区分大小写。
- 选择性访问。您可以指定允许或禁止哪些机器人访问网站的部分内容,从而精细控制机器人流量。
- 删除索引内容需用 noindex。robots.txt 无法有效删除已被索引的内容。应使用带有 noindex 的元标签或搜索引擎提供的内容删除工具。
- 定期检查。应定期检查 robots.txt 文件,确保其与网站结构和内容策略的变化保持一致,从而准确反映您当前的爬取偏好。
如何检查是否有 robots.txt 文件
只需在网站根域名后添加 /robots.txt 即可。例如,如果您的网站 URL 是 **https://www.example.com**,则检查 URL 为 **https://www.example.com/robots.txt**。
如果没有显示 .txt 文件,则表示您当前没有有效的 robots.txt 页面。
谷歌和必应网络
您可以创建谷歌和必应网络站长账号,并为您的域配置较低的爬取延迟。请阅读谷歌关于 robots.txt 文件的官方立场。您必须使用谷歌站长工具来设置 Googlebot 的大多数参数。
重要提示: Googlebot 和必应机器人网络不遵守标准 robots.txt 文件,限制这些机器人的爬取速率必须直接通过谷歌/必应进行设置。
我们仍然建议配置 robots.txt 文件。这将减少爬虫发起请求的频率,降低系统资源消耗,从而允许更多合法流量访问。
如果您想减少 Yandex 或百度等爬虫的流量,通常需要通过 .htaccess 阻止。
有关这些主题的更多详细信息,请参考以下链接:
- 了解如何更改谷歌的爬取速率
- 了解如何更改微软的爬取速率
请求谷歌重新爬取您的 URL
如果您对网站上的某个页面进行了更改或更新,可以请求谷歌重新索引该页面,以确保其最新版本反映在搜索结果中。但您只能请求索引您拥有或管理的 URL。这意味着如果 URL 属于其他网站,或是您无权访问的页面,则无法请求重新索引。
爬取可能需要几天到几周时间。请耐心等待,并使用索引状态报告或 URL 检查工具监控进展。
注意: 请求爬取并不保证搜索结果会立即更新。我们的系统优先快速收录高质量、有用的内容。
重要提示: Googlebot 和必应机器人网络不遵守标准 robots.txt 文件,限制这些机器人的爬取速率必须直接通过谷歌/必应进行设置。
使用 URL 检查工具(仅限少量 URL)
要使用 URL 检查工具,您需要是该网站 Search Console 属性的所有者或完全用户。但需要注意的是,提交 URL 有配额限制,您只能同时请求部分页面的索引。此外,多次请求同一 URL 的重新爬取并不会加快爬取速度。
提交网站地图(一次提交多个 URL)
如果您的网站有大量 URL,建议向谷歌提交网站地图。网站地图是一个列出您希望谷歌索引的所有 URL 的文件。它特别适用于新建网站、最近迁移网站或谷歌难以通过常规爬取发现的页面。网站地图还可以提供有关网站的额外元数据,如备用语言版本、视频、图片或新闻专用页面的信息。这有助于谷歌更好地理解网站结构和内容,从而为用户提供更准确、相关的搜索结果。了解如何创建和提交网站地图。
总结
网站管理员使用 robots.txt 文件来阻止搜索引擎索引网站的特定页面或部分内容。此外,该文件还用于限制机器人访问敏感或机密信息,如登录页面或管理面板。使用 robots.txt 文件可以让网站所有者控制哪些页面被搜索引擎索引,哪些不被索引。
然而,需要注意的是,robots.txt 并不是防止访问敏感信息的安全方法。由于 robots.txt 是公开可访问的文件,恶意人员可以轻易找到并读取它。因此,不应使用 robots.txt 来保护机密信息或防止未经授权访问受限网站区域。
总体而言,学习如何使用 robots.txt 文件是网站所有者管理搜索引擎和其他机器人如何与其网站交互的重要工具。通过使用该文件,他们可以确保网站按照预期被爬取和索引,同时保护敏感信息的安全。