robots.txt 是置于站点根目录的纯文本约定文件,用来告诉搜索引擎爬虫哪些 URL 可以抓取,哪些路径需要回避。它不是安全防线,但能在保护非公开目录、高效利用抓取配额以及降低服务器压力方面起到显著作用。理解并正确设置这个文件,是网站日常运营中不可忽视的一环。
该文件的语法非常朴素,本质上是由少量固定单词组合而成。只要理清下面几个基础指令的含义,就能覆盖绝大多数场景。
常见认知误区:每个 User-agent 分组之下至少需要包含一条有效的 Disallow 或 Allow 声明,否则该组规则不会被解析。同时务必清楚,该文件仅约束搜索引擎的自动程序,普通用户通过浏览器仍可访问被屏蔽的页面;涉及隐私或敏感的信息,必须依赖登录验证或服务器权限体系来保障。
无论站点规模如何,建议从一套规范的基础规则起步。以下模板可以直接套用。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
验证与操作要点:上传后,在浏览器地址栏输入 你的域名/robots.txt,若能看到规则文本即代表部署生效。新手最容易犯的错误是误写为 Disallow: /,这相当于禁止全站被抓取。另外,路径末端缺失斜杠也会导致匹配失败,例如 /tmp 无法有效屏蔽 /tmp/ 目录下的页面。
当站点目录层级变多后,单纯的全局禁止或放行难以满足需求,Allow 指令恰好弥补了这一灵活性缺口。假设需要屏蔽整个素材库,但希望其中一张品牌宣传图能被搜索收录,可按下述方式配置:
User-agent: *
Disallow: /assets/
Allow: /assets/brand-logo.png
重要原则:主流搜索引擎在匹配时通常会优先采用最长路径规则,因此更具体、更长的路径拥有更高优先级。在实际配置中,建议将最精确的 Allow 路径写在对应 Disallow 之后,确保例外规则生效。若发现预期的放行未生效,可优先检查该文件的缓存状态以及路径大小写是否一致。
配置失误通常不会导致站点崩溃,但会造成收录异常或资源浪费,以下几类问题应高度警惕。
避坑建议:配置完成后,可利用搜索引擎官方提供的 robots 测试工具进行模拟抓取,确认屏蔽范围符合预期后再正式上线。
是的,路径匹配严格区分大小写。例如 Disallow: /Admin/ 不会屏蔽 /admin/ 目录。因此,在写规则时需与服务器上实际的目录命名保持一致。
不同引擎对 Allow 与 Disallow 的优先级处理存在细微差别。例如谷歌会采用最长匹配原则,而 Yandex 可能对通配符支持更全面。为稳妥起见,核心屏蔽规则应尽量简洁,避免依赖过于复杂的通配符语法。
生效时间取决于爬虫的抓取频率。多数主流搜索引擎会定期重新获取该文件,通常在数小时到两天内生效。若需加快进度,可主动通过搜索引擎的站长平台提交该文件的更新。
配置 robots.txt 应当从明确目标出发:优先确定需要屏蔽的敏感目录和节省抓取配额的路径,其次利用 Allow 规则实现必要的例外放行。建议先使用基础模板部署上线,再根据搜索引擎的抓取报告逐步迭代规则。务必牢记,该文件不是访问控制工具,真正的数据保护仍需依赖站点自身的权限机制。