robots.txt 配置实战指南:核心语法与常见踩坑点解析

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

robots.txt 是网站根目录下的一个文本文件,也是搜索引擎爬虫访问站点时最先读取的文件之一。它用于告知爬虫哪些路径可以抓取、哪些路径应被忽略。配置得当,能引导爬虫将抓取额度集中到关键页面,提升整体的抓取和索引效率;配置失误,轻则浪费抓取资源,重则导致整站页面从搜索结果中消失。下面从它的实际作用、核心语法到常见误区,逐一梳理清楚。

1. robots.txt 能做什么,不能做什么

首先要明确它的定位:robots.txt 管理的是爬虫的“抓取”行为,而不是“收录”行为。它只能告诉爬虫“请勿访问这个路径”,但无法阻止其他网站引用你的页面,也无法直接决定页面是否出现在搜索结果中。如果你想让某个页面彻底消失在索引里,应当在页面头部添加 noindex 标签。

同时,这份文件对遵守协议的搜索引擎爬虫有效,但并不能约束恶意采集程序或非正规爬虫。涉及用户隐私、后台管理、临时文件等敏感目录时,必须搭配登录验证、IP 白名单等措施来确保安全,不能把防护希望完全寄托在 robots.txt 上。建议每隔一段时间复查文件内容,确保没有因误写而暴露内部路径。

2. 核心语法详解与书写规范

robots.txt 由若干规则组组成,每组以 User-agent 开头,每条指令的格式均为“字段名: 值”。文件内容建议统一使用小写字母,路径末尾的斜杠代表了根路径下的子目录,书写时要格外留意。

2.1 User-agent:规则作用于哪个爬虫

该字段用于声明规则针对的爬虫对象。例如 User-agent: Googlebot 表示仅对谷歌爬虫生效;而 User-agent: * 表示匹配所有未特别指定的爬虫。你可以在一个文件中同时写多组规则,分别针对不同搜索引擎设定权限。当同一爬虫命中了多个规则组时,多数搜索引擎采用“最长匹配优先”原则,即路径写得更具体的那组规则生效。

2.2 Allow 与 Disallow 的配合逻辑

Disallow 用来声明禁止访问的路径,Allow 则声明允许访问的路径。需要特别注意的是,如果写成 Disallow: 且后面留空,意味着对该爬虫不设任何限制,等同于允许全站抓取。当 Allow 与 Disallow 同时命中同一路径时,遵循“更具体路径优先”的规则予以判断。例如,同时写入 Disallow: /tmp/ 和 Allow: /tmp/public/,后者因路径更长而优先被执行,爬虫仍然可以访问该子目录。

2.3 Sitemap 与 Crawl-delay 的补充作用

Sitemap 指令用于声明网站地图的完整 URL,方便爬虫快速获取内容清单,通常置于文件末尾。Crawl-delay 字段用于指定两次抓取的间隔时间,不过谷歌已公开声明忽略该指令;如需控制谷歌爬虫的抓取频率,应通过 Search Console 后台的“抓取速率”设置来完成。对于 Bing 等仍然支持此指令的搜索引擎,可酌情保留。

3. 典型场景的配置参考

以下是几种常见需求的配置写法,可直接参考后修改为自己的实际路径。

4. 日常维护与避坑要点

配置 robots.txt 时有几处容易出错的地方,值得重点留意。

5. 常见问题

5.1 robots.txt 能阻止页面被搜索引擎收录吗?

不能。它只负责声明“是否允许爬虫抓取”,无法直接控制页面进入索引库。若需阻止某页面出现在搜索结果中,应使用 noindex 标签。值得注意的是,若页面仅通过 robots.txt 被禁止,但已有其他网站引用它的链接,该 URL 仍可能被以无标题或摘要的形式收录。

5.2 Disallow: / 后网站还能恢复抓取吗?

可以。只要将 Disallow: / 改为 Disallow:(或直接删除该行)即可重新开放全站抓取。不过恢复后,爬虫需要重新发现页面,等待一段时间后抓取才会恢复正常。如果连续多日未恢复,可用站长工具的 URL 检查或“请求收录”加快进程。频繁切换屏蔽与开放状态会影响爬虫对站点质量的判断,应尽量避免。

5.3 个文件中可以写多个 User-agent 规则组吗?

可以。例如针对百度爬虫写一组规则,同时针对谷歌爬虫写另一组规则。但要注意,匹配规则遵循“最长匹配优先”,如果同一爬虫命中了多个规则组,最具体的那个组会被采纳;当规则相冲突时,无法保证所有搜索引擎都按同一逻辑处理,因此尽量不要让不同规则组之间路径互相重叠。

6. 总结

robots.txt 虽然简单,却直接影响爬虫对站点的信任度和抓取效率。配置的重点在于:认清它只负责抓取、不负责收录这一边界;正确使用 Disallow 与 Allow 的优先级关系;避免大小写、路径分隔符等低级失误。建议每次修改后都通过站长工具进行验证,确认无误后再正式生效,这样才能让这个基础文件真正辅助站点的长期 SEO 表现。

图1 图2

nginx