robots.txt 写法指南:语法要点与常见误区解析

📍 WDQWDWQD987AAAAA:216.73.217.116
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /05b2d9d1bfa7.html
📄

robots.txt 是放在网站根目录的一个纯文本文件,虽不起眼,却能协调搜索引擎爬虫的抓取路径。它告诉爬虫哪些内容可以访问、哪些应绕开。设置得当,可以提升抓取效率,帮助新内容更快被发现;设置不当,则可能让页面无法被收录,甚至牵连整站权重。以下内容将说明其语法结构,并梳理容易踩中的坑。

1. 先明确它的定位:一份建议,而非强制命令

robots.txt 一般放置在站点根目录,通过域名加上 /robots.txt 即可查看,例如 https://example.com/robots.txt。它的角色更像向导,为爬虫指明可访问的范围。但它无法决定页面是否出现在搜索结果中。如果真想阻止某个页面被索引,应该在页面代码中加入 noindex 标签。robots.txt 管理的是抓取动作,而 noindex 控制的是索引结果,将两者混为一谈是常见误区。

同时要清楚,这份文件只对遵守规则的搜索引擎爬虫有效。对恶意采集脚本或不规范的网络程序,它没有任何约束力。涉及用户隐私、支付功能或核心数据的目录,必须依赖登录验证、IP 白名单等更严格的手段,不能指望靠 robots.txt 提供保护。

2. 语法基础:核心字段与匹配逻辑

robots.txt 由若干规则组构成,每组以一条 User-agent 开头。书写格式为“字段: 值”,建议冒号后加一个空格,字段名统一使用小写,可减少不同解析器之间的兼容问题。

2.1 User-agent 指明规则归属

User-agent 用于标明该组规则适用的对象。例如 User-agent: Googlebot 表示该规则只对谷歌爬虫生效;User-agent: * 则表示适用于所有搜索引擎爬虫。一个文件中可以有多组规则,分别针对不同爬虫设定抓取策略,灵活性较强。

2.2 Allow 与 Disallow 的优先级处理

Disallow 用于声明禁止抓取的路径,Allow 则声明允许抓取的路径。需要留意的是,若 Disallow 后不填任何路径,代表解除所有限制,允许爬虫访问全站。当某条链接同时命中 Allow 和 Disallow 规则时,搜索引擎遵循“最长匹配优先”的逻辑,路径更长的那条规则生效。例如同时存在 Disallow: /api/ 和 Allow: /api/public/,后者的路径更长,因此 /api/public/ 下的内容可以被抓取。

2.3 Sitemap 与 Crawl-delay 的辅助功能

Sitemap 指令用于告诉爬虫站点地图的具体地址,从而加快新链接的发现速度,减少爬虫自行探测的时间。

Crawl-delay 字段用来设定两次抓取请求之间的等待时间,单位为秒,适合服务器性能有限的站点。但并非所有搜索引擎都会读取这一字段,部分爬虫会直接忽略,因此不能完全依赖此参数来调节压力。

3. 常见配置场景与参考写法

根据不同的网站类型和实际需求,可参考以下几种配置方式:

  1. 若后台管理地址为 /backend/,希望减少该目录被爬虫探测的风险,可在规则组中写入 Disallow: /backend/。
  2. 如果临时目录 /temp/ 下的文件无需被抓取,使用 Disallow: /temp/ 即可。配合 Allow 可以单独开放其中某个文件,例如 Allow: /temp/important.pdf。
  3. 站点地图文件若位于 https://example.com/sitemap.xml,可在文件底部添加 Sitemap: https://example.com/sitemap.xml,方便爬虫快速定位。

4. 容易忽视的陷阱与注意事项

配置 robots.txt 的常见问题多集中在细节上,掌握以下几点可避免踩坑:

5. 常见问题

5.1 robots.txt 能否阻止页面被收录?

不能。它的作用是阻止爬虫抓取,但不等于阻止索引。若页面已被其他来源引用,仍可能出现在搜索结果中。彻底屏蔽索引需配合 noindex 标签使用。

5.2 如何验证 robots.txt 的书写是否正确?

可以借助搜索引擎站长工具中的 robots.txt 测试功能,查看各条规则对指定链接的实际匹配结果,同时留意是否出现语法报错提示。

5.3 全站禁止抓取怎么写?

使用 Disallow: / 即可禁止所有爬虫访问整站。这种写法适用于开发测试环境,不建议直接用于正式线上站点。

6. 结语

robots.txt 是网站与搜索引擎沟通的基础手段,重视语法细节和优先级规则,能有效避免抓取异常。建议在每次修改后主动检查文件内容,并结合抓取日志观察实际效果,在必要时再将抓取策略与 noindex 等索引层手段配合使用,才能真正做好站点治理。

图1 图2

nginx