robots.txt 是放在网站根目录下的一个纯文本文件,用来向搜索引擎爬虫说明哪些路径可以抓取、哪些应当绕行。它不承担安全防护职责,但在保护非公开目录、控制抓取配额、降低服务器压力方面作用明显。无论站点规模大小,掌握这份文件的配置方法都很有必要。
这份文件的规则并不复杂,本质上是少量固定单词的组合。先把下面三个核心概念弄清楚,大多数配置需求都能在此基础上拼装完成。
需要注意,每个 User-agent 分组下至少应包含一条 Disallow 或 Allow 语句,否则该分组形同虚设。同时要记住,这个文件只约束搜索引擎的抓取程序,普通访客通过浏览器依然能直接访问页面,涉及敏感信息的内容不能依赖它来保护。
不管网站大小,都可以从一个简单清晰的初始版本开始。下面这个模板可以作为起点。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
部署后,在浏览器中直接访问 你的域名/robots.txt,若能原样显示文件内容,即表示上传成功。新手常见的失误是把规则写成 Disallow: /,这会让整站从搜索引擎结果中消失。此外,路径末尾的斜杠不能省略,例如 Disallow: /tmp 并不会覆盖 /tmp/ 目录。
随着站内目录层级变多,全盘允许或全盘禁止往往不够灵活,Allow 指令正是解决这类需求的工具。一个常见场景是:想隐藏整个图片素材库,但又希望其中某张品牌宣传图能被搜索引擎收录。
User-agent: *
Disallow: /images/archive/
Allow: /images/archive/logo-main.png
实际使用时要留意,Allow 与 Disallow 的匹配规则是取最长匹配前缀,也就是说更具体、更长的路径会优先生效。建议在部署后通过搜索引擎管理后台的 robots 测试工具来验证规则效果,避免因路径层级理解偏差导致放行失败。
搜索引擎发现新内容的速度,很大程度上依赖 sitemap 的提交。在 robots.txt 中明确声明 sitemap 地址,可以降低爬虫遗漏重要页面的概率。推荐在文件末尾添加一行声明,格式如下:
Sitemap: https://www.example.com/sitemap_index.xml
这里有几个实践要点:
另外,修改 robots.txt 后建议定期复查访问日志,留意主要搜索引擎的抓取频率变化。如果发现核心页面抓取量明显下降,优先检查是否误写了过宽的 Disallow 规则。
不会立刻受到惩罚,但可能造成页面收录延迟或抓取异常。若误将 Disallow: / 写入文件,搜索引擎会停止抓取整站内容,待修正文件并重新提交后,收录会逐步恢复。
搜索引擎爬虫会按 User-agent 名称的精确匹配度来选择规则。若存在针对某个特定爬虫的分组,该爬虫会忽略通配符 * 分组中的规则,直接使用与其名称匹配的分组配置。
不能。它只对遵守协议的搜索引擎爬虫生效,真人通过浏览器仍可正常打开页面。若需限制访问权限,应使用登录验证或服务器端的访问控制机制。
配置 robots.txt 的关键在于明确目标:既要让搜索引擎高效抓取有价值的内容,也要主动屏蔽无意义的页面。建议从一份包含基础 Disallow 和 Sitemap 声明的文件起步,在站点结构调整或抓取日志出现异常时,再有针对性地调整 Allow 与 Disallow 组合。记住,每次修改后都要验证文件可访问性,并持续观察搜索引擎的抓取反馈。