什么是 Robots.txt:定义、重要性和示例
已发表: 2022-07-11您可能听说过 Google 会抓取我们的网站和 Internet 上的页面,然后将它们显示在他们的搜索结果页面上。
好吧,robots.txt 告诉 Google 哪些网站遵循他们的算法,哪些没有。 在本指南中,我们分享了您需要了解的有关 robots.txt、示例及其工作原理的所有信息。
什么是 Robots.txt?
Robots.txt 是网站管理员的文本文件,用于指导网络机器人(通常是搜索引擎机器人)抓取其域中的页面。 换句话说,robots.txt 文件是一组机器人指令。
Robots.txt 包含在大多数网站的源代码中。
robots.txt 文件是机器人排除协议 (REP) 的一部分。 它定义了机器人如何抓取网页、查找和索引内容,并将该信息提供给需要它的人。
Robots.txt 帮助搜索引擎机器人了解他们应该在您的网站上抓取哪些 URL。
为什么 Robots.txt 很重要?
如何.txt 可以帮助您主要有三个原因:
- 最大化抓取预算:抓取预算是谷歌机器人在一个时间范围内索引的页面数量。 Robots.txt 可以帮助阻止不重要或重复的内容页面,并且只关注对您很重要的页面,从而最大限度地提高抓取预算并提高可见性。
- 避免资源索引:Robots.txt 可以索引或取消索引资源,例如 PDF 或图像。 因此,可以使用 noindex 或受密码保护的页面来阻止页面或资源。 您可以使用 Google 搜索控制台检查已编入索引的页面,并查看机器人是否会抓取您要编入索引的页面。
- 阻止不重要的页面:您网站上的某些页面不希望在 Google 搜索结果中显示。 这些可能是登录页面或您网站的暂存/测试版本。 使用 robots.txt,您可以屏蔽这些页面并只关注重要的页面。
Robots.txt 示例
robots.txt 的一些示例是:
用户代理:Googlebot
禁止:/nogooglebot/
用户代理: *
允许: /
站点地图:http://www.example.com/sitemap.xml
同样,对于 Bing 搜索引擎,它是:
用户代理:Bingbot
禁止:/example-subfolder/blocked-page.html
语法帮助爬虫避免对某个页面的爬取。
值得注意的是,每个子域都需要自己的 robots.txt 文件。
例如,虽然 www.cloudflare.com 有自己的文件,但所有 Cloudflare 子域(blog.cloudflare.com、community.cloudflare.com 等)也需要自己的文件。
Robots.txt 文件如何工作?
robots.txt 文件可用于实现多种搜索引擎优化 (SEO) 技术,例如未编入索引的页面或 robots txt 不允许机器人程序访问网站的所有或特定部分。
该标准对于希望防止蜘蛛通过自动过程(例如使用自动网络爬虫的搜索和页面排名软件)索引其内容的网站特别有价值。
robots.txt 是没有 HTML 标记代码的文件。 它托管在网络服务器上,就像您网站上的其他文件一样。
可以通过输入主页 URL 后跟 /robots.txt 来访问它。 一个一般的例子是 https://www.xyz.com/robots.txt。
由于该文件未链接到站点上的其他任何位置,因此访问者不太可能遇到它,但大多数网络爬虫机器人会在索引站点的其余部分之前查找它。
一个好的机器人,例如谷歌爬虫或新闻提要机器人,会先阅读 robots.txt 文件,然后再检查网站上的任何其他页面并遵守说明。
恶意机器人将忽略或处理 robots.txt 文件以查找被禁止的网页。
Robots.txt 阻止
Robots.txt 包含指令,用于通知机器人在由 Googlebot 索引的其他可搜索网站上的任何阻止规则,这些规则旨在阻止爬虫访问包含某些内容的页面。
它不会影响只浏览网站而不抓取它们的普通用户或机器人。
随着时间的推移,网站已经使用这种方法阻止了移动应用程序、JavaScript 和他们网站的其他部分,同时仍然允许一些元素,如图像。
Robots.txt 文件中使用了哪些协议?
协议是一种在网络中传输指令或命令的格式。 Robots.txt 文件采用多种协议。 主要协议称为机器人排除协议。
它指示机器人避开哪些网站和资源。
站点地图协议是用于 robots.txt 文件的另一种协议。 这可以被认为是机器人包含的协议。
站点地图通知网络爬虫他们可以访问哪些页面。 这有助于确保爬虫机器人不会忽略任何关键页面。
什么是站点地图?
站点地图是一个 XML 文件,描述了网络爬虫用来显示您网站页面的信息。 站点地图列出了您网站上的所有 URL,包括它们的标题和描述,以及其他相关信息。
本文档帮助搜索引擎正确索引这些项目,以便访问者可以使用搜索引擎或其他导航系统快速找到它们。
什么是用户代理?
用户代理 user-agent: *disallow: /nogooglebot/ user-agent user-agent: Googlebot
禁止所有 robots.txt 规则,无论用户代理如何。 这将阻止任何网络爬虫访问您的网站。 这最常用于对隐私问题敏感的网站(因此不希望其用户的数据暴露)。
常见的搜索引擎机器人用户代理名称包括:
谷歌:
- 谷歌机器人
- Googlebot-Image(用于图像)
- Googlebot-新闻(新闻)
- Googlebot-Video(用于视频)
必应:
- 兵机器人
- MSNBot-Media(用于图像和视频)
百度:
- 百度蜘蛛
什么是 .txt 文件?
TXT 是许多文本编辑器支持的文本文件扩展名。
文本文件没有这样的静态定义,但有几种流行的格式,包括 ASCII(一种跨平台格式)和 ANSI(用于 DOS 和 Windows 平台)。 TXT 是 TeXT 的缩写。 Text/plain 是 MIME 类型。
在文本文件 robots.txt 中,每个规则都指定了一种 URL 模式,所有爬虫或指定爬虫都可以访问这些 URL。
每行应以一个冒号 (:) 开头并包含 1-3 行,忽略空白行。 每一行都被解释为一个文件名,它可以是绝对的或相对于它所在的目录。
Web Robots 是否与 Robots.txt 相同?
一些搜索引擎可能不支持 txt 指令。
robots.txt 文件中的说明无法强制爬虫访问您的网站; 由爬虫跟随它们。 相比之下,Googlebot 和其他知名网络爬虫遵循 robots.txt 文件中的规则。
如何实现 Robots.txt?
robots.txt 文件几乎可以在任何文本编辑器中实现。 例如,记事本、TextEdit、vi 和 emacs 都可能生成合法的 robots.txt 文件。
以下是遵循 robots.txt 的规则:
- 文件名应为 robots.txt。
- robots.txt 文件可用于限制对子域(例如 https://website.example.com/robots.txt)或非标准端口的访问。
- robots.txt 文件必须采用 UTF-8 格式(包括 ASCII)。 Google 可能会拒绝不在 UTF-8 范围内的字符,这可能会使 robots.txt 法规失效。
- robots.txt 文件通常位于应用它的网站主机的根目录中。 要对所有 URL(例如 https://www.example.com/)启用抓取,robots.txt 文件必须位于 https://www.example.com/robots.txt。 它不能放在子目录中(例如,https://example.com/pages/robots.txt)。
Robots.txt 文件的限制
以下是 robots.txt 文件的限制:
- 所有搜索引擎均不支持 Robots.txt:Robots.txt 文件无法强制爬虫访问您的网站; 由爬虫跟随它们。 虽然 Googlebot 和其他值得信赖的网络抓取工具会遵循 robots.txt 文件中的说明,但其他抓取工具可能不会。
- 不同的爬虫对语法的解释不同:虽然信誉良好的网络蜘蛛遵循 robots.txt 文件中的指令,但每个爬虫对指令的解释可能不同。
- 如果不允许的页面链接到其他页面,则可以将其编入索引:虽然 Google 不会抓取 robots.txt 文件限制的内容或将其编入索引,但如果从 Internet 上的其他位置链接到不允许的 URL,它可能会找到并将其编入索引。
因此,URL 地址和其他公开可用的信息(例如页面链接中的锚文本)可能仍会出现在 Google 搜索结果中。
常问问题
Q1。 robots.txt 在网站上的什么位置?
答:robots.txt 文件通常放置在您网站的根目录中,但它可以位于您网站上您想要限制访问的任何位置。
Q2。 是否需要 robots.txt 文件?
答:简短的回答是否定的。 网站不需要 robots.txt 文件。 如果机器人访问您的网站并且它没有 robots.txt 文件,它将像往常一样抓取和索引页面。 仅当您想要更好地控制抓取的内容时,才需要 .txt 文件。
Q3。 robots.txt 安全吗?
回答:robots.txt 文件本身并没有安全风险,正确使用它可以代表非安全原因的良好做法。 您不应期望所有网络机器人都会遵循文件中的说明。
Q4。 访问 robots.txt 是否违法?
答:robots.txt 文件是网站所有者默示的许可。 如果您知道 robots.txt 文件,那么在未经许可的情况下继续抓取他们的网站可能会被视为未经授权的访问或黑客攻击。
Q5。 robots txt 中的抓取延迟是什么?
Ans: crawl-delay 指令是一种告诉爬虫放慢速度的方法,这样网络服务器就不会超载。
结论
Robots.txt 是一个功能强大的简单文件。 如果你知道如何使用它,它可以帮助 SEO。 创建正确类型的 robots.txt 意味着您也在改善您的 SEO 和用户体验。
如果您允许机器人抓取正确的内容,机器人将能够以您希望的方式在 SERP 中呈现您的内容。
如果您愿意了解更多关于 SEO 和重要因素的信息,请查看许多其他 Scalenut 博客。