每个网站运营者都需要和 robots.txt 打交道。这份放在根目录的纯文本文件,是网站与搜索引擎爬虫之间的"通信协议",决定了爬虫哪些页面能看、哪些页面不能看。配置合理,蜘蛛可以集中精力抓取重点内容;配置失误,整站可能从搜索结果中消失。下面从零开始,梳理这套规则的核心用法和容易踩的坑。
robots.txt 文件必须存放在网站的根目录下,且文件名需严格区分大小写,其标准访问地址为 https://你的域名/robots.txt。它的作用是向爬虫声明访问权限,管理的是"抓取"行为,而非"索引"行为。如果目标是不让某个页面出现在搜索结果中,正确做法是在该页面上添加 noindex 标签,而非依赖 robots.txt。robots.txt 管得住爬虫的脚,管不住搜索引擎的收录判断。
需要特别留意的是,这份文件的效力建立在爬虫自愿遵守的前提之上。主流搜索引擎的爬虫会严格遵循规则,但恶意采集程序和不法爬虫对此视而不见。因此,涉及用户隐私数据、未公开的功能接口或商业机密的目录,务必在 robots.txt 之外再叠加登录验证、访问控制列表等安全措施,切勿将 robots.txt 当作唯一的防护屏障。养成定期复查文件内容的习惯,防止误编辑导致敏感路径被公开列出。
整个文件内容由多个"规则组"构成,每一组以 User-agent 字段开头,每个字段行的格式固定为"字段名: 值"。编写时建议统一使用小写字母,并确保每个字段单独占一行,以减少兼容性隐患。
该字段用于说明当前规则组生效的爬虫对象。例如 User-agent: Googlebot 表示规则仅对谷歌的爬虫生效;若想统一约束所有搜索引擎的爬虫,可使用通配符 User-agent: *。一个文件中允许出现多个规则组,分别面向不同爬虫配置差异化权限。当同一爬虫同时命中多个规则组时,主流搜索引擎会遵循"最长匹配优先"的原则,即路径更具体的规则具有更高优先级。
Disallow 声明禁止抓取的路径,Allow 声明允许抓取的路径。特别说明,Disallow: 留空(即冒号后无内容)等同于解除限制,允许爬虫抓取全站。当 Allow 与 Disallow 对同一路径产生冲突时,搜索引擎统一采取"更具体的路径(即更长的匹配)优先"的策略。例如同时存在 Disallow: /api/ 与 Allow: /api/public/ 两条规则,后者会被放行。建议书写目录时使用以 / 开头的绝对路径,避免产生语义歧义。
Sitemap 指令用于声明站点地图的完整 URL,帮助爬虫快速定位内容清单,一般放置于文件末尾。Crawl-delay 用于设定爬虫两次抓取之间的间隔时间,但谷歌官方已声明忽略该指令,如需控制 Google 抓取频率,请移步 Google Search Console 后台进行速率设置;Bing 等其他搜索引擎仍支持此属性,可根据实际情况保留。
以下是几个高频业务场景的标准配置写法,可直接参考路径格式做对应修改。
配置完成后,建议在浏览器中直接访问 /robots.txt 文件,核对各条规则是否按预期生效。也可以借助搜索引擎站长平台的 robots.txt 测试工具进行验证,以确保没有因格式错误导致规则失效。
不少站点因为粗心大意或对规则理解偏差,在 robots.txt 上栽了跟头。以下几条是高发问题,务必对照自查。
爬虫通常不会实时重新抓取 robots.txt,识别周期依爬虫的抓取频率而定,一般需要数小时至数天不等。若需尽快让 Google 感知变更,可在 Google Search Console 中手工提交 robots.txt 文件进行抓取测试和请求。需要注意的是,在爬虫重新读取该文件之前,旧规则依然有效。因此,出现误配置时,务必同步检查并尽快通过站长平台提交更新。
文件支持使用 # 号进行注释,注释内容不会被解析。通配符方面,User-agent 字段支持使用 * 号匹配所有爬虫。在路径规则中,Google 等搜索引擎也支持使用 * 匹配任意字符序列、以 $ 符匹配 URL 结尾,但并非所有搜索引擎都兼容通配符语法。若你的网站流量来源涉及多家搜索引擎,建议优先使用标准的精确路径写法,以保证规则在各类爬虫间的通用性。
当文件里存在多个规则组且均匹配同一爬虫时,搜索引擎会按照"最长匹配优先"的原则执行。即哪个规则组中具体路径的字符长度更长,该组规则就享有更高优先权。若完全相同的路径在 Allow 和 Disallow 中均出现,且路径长度一致,此时允许(Allow)规则优先于禁止(Disallow)规则。这个判定逻辑遵循行业通行的 RFC 规范,但各搜索引擎在极端冲突场景的细节处理上仍存有微小差异。
robots.txt 核心是管理爬虫的访问路径,并非控制索引的万能钥匙。配置前先把站点目录结构梳理清楚,配置完成后务必在站长平台做抓取验证。日常运营中,把 robots.txt、noindex 标签、站点地图三者搭配使用,配合定期查看抓取统计报告,才能让搜索引擎的抓取预算花在刀刃上,避免关键页面被遗漏、无用页面被反复扫。