任何一个认真运营网站的人,迟早都会遇到 robots.txt 这个文件。它相当于写给搜索引擎爬虫的一份参观守则,规则写清楚了,爬虫就知道哪些页面可以进入、哪些路径需要绕行,宝贵的抓取配额便能用在刀刃上;规则写错了,轻则核心页面迟迟不被收录,重则整个站点从搜索结果中消失。这篇文章将把这套语法的每个细节和容易踩的坑一次讲透。
robots.txt 是一个存放在网站根目录下的纯文本文件,通过 https://你的域名/robots.txt 这个固定地址即可访问。它的唯一职责是管理爬虫的"抓取权限",并不能控制页面是否被"收录"。如果想要某个页面彻底从搜索结果中消失,正确的方式是为该页面添加noindex标签——robots.txt 管不到索引环节。
需要清醒认识到的一点:这个文件对爬虫来说属于君子协定。正规搜索引擎的蜘蛛会严格遵守规则,但恶意的采集程序往往视而不见。凡是涉及用户隐私、订单信息或后台管理的内容,务必叠加登录验证、IP 白名单等防护手段,切勿让 robots.txt 充当唯一的守门员。同时,养成定期复查文件内容的习惯十分重要,以防误写导致敏感路径暴露在公开网络。
robots.txt 由若干规则组构成,每组都以 User-agent 行开头,格式固定为"字段名: 值"。虽然字段名不区分大小写,但为了减少兼容性隐患,建议一律使用小写字母书写。
这一行声明规则生效的对象。例如 User-agent: Googlebot 只约束谷歌的爬虫;想对所有搜索引擎生效,则使用通配符 User-agent: *。一个文件可以包含多个规则组,为不同蜘蛛分配不同权限。当同一个爬虫命中多个规则组时,搜索引擎通常倾向于匹配路径更长的那个组,配置时务必心中有数。
Disallow 声明禁止爬取的路径,Allow 则相反,声明允许爬取。这里有一个极易忽略的细节:Disallow: 后面什么都不写,意味着不限制任何路径,即全站开放。当 Allow 与 Disallow 冲突时,通用的裁决标准是比较路径长度——更具体的规则获胜。举例来说,若同时写上 Disallow: /temp/ 与 Allow: /temp/public/,那么 /temp/public/ 目录下的内容仍然可以被爬取。书写路径时建议从根目录写完整路径,避免相对路径带来的歧义。
Sitemap 指令用来声明网站地图的完整 URL,方便爬虫快速获取内容清单,通常放在文件末尾。Crawl-delay 用来设定抓取间隔秒数,但谷歌早已公开表示忽略该指令——想控制谷歌的抓取频率,请前往 Google Search Console 后台设置。Bing 等搜索引擎目前仍支持这一参数,可以按需保留。
以下整理了几种常见需求的标准写法,替换为自己的路径即可套用。
在写法上还有一个值得注意的避坑点:Disallow 与 Allow 的路径末尾是否需要斜杠,结果完全不同。不带斜杠代表匹配该路径开头的所有内容,带了斜杠则代表匹配该目录本身。例如 Disallow: /api 会拦截所有以 /api 开头的路径,而 Disallow: /api/ 仅拦截 /api/ 目录下的内容。同理,Allow: / 和 Allow: 在效果上有细微差别,前者明确放行全部路径,后者在某些爬虫解析下容易产生歧义,建议优先使用显式写法。
在实际配置中,以下错误出现频率最高,值得逐一对照检查。
robots.txt 中*号仅能在 User-agent 行作为通配符使用,路径中的*号在标准语法中并不被支持。若在路径中出现星号,部分爬虫会将其当作普通字符处理,导致规则失效。同理,$符号用于标记路径结尾,但也需谨慎使用,避免过度限制。
路径匹配是否区分大小写取决于目标服务器与爬虫的约定,但为避免意外,建议保持一致的大小写风格。文件编码必须为 UTF-8(无 BOM),若使用其他编码,中文路径或特殊字符可能出现解析错误。文件过大或包含过多冗余注释也会拖慢爬虫的解析速度。
很多站长习惯用 Disallow 屏蔽 CSS、JS 或图片文件,希望以此"节省"抓取配额。然而,这些资源恰恰是搜索引擎渲染页面、判断移动端适配所必需的。屏蔽后可能导致页面评分下降或排名倒退。正确做法是允许爬取这些静态资源,并通过压缩和缓存来提升加载效率。
围绕 robots.txt 的疑问通常集中在这几个方面。
搜索引擎会在下一次抓取时重新获取该文件,通常从几分钟到数天不等。谷歌可以通过 Search Console 的"robots.txt 测试工具"主动提交并验证新内容,以加速生效过程。紧急情况下,也可以临时暂停抓取来配合调整。
不能。robots.txt 只能阻止爬虫抓取,无法阻止外部链接或手动提交导致的收录。想要彻底从索引中移除页面,必须配合 noindex 标签或使用搜索引擎提供的移除工具。两者结合使用才能真正达到目的。
不会。以#开头的注释行会被搜索引擎忽略,但需要注意注释不能写在规则行的中间,否则会破坏该行语法。建议将注释单独放一行,保持文件整洁。
robots.txt 虽小,却直接影响搜索引擎对网站的抓取效率与收录质量。日常维护时请记住几个关键动作:始终将文件放在根目录且命名为小写;路径书写完整、避免相对路径;不依赖它保护敏感数据;定期用浏览器访问 /robots.txt 检查内容是否正确;大型站点建议配合 Search Console 的抓取统计观察效果。只要把语法基础打牢,并避免上述高频错误,这份文件就能成为你网站运营的可靠助手,而不是隐藏的绊脚石。