Robots.txt 配置全攻略:核心语法与常见错误解析

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

Robots.txt 是放在网站根目录下的一个纯文本文件,通过一套约定俗成的指令,告诉搜索引擎爬虫哪些内容可以抓取、哪些路径需要绕开。它并非强制性的访问控制工具,而是依赖爬虫自觉遵守的协议,合理配置能帮爬虫把精力集中在有价值的内容上,同时减轻服务器不必要的负担。

1. Robots.txt 能做什么与不能做什么

爬虫访问一个站点时,第一步往往就是请求根目录下的 robots.txt 文件,从中读取抓取范围和边界。如果找不到这个文件,爬虫会认为站内所有公开内容都可以抓取。

实际应用中,它通常用来处理这些情况:屏蔽后台登录页面、拦截搜索结果页或自动生成的标签聚合页等低质量页面、控制抓取频率以降低服务器压力。需要特别提醒的是,正规搜索引擎会遵守这个协议,但恶意爬虫并不会理会它,因此它绝对不能替代安全防护措施。

2. 语法结构详解与核心指令

Robots.txt 的内容由若干条“记录”组成,每条记录先用 User-agent 声明适用的爬虫对象,再列出具体的指令行。熟悉以下几个核心指令是写好配置的前提:

2.1 份清晰的配置示例

下面是一个结构规范且容易读懂的配置实例:

User-agent: *
Disallow: /cache/
Disallow: /internal/
Allow: /internal/important.html
Sitemap: https://www.example.com/sitemap.xml

这段配置的意思是:所有爬虫都不能访问 cache 目录和 internal 目录,但 internal 里的 important.html 页面被额外放行,同时向爬虫提供了站点地图的地址。

3. 常见配置场景与避坑要点

配置看似简单,但实际操作中常常因为几个细节没把握好而出问题。下面这几个场景值得特别留意:

3.1 常见错误与修正建议

以下几种错误在配置中经常出现,值得逐条对照检查:

4. 其他需要注意的细节

除了核心语法之外,还有几个细节会影响配置效果,实际操作时值得留意:

5. 常见问题

5.1 robots.txt 可以防止他人盗用内容吗?

不能。robots.txt 只对遵守协议的搜索引擎爬虫有效,无法阻止任何人直接访问页面内容。如果担心内容被盗用,应该考虑其他技术手段,比如在服务器层面做访问限制。

5.2 修改 robots.txt 后,已收录的页面会怎样?

修改文件后,被屏蔽的页面不会立即从搜索结果中消失。搜索引擎需要重新抓取 robots.txt 并逐页处理,这个过程可能需要几天甚至更长时间。如果希望加速移除,可以考虑同时使用搜索引擎的站长工具提交移除请求。

5.3 Disallow 和 Allow 同时出现时,规则如何判定?

在同一条记录中,Allow 的优先级高于 Disallow。例如屏蔽了整个目录后,又用 Allow 单独放行某个文件,爬虫会遵循 Allow 的指令。注意这个优先级规则只在同一个 User-agent 记录内有效。

6. 结语

Robots.txt 的配置并不复杂,但细节决定成败。建议在动手之前先梳理清楚站点的目录结构和想要屏蔽的路径清单,写完后逐条核对语法,并借助搜索引擎的抓取测试工具验证效果。正确的配置能帮助爬虫更高效地发现和收录有价值的内容,同时也能避免因误屏蔽导致的关键页面无法被索引。把这份文件当作站点与搜索引擎之间的沟通桥梁,用清晰、明确的规则表达你的意图,会让双方的合作顺畅很多。

图1 图2

nginx