robots.txt是一个放置在网站根目录的纯文本文件,通过简单的指令告诉搜索引擎爬虫哪些页面可以抓取、哪些应当跳过。它虽然无法替代安全措施,但在保护后台目录、节省抓取配额、减轻服务器压力方面十分有效。掌握它的配置方法,是每个网站管理者的基本能力。
这个文件的写法并不复杂,核心是对几个固定指令的组合运用。搞懂下面三个基本指令,就能覆盖大部分配置需求。
容易踩坑的地方:每个User-agent分组中至少要有一条Disallow或Allow指令,否则该分组的规则会被爬虫忽略。同时要记得,robots.txt只规范爬虫行为,用户通过浏览器直接输入网址依然能访问页面,所以真正的隐私数据不要指望靠它来保护。
无论网站大小,建议从一份稳定可靠的基础配置入手。下面的代码块可以直接用作初始模板。
User-agent: *
Disallow: /includes/
Disallow: /cache/
Sitemap: https://www.yourdomain.com/sitemap.xml
检查与避坑:上传完成后,在浏览器地址栏输入“你的域名/robots.txt”,如果能看到明文内容,就说明部署成功。新手最常犯的错误是写成Disallow: /,这会直接导致整站无法被搜索引擎收录。另外,路径结尾的斜杠不要随意去掉,比如/temp并不能拦截到/temp/这个目录。
当网站目录变得复杂,单纯的全放或全禁往往不够用,Allow指令的作用就体现出来了。一个常见的情况是:屏蔽整个图片素材库,但希望某张品牌主视觉图能被搜索引擎收录并展示在结果中。
User-agent: *
Disallow: /assets/images/
Allow: /assets/images/logo.png
执行细节:规则之间存在优先级,同一分组内更长的路径匹配会优先于较短的路径。所以上面配置里,/assets/images/logo.png 的放行规则会覆盖 /assets/images/ 的禁止规则,最终该图片可以被正常抓取。
不同搜索引擎的爬虫行为方式略有差异。有些爬虫更注重图片抓取,有些对页面更新频率敏感。通过为不同爬虫单独设置分组,可以更精细地控制资源分配。
注意事项:每个爬虫分组之间是独立生效的,规则不会互相继承。如果某个蜘蛛既匹配到了专属分组,又匹配到了通配分组,专属分组的规则将优先执行。
robots.txt不是配置完就一劳永逸的。随着站点结构调整,需要同步更新其中的路径规则。同时,文件内可以声明站点地图位置,帮助爬虫更快发现新内容。
维护建议:每隔一段时间(例如每季度)检查一次robots.txt,确保被禁止的路径仍然没有收录价值。也可以利用搜索引擎站长平台提供的robots.txt检测工具,直接模拟不同类型爬虫的抓取结果,验证规则是否符合预期。
不会。robots.txt本身不提供任何安全防护功能。即使禁止了某个路径,只要文件或目录在服务器上真实存在,且没有设置访问权限,用户依然可以通过直接链接访问。安全防护应该依靠服务器端的认证与授权机制来实现。
搜索引擎按照最长匹配优先原则。在同一个分组中,路径字符数越长的规则越先被采纳。例如同时存在Disallow: /api和Allow: /api/public时,/api/public这个较长的规则会优先生效,允许该路径被访问。
生效时间取决于各搜索引擎的抓取频率。部分爬虫几乎实时重新抓取该文件,有的则可能延迟数小时到数天。为了提速,可以在站长平台工具中主动提交更新请求,强制触发重新抓取。
robots.txt配置看似简单,但细节决定成效。建议先从允许所有爬虫的基础模板开始,再逐步根据日志中的抓取数据,屏蔽确实不需要收录的地址。配置完成后务必用站长工具验证,同时养成定期复查的习惯。只要规则清晰、路径准确,搜索引擎的抓取效率自然会有明显提升。