Robots.txt设置指南:语法、常见规则与配置避坑要点

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

Robots.txt是网站与搜索引擎爬虫之间的通信协议,用于告知爬虫哪些页面可以抓取、哪些不应访问。正确配置该文件可帮助搜索引擎更高效地索引网站内容,同时避免隐私或重复页面被抓取。本文整理其核心语法、配置方法及常见问题的应对策略。

1. Robots.txt的核心语法

Robots.txt文件必须放置于网站根目录(如 https://example.com/robots.txt),使用纯UTF-8文本格式。每条指令由“User-agent”和若干“Allow”或“Disallow”字段组成。

常见语法规则:

每条指令独占一行,冒号后须加一个空格。建议使用井号添加注释以说明规则意图。

2. 常见配置场景与写法

2.1 禁止抓取整个网站

用于开发环境或临时屏蔽:

User-agent: *
Disallow: /

2.2 仅禁止特定目录

阻止爬虫访问隐私或系统目录:

User-agent: *
Disallow: /admin/
Disallow: /private/

2.3 允许抓取某文件,同时禁止父目录

精细控制可借助Allow覆盖Disallow:

User-agent: *
Disallow: /private/
Allow: /private/public-page.html

注意:爬虫读取顺序由上至下,Allow通常置于Disallow之后以确保优先级。

2.4 为不同爬虫设置不同规则

对Googlebot开放,却限制Bingbot:

User-agent: Googlebot
Disallow: /temp/

User-agent: Bingbot
Disallow: /

3. 配置注意事项与避坑指南

许多站长因对规则理解偏差导致网站被意外屏蔽。以下常见错误需要避免:

4. 测试与生效验证

完成修改后,需要通过浏览器或工具确认爬虫所见的文件内容:

  1. 在浏览器地址栏直接访问 https://你的域名/robots.txt ,查看文件是否返回纯文本。
  2. 使用Google Search Console的“robots.txt 测试工具”模拟指定爬虫的读取结果。
  3. 检查服务器响应头是否返回200 OK,若返回404或301,可能是文件路径或重定向错误。
  4. 观察搜索引擎索引情况:若屏蔽了本应公开的页面,需修正规则并等爬虫刷新缓存。

5. 常见问题

5.1 Q1:修改robots.txt后,已收录的页面会立即被清除吗?

不会立即清除。robots.txt仅控制爬虫未来的抓取行为,不直接影响已有索引。若希望已收录页面被移除,需在服务器返回404或410状态码,或使用noindex元标记。

5.2 Q2:如何在不暴露网站内部结构的前提下屏蔽目录?

Disallow规则仅指明路径前缀,不会暴露具体文件列表。但用户仍可猜测目录名。对高度敏感内容,应结合服务器端认证(如密码保护)而非仅依赖robots.txt。

5.3 Q3:多个User-agent规则冲突时以哪个为准?

爬虫会选择最匹配自身名称的User-agent组。若全名匹配(如Googlebot),则忽略通配符组。若未匹配全名,则使用User-agent: *的规则。组内多条规则将按Allow优于Disallow、具体路径优于通配路径的顺序处理。

6. 结语

合理配置robots.txt能有效引导搜索引擎爬虫,提升抓取效率,同时保护敏感资源不被公开索引。建议在每次改动后使用官方测试工具验证,并记录修改日期与意图。将robots.txt视为网站优化流程中的一环,而非单独的设置项,才能真正发挥其价值。

图1 图2

nginx