robots.txt 是一个放在网站根目录的纯文本文件,它的作用是向搜索引擎的抓取工具说明哪些网页或目录可以访问、哪些应当跳过。通过合理设置,既能保护后台或临时文件不被收录,也能让蜘蛛更集中地抓取关键页面。下面我们从零开始,梳理它的写法、部署和常见应用。
robots.txt 的语法并不复杂,绝大多数场景只需要掌握三个指令。理解它们之间的配合关系,是正确配置的前提。
避坑提醒:每个 User-agent 声明后面至少要跟一条 Disallow 或 Allow 指令,否则整段规则会被忽略。另外务必清楚,robots.txt 不是访问控制工具,它拦不住普通用户,也不能保护真正敏感的隐私数据——只要知道完整网址,任何浏览器都能直接打开被“屏蔽”的页面。
实操并不复杂,按步骤来基本不会出错。新手建议先从一套保守、安全的规则开始。
User-agent: *
Disallow: /cgi-bin/
Disallow: /backup/
Sitemap: https://www.example.com/sitemap.xml
验证与常见错误:上传后,在浏览器访问 https://你的域名/robots.txt,能看见文件内容就是成功的。最常见的错误是把 Disallow: / 当成“屏蔽首页”,实际效果是全站禁止抓取,务必警惕。此外,路径末尾的斜杠也不能掉,Disallow: /private 并不会拦住 /private/ 这个目录下的文件。
当网站结构复杂后,你可能希望大范围封锁某个目录,但又保留其中特定文件的抓取权限。举个例子:想隐藏整个素材图片库,但要求蜘蛛能收录其中的站点分享缩略图。这时可以把规则写成:
User-agent: *
Disallow: /assets/images/
Allow: /assets/images/share-cover.jpg
这套写法之所以有效,是因为 robots.txt 对具体文件的匹配优先级高于目录。但要注意,Allow 的路径必须和 Disallow 的路径在结构上存在包含关系,否则规则没有意义。
直接修改线上的 robots.txt 存在一定风险,尤其当现有文件已经运行了很久。与其手动反复调试,不如借助现成的校验工具。
可以先在本地准备一个新版本,然后用搜索引擎官方提供的 robots 测试功能或第三方在线校验器,输入待测规则和几组典型网址,观察不同路径的抓取判定结果。
操作建议:验证通过后再覆盖服务器上的旧文件。保存时注意编码统一为 UTF-8(无 BOM),避免出现不可见字符影响解析。修改后隔一天查看搜索引擎的抓取日志或索引报告,确认蜘蛛的抓取行为符合预期。
在同一个 User-agent 组内,规则的匹配遵循“最长匹配优先”原则。也就是说,如果某个 URL 同时命中两条规则,系统会采用路径前缀更长的那一条。这也是上文例子里具体文件能够基于目录规则设置例外放行的原因。
最简单的方法是直接访问 你的域名/robots.txt,检查文件里是否有 Disallow: / 这一行。同时在百度搜索资源平台或 Google Search Console 中查看抓取和索引状态,如果关键页面没有被收录,先排查这条规则。
一般不会。服务商解析时按分组处理,不严格区分文件内的先后顺序。但为了可维护性,建议保持统一的排版:先写用户代理(User-agent),再写对应的 Allow 和 Disallow 规则,最后放 Sitemap 地址。
robots.txt 的配置核心在于理解 User-agent、Disallow 和 Allow 三者的配合关系,并通过网站在线校验工具验证后再更新。建议当前站点至少明确屏蔽后台管理目录、临时文件目录,并将站点地图的完整地址写入文件末尾。配置完成后,建议每季度检查一次文件,配合搜索引擎的抓取报告观察效果,及时调整路径规则。