robots.txt 是网站根目录下的一个普通文本文件,它通过简单的指令告诉搜索引擎爬虫哪些页面可以抓取、哪些需要避开。它并非安全工具,却能有效保护私密目录、节省抓取配额并降低服务器压力。掌握这个文件的配置逻辑,是网站日常运营中一项基础且重要的技能。
这个文件的语法并不复杂,核心就是对几个固定单词的组合使用。只要理解了以下三个概念,大部分配置场景都能应对。
注意细节:每个 User-agent 分组下方必须至少有一条 Disallow 或 Allow 语句,否则该分组不会起作用。另外请牢记,robots.txt 只对遵守协议的搜索引擎程序有效,普通访客通过浏览器依然可以正常访问这些路径,因此绝不能把敏感信息的安全寄托在这个文件上。
无论网站规模大小,建议从一份简洁的标准版本开始。以下模板可作为初始配置的参考。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
测试与易错点:部署后,在浏览器中访问 你的域名/robots.txt,若能看到文件原样内容则说明生效。新手常见的错误是误写 Disallow: /,这会将整站从搜索引擎索引中移除。此外,路径结尾的斜杠也不能漏掉,例如 Disallow: /tmp 并不能阻止爬虫访问 /tmp/ 目录下的内容。
当网站目录结构日渐复杂时,单纯的全放或全禁无法满足所有需求,此时 Allow 指令便派上用场。一个常见场景是:你想屏蔽整个图片素材库,但希望其中一张品牌宣传图能被搜索引擎收录。
User-agent: *
Disallow: /assets/images/
Allow: /assets/images/logo.png
实际效果:上述配置表示屏蔽 /assets/images/ 目录下所有图片,但明确允许 logo.png 被爬虫访问。注意规则之间是有顺序的,爬虫会按照文件的先后次序进行匹配,先命中的规则生效。因此,将更具体的 Allow 规则放在宽泛的 Disallow 之后,是确保例外放行成功的关键操作方式。
除了基础的屏蔽和放行,robots.txt 还能帮助搜索引擎更高效地认识你的站点。合理的配置可以避免爬虫浪费资源在无意义的页面上。
判断标准:关于抓取频率,不建议在 robots.txt 中设置过短的 Crawl-delay(抓取延迟),这反而可能影响收录速度。具体数值需要根据服务器响应时间和访问日志来调整,若服务器正常,通常无需设置该项。
不能。robots.txt 只是与搜索引擎爬虫之间的君子协定,不提供任何强制力。如果有人直接复制你的图片链接,或在 HTML 中引用你的服务器文件,该文件无法阻止这种行为。保护图片版权应通过水印、防盗链设置等手段实现。
搜索引擎的爬虫不会实时读取该文件,通常需要等待爬虫的下一次访问周期(可能数小时到数天不等)。如果想加快更新,可以在搜索引擎的站长工具后台提交或重新抓取该文件,部分工具也支持手动刷新抓取请求。
取决于匹配顺序。爬虫从上到下逐条匹配访问路径,一旦某条规则与路径前缀相符即立即生效,不再继续往下判断。所以,一般建议把更具体的 Allow 规则写在对应的 Disallow 规则之后,以确保"例外"能被正确命中。
配置 robots.txt 并不难,难在养成更新和维护的习惯。建议在每次改版或新增功能模块后,重新检查一次该文件,确认哪些目录需要继续屏蔽、哪些新增页面需要放行。配合站长平台的数据反馈,定期比对抓取记录与实际收录情况,才能让搜索引擎的访问真正为网站经营服务。