Robots.txt 编写规范:语法规则与配置实例解析

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

Robots.txt 是网站管理者用来引导搜索引擎爬虫抓取行为的标准文件,它直接决定了哪些页面能被搜索引擎收录、哪些资源能节省带宽。合理设置这份文件,既能保护敏感目录不被索引,又能让爬虫把精力集中在高质量内容上。下面从基础语法到实际应用场景,带你逐步掌握正确的配置方法。

1. 基础语法与文件放置规则

这个纯文本文件必须存放在网站根目录下,比如 https://yourdomain.com/robots.txt。文件内部由若干条指令组成,每条指令以 User-agent 开头,后面紧跟对应的 Allow 或 Disallow 规则,用来定义特定爬虫的访问权限。

核心指令说明:

一个最基础的开放配置示例如下:

User-agent: * Disallow: Sitemap: https://yourdomain.com/sitemap.xml

上述代码的含义是:允许所有爬虫抓取整个站点,同时告知地图文件位置。需要注意的是,这个文件本身对爬虫来说只是一个建议协议,并非强制命令,但仍应认真对待。

2. 常见应用场景的配置方法

不同的业务需求对应不同的配置策略,下面列举三种典型的实战场景及其写法,供你直接套用。

2.1 完全屏蔽所有爬虫

当网站处于改版测试阶段,或暂时不想被搜录时,可以使用如下配置阻止所有访问:

User-agent: * Disallow: /

这种写法表示根目录及以下全部路径都不可访问,实现了全站屏蔽。要注意的是,一旦上线后记得删除此规则,否则页面将无法出现在搜索结果中。

2.2 禁止特定目录但保留其他内容可抓取

假设只需要屏蔽后台、购物车或用户中心这类功能目录,而其余页面正常收录,可以这样写:

User-agent: * Disallow: /admin/ Disallow: /cart/ Allow: /

如上配置明确禁止了 admin 和 cart 两个子目录,同时开放根目录。这里有两个关键点:一是 Allow 指令需要放在 Disallow 之后才可能生效,二是如果担心爬虫不识别 Allow,也可以只保留 Disallow 行,这样未被禁止的路径默认是允许访问的。

2.3 针对不同搜索引擎设置差异化规则

有时候不同的爬虫需要不同的访问策略。例如希望 Googlebot 抓取全部资源,但只允许通用爬虫访问页面本身,而不想让它抓取图片和脚本文件:

User-agent: Googlebot Allow: / User-agent: * Disallow: /assets/ Disallow: /images/

这份配置的关键在于段落顺序:必须先把专属爬虫的规则写在前面,通用规则放在后面,搜索引擎会优先匹配与自身名称一致的 User-agent 段落,从而读取对应的指令。

3. 常见错误与避坑提示

编写过程中稍不留意,就容易陷入几个隐蔽的陷阱,影响网站正常收录或泄露隐私文件。

写好文件后,不妨用各类搜索引擎的测试工具检查一下规则是否生效,同时也比照实际目录结构进行复核。

4. 配置示例与调试技巧

为了避免上线后出现意外抓取情况,这里提供一个相对完整的综合配置模板,该模板同时兼顾了网站地图声明与常见目录屏蔽:

User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /private/ Allow: /public/ Sitemap: https://yourdomain.com/sitemap.xml

在实际部署时,建议先在一个测试环境中验证规则效果,再同步到生产服务器。还可以在浏览器中直接输入域名加 /robots.txt 来查看文件是否被正常访问和返回内容,这是最基础也最有效的自查办法。

5. 常见问题

5.1 Robots.txt 能彻底阻止页面被收录吗?

不能完全依赖它。Robots.txt 只是阻止爬虫抓取页面,但如果其他外部网站链接了该页面,搜索引擎仍可能通过网址分析将其索引,只是不展示正文内容。如需彻底不收录,应使用 noindex 标签配合处理。

5.2 Allow 和 Disallow 哪个优先级更高?

对于支持 Allow 指令的爬虫,以更长的匹配路径优先;如果路径长度相同,则按文件中出现的先后顺序判断。Google 遵循最精确匹配原则,因此仅在确有需要时再使用 Allow 做例外放行。

5.3 如何处理多个 Sitemap 文件?

可以直接在 robots.txt 文件中连续写多个 Sitemap 指令,每个写一行,爬虫会依次读取全部地址。不过要注意 Sitemap 只支持输入完整网址,并建议放在文件末尾,便于爬虫集中获取。

6. 总结

写好 Robots.txt 的关键在于明确爬虫分工、规范路径匹配以及控制文件规模。建议先梳理网站的目录结构和不需要收录的区域,再对照本文的示例逐步配置,最后通过线上测试工具验证最优效果,这样既能保障敏感内容安全,又不会妨碍正常收录流量。

图1 图2

nginx