robots.txt 是放在网站根目录下的一个纯文本文件,用来向搜索引擎的抓取程序说明哪些页面可以访问、哪些应该避开。它本身不提供安全防护,但合理设置能保护敏感目录、节省抓取资源并减轻服务器负担。掌握其语法和部署流程,是站点日常维护中很实用的一项技能。
该文件的语法并不复杂,主要依靠几个固定字段来达成控制目的。理解这几个关键词的实际作用,绝大多数配置场景就能应对了。
避坑提醒:每个 User-agent 段落内至少要搭配一条 Disallow 或 Allow,否则规则可能不生效。还有一点别忽略,这份文件只约束搜索引擎蜘蛛,并不会拦住普通访客,把它当作访问控制工具是靠不住的。
不论网站处于什么阶段,从一份简洁的初始配置开始总是稳妥的。下面的基础模板可以按需调整后使用。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
成功标准与常见失误:部署后,在浏览器中访问 你的域名/robots.txt,如果内容正常呈现就说明放置无误。一个容易造成严重影响的错误是写成 Disallow: /,这相当于让整站从搜索结果中消失。此外,目录路径结尾不带斜杠也会让匹配失效,比如 /private 无法覆盖 /private/ 下的内容。
当站点目录结构逐渐复杂,单独的开或关很难满足需求,Allow 指令便能提供更多灵活性。一个常见的例子是:想隐藏整个图片资源库,却仍让蜘蛛获取其中一张用于社交分享的缩略图。
User-agent: *
Disallow: /assets/img/
Allow: /assets/img/cover.jpg
操作建议:该配置会优先匹配 Allow 指定的具体文件,保证蜘蛛抓取这张封面图,同时忽略其余素材图片。在使用过程中,建议将 Allow 尽量写成完整文件名或更长的具体路径,避免放行范围意外扩大,导致本想屏蔽的内容也被访问到。
除了基础的 Allow 和 Disallow,不少搜索引擎还支持有限的正则符号,例如星号代表任意一组字符,美元符号则用于匹配网址结尾。这让一些批量规则变得更容易书写,比如拦截所有带查询参数的动态地址。
通常会见到如下写法:Disallow: /*?* 以阻止带有问号的网址被收录。不过需要注意,并非所有蜘蛛都支持通配符,使用前应先查阅目标搜索引擎的官方说明。另外,当遇到爬取异常或规则不生效时,可以尝试在文件末尾用 Crawl-delay: 数字 来设定抓取间隔,以此降低瞬时访问压力,但该指令并非所有引擎都承认,兼容性需要实际测试后确认。
效果验证方法:观察搜索引擎站长工具中的抓取统计,对比配置前后的数据变化,能够直观判断当前规则是否有效。
并不能。它只是阻断了搜索引擎的收录,如果某个用户已经知道图片的完整网址,依然可以通过浏览器直接打开。需要真正的资源保护,应在服务器层面对目录设置访问权限或使用防盗链。
没有统一的时间表。部分搜索引擎可能会在几分钟内重新读取,有些则会隔几天再次抓取该文件。若希望尽快让新规则发挥作用,可以在相关站长后台提交该文件的更新请求,以加速重新抓取。
不会有负面惩罚,蜘蛛仍然会按照默认方式浏览和收录页面。但缺少这份文件,意味着你无法主动控制哪些目录不让抓取,一些临时文件夹或后台路径也可能被收录并出现在搜索结果中。
robots.txt 是一份轻量但实用的站点指令文件,用好它的关键在于准确理解 User-agent、Disallow 和 Allow 的组合逻辑。建议先以最简单清晰的规则上线,之后根据实际需求逐步增加内容,并经常通过站长工具核对抓取记录。任何改动前,请务必确认不是简单使用 Disallow: /,以免无意间让整个网站从搜索引擎消失。