Robots Refresher:robots.txt — 一种控制机器如何探索您的网站的灵活方式

2025 年 3 月 7 日,星期五

robots.txt 是网站所有者长期以来一直在使用的工具,已有 30 多年的使用历史,并且受到抓取工具运营方(例如适用于网站所有者、服务和搜索引擎的工具)的广泛支持。在本期“Robots Refresher”系列文章中,我们将详细了解 robots.txt,您可以灵活运用该文件来告诉漫游器您希望它们在您的网站上执行(或不执行)的操作。

robots.txt 使用入门

这些文件的运作方式很简单:您只需创建一个名为“robots.txt”的文本文件,然后将其上传到您的网站即可。如果您使用的是内容管理系统 (CMS),操作可能会更简单。如果您的整个网站都可供抓取,您可以将 robots.txt 文件留空(或根本不使用该文件),也可以添加规则来管理抓取。例如,如需告知所有漫游器(也称为抓取工具、“蜘蛛”程序)不要抓取您的“添加到购物车”页面,您可以在 robots.txt 文件中写入以下内容:

user-agent: *
disallow: /cart

您可以使用 robots.txt 执行的更具体的操作

robots.txt 文件是一种强大的工具,可用于指明您希望不同的漫游器在您的网站上执行或不执行的操作:它可以只有几行,也可以非常复杂,针对非常具体的网址格式提供更精细的规则。您可以使用 robots.txt 文件来解决技术问题(例如不必要的分页网页),也可以出于编辑或个人原因(例如不想让某些内容被抓取)使用 robots.txt 文件。例如,您可以:

将同一规则告知多个(但非所有)漫游器

此组会告知 examplebototherbot 避开 /search 路径。

user-agent: examplebot
user-agent: otherbot
disallow: /search

告知一个漫游器避开包含特定文字的路径

例如,您可以告知 documentsbot 不要抓取名称中包含“.pdf”的任何文件。

user-agent: documentsbot
disallow: *.pdf

告知漫游器可以抓取您的博客,但不能抓取草稿

user-agent: documentsbot
allow: /blog/
disallow: /blog/drafts/

阻止某个抓取工具访问您网站的某些部分,同时允许其他抓取工具访问您的网站

此 robots.txt 文件禁止上述 aicorp-trainer-bot 访问首页以外的任何内容,同时允许其他抓取工具(例如搜索引擎)访问整个网站。

user-agent: *
allow: /

user-agent: aicorp-trainer-bot
disallow: /
allow: /$

为未来的自己留言

您可以用 # 作为一行的开头,提醒自己为何将某条规则放在这里。

# I don't want bots in my highschool photos
user-agent: *
disallow: /photos/highschool/

如需了解更多信息,请查看实用 robots.txt 规则列表

实际更改 robots.txt 文件

robots 协议 (REP) 通过组合规则(“allow”或“disallow”)并指定这些规则适用于哪些漫游器来发挥作用。您无需学习编程或使用工具,只需将这些规则放入文本文件中,然后将其上传到您的网站即可。

对于大多数网站,甚至比这还要简单!如果您使用的是 CMS,其中通常会内置一些功能来帮助您更改 robots.txt 文件。例如,某些 CMS 允许您使用复选框或简单的表单来自定义 robots.txt 文件,并且许多 CMS 都具有插件,可帮助您为 robots.txt 文件设置和编写规则。如需了解在您的 CMS 中可执行的操作,您可以搜索以下内容:CMS 的名称 +“修改 robots.txt 文件”。

设置完毕后,您还可以进行测试,确保文件的设置符合您的预期。网络社区构建了许多测试工具来提供这方面的帮助,例如 TametheBot 的 robots.txt 测试工具和此 robots.txt 解析器,它们都使用了开源 robots.txt 解析器库

如果您对 robots.txt 有任何疑问,可以通过 LinkedIn 与我们联系,或在我们的社区论坛中与志同道合的专家聊天。


查看漫游器知识回顾系列的其他文章: