Robots.txt 配置指南:语法规则与实用示例解析

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

Robots.txt 是网站与搜索引擎爬虫之间的约定文件,通过它可以明确哪些页面允许被抓取、哪些应当被屏蔽。合理配置 robots.txt 能够保护后台隐私、降低服务器负载,并让爬虫优先抓取对 SEO 更重要的内容。以下将系统梳理其语法结构,并结合典型场景给出可直接套用的配置模板。

1. 核心语法与文件基础结构

该文件必须存放于网站域名根目录下,如 https://example.com/robots.txt。文件内容由若干指令块组成,每个指令块以 User-agent 声明开头,后跟若干规则行。

常用指令含义如下:

一个最简单的全站放行配置示例:

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

上述配置表明所有爬虫均可抓取全部路径,并附加了地图地址以供参考。

2. 高频场景的规则配置模板

根据实际业务需求,需要针对不同目录、不同爬虫制定差异化的抓取策略。以下罗列了四种最常见的配置场景。

2.1 完全封锁全站抓取

使用 Disallow: / 即可拒绝所有爬虫的访问请求。此做法适用于站点尚未就绪、或正处于内部测试阶段的情形。

User-agent: * Disallow: /

2.2 屏蔽特定目录但开放其余区域

若要隐藏管理后台或用户专属页面,可在 Disallow 中列出具体路径。例如仅屏蔽 /admin/ 和 /private/ 两个目录:

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

配置要点:Allow 规则需要放置在 Disallow 之后才可能生效。若不确定目标爬虫是否支持 Allow 指令,最稳妥的做法是仅罗列需要禁止的路径,默认允许其他路径被抓取。

2.3 为不同爬虫定制访问策略

不同搜索引擎的爬虫对资源的访问需求各异。假设希望 Googlebot 抓取全部内容,同时限制其他爬虫获取静态资源:

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

编写时必须注意顺序:先声明个别爬虫的专属规则,再编写适用于所有爬虫的通用规则。因为爬虫在匹配时,会优先采用自身名称对应的那一段配置。

2.4 精确允许单个文件访问

在屏蔽某个目录的前提下,若需要单独开放其中某个文件,可以利用 Allow 指令实现细化控制。例如禁止整个 /download/ 目录,但保留其中一份公开样稿:

User-agent: * Disallow: /download/ Allow: /download/sample.pdf

路径匹配遵循最长匹配原则,即更具体的规则拥有更高优先级,因此该文件可以正常被抓取。

3. 常见编写误区与避坑提示

在配置过程中,一些容易被忽视的细节可能会导致抓取异常或敏感信息泄露,请特别留意以下要点。

4. 配置后的验证与检查方法

完成规则编写后,不能简单地认为工作已经结束。建议通过浏览器直接访问 /robots.txt 路径,直观检查文件是否正常展示及内容是否准确。

此外,可以利用主流搜索引擎网站管理员工具中自带的抓取测试功能,输入需要检测的页面 URL,工具会模拟爬虫并返回该页面允许还是被禁止的结果。若检测结果与预期不符,应优先排查路径拼写和指令顺序问题。

5. 常见问题

5.1 Q1:Disallow 留空与直接不写该指令,效果一样吗?

效果并不完全相同。在大多数情况下,两种写法都表示允许所有路径被访问。但若某个爬虫对空值处理比较特殊,可能会出现规则解析异常。保险起见,建议在无需限制时直接省略 Disallow 行,仅在明确需要时再写入该指令。

5.2 Q2:robots.txt 能阻止敏感页面被收录吗?

不能作为绝对保障。该文件仅对遵守协议的爬虫起到提示作用,恶意爬虫或非搜索引擎程序并不会真正遵守。对于需严格保密的内容,应当配合登录校验、IP 白名单等服务器层面的权限控制措施,而不能只依赖 robots.txt。

5.3 Q3:设置禁止抓取后,已收录的页面会立即删除吗?

不会立即移除。禁止抓取只是阻止爬虫再次访问,而搜索引擎是否删除已有快照,取决于其自身的处理机制。通常需要一段时间,搜索引擎才会逐步清理已收录的结果。若希望加快删除进度,可配合使用搜索引擎站长工具中的删除请求功能。

6. 总结

编写 robots.txt 的关键在于理清站点结构需求,并遵循先特定后通用的声明顺序。配置完成后务必利用浏览器和站长工具进行双重验证,同时避免单块规则过长、路径大小写混淆等常见错误。建议将全局开放的规则设为默认值,仅针对必要目录设置封锁,从而在保护敏感数据的同时最大化提升核心页面的抓取效率。

图1 图2

nginx