Robots.txt设置指南:语法规范与常用配置实

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

Robots.txt是网站管理员与搜索引擎爬虫之间沟通的桥梁,通过这个纯文本文件可以指定哪些页面允许被抓取,哪些需要屏蔽。合理制定robots.txt规则,既能引导爬虫高效收录有价值的内容,也能防止服务器资源被无效抓取消耗。下面就从基础概念到完整写法,逐步梳理robots.txt的配置要点。

1. Robots.txt的定位与放置要求

该文件本质上是一套访问约定,而非强制性的安全屏障。主流搜索引擎的爬虫都会遵循其中声明的规则,但个别抓取工具未必理会这些限制。因此,切勿将其作为保护敏感数据的唯一手段,重要信息仍需通过登录验证或IP白名单等技术加以防护。

文件必须存放于站点根目录,才能被正常识别。以域名 https://www.example.com 为例,对应的文件地址应为 https://www.example.com/robots.txt。若该文件缺失或返回404状态,爬虫会默认抓取站内全部可公开访问的链接。上传时建议通过FTP、SSH或主机管理面板操作,并确保文件名全部小写。

2. Robots.txt的核心语法拆解

整套规则由若干记录块构成,每个记录块通常以User-agent开头,后接Allow、Disallow或Sitemap等指令。语法虽简单,但细节疏忽容易导致规则失效。

2.1 User-agent的匹配对象

该指令用于声明规则适用的爬虫名称。使用星号(*)代表所有爬虫,例如User-agent: *。若只想针对百度,可写为User-agent: Baiduspider;仅限制谷歌抓取,则写User-agent: Googlebot。不同爬虫可分别定义专属规则。

2.2 Disallow与Allow的优先级

Disallow用于屏蔽指定路径,Allow则用于在白名单中单独放行某个子路径。当两条指令发生冲突时,Allow拥有更高优先权。路径一律以斜杠(/)开头。例如Disallow: /private/ 会屏蔽private目录下所有内容,若需开放其中某个图片,可追加Allow: /private/logo.png。

2.3 Sitemap指令的补充价值

在文件末尾附带Sitemap指令,可指明站点地图的URL位置。格式为Sitemap: https://www.example.com/sitemap.xml。此举有助于爬虫快速定位核心页面清单,提升新内容的发现效率。

3. 几类典型场景的Robots.txt配置方案

实际项目中,网站结构差异很大,配置需求也不尽相同。下面整理了几种常见场景的参考写法。

3.1 全站完全开放抓取

适用于内容全部公开、无需任何限制的网站。配置如下:

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

此写法等同于不放置robots.txt,但明文声明规则更便于后续维护。

3.2 屏蔽后台及重复内容目录

如果希望隐藏后台管理路径、临时目录或搜索结果页,可这样配置:

User-agent: *
Disallow: /admin/
Disallow: /tmp/
Disallow: /search?
Allow: /

请注意,Disallow与Allow的顺序并不影响最终生效结果,优先级完全由指令类型决定。

3.3 仅禁止特定爬虫访问

若只想屏蔽某些抓取工具,同时保留其他爬虫的访问权限,可用两条记录实现。先为所有爬虫开放抓取,再单独为指定爬虫设置屏蔽规则。配置示例:

User-agent: *
Allow: /

User-agent: BadBot
Disallow: /

4. 编写Robots.txt的常见误区与验证技巧

很多站长在编写时容易忽略细节,导致规则不符合预期。以下几项值得特别注意:

5. 常见问题

5.1 Robots.txt能否防止页面被收录?

不能完全阻止。该文件仅能阻止爬虫抓取内容,但若外部网站已存在指向该页面的链接,搜索引擎仍可能基于链接信息将其收录,只是不会展示页面快照。彻底阻止收录需配合meta robots标签或noindex指令使用。

5.2 条记录中能否同时为多个爬虫设置规则?

不可以。每条记录的User-agent只能对应一个爬虫名称或一个通配符星号。若需覆盖不同爬虫,必须分别编写独立的记录块,每个记录块以各自的User-agent行开头。

5.3 文件大小和规则数量有限制吗?

可访问的URL数量一般不宜超过5万个,单个文件大小建议控制在500KB以内。超出该范围后,爬虫可能无法解析全部规则,应精简屏蔽条目或将规则拆分合并。

6. 总结

Robots.txt虽然只是一个小文本文件,却直接影响搜索引擎对站点资源的调度效率。从确认文件存放位置到掌握语法优先级,再到按业务场景编写规则,每一步都需要仔细核对。建议先使用测试工具验证语法,再逐步上线,上线后定期观察抓取日志与收录变化,及时调整屏蔽策略。

图1 图2

nginx