搜索引擎能不能顺利抓取并收录你的网站,robots.txt 在其中起着不小的作用。这个文件虽小,却直接关系到爬虫的抓取范围和效率。配置得当,它能帮搜索引擎把精力集中在高质量页面上;一旦写错,也可能让整站内容从搜索结果中消失。下面就来梳理这份文件的核心用法和最容易踩坑的地方。
简单来说,robots.txt 是放在网站根目录下的一份纯文本协议。它向搜索引擎的爬虫告知,站内哪些路径可以访问、哪些路径需要避开。这并非强制性的防火墙,而是一种行业公认的合作规范,主流搜索引擎的爬虫基本都会遵守。
这份文件通常用来实现三个目标:第一,把后台管理、测试环境等不面向普通访客的区域与搜索引擎隔离;第二,减少带复杂动态参数、会导致大量重复内容的链接被抓取;第三,在文件中直接标注 Sitemap 的地址,帮助爬虫更快找人新发布的页面。
这里要特别提醒:robots.txt 是公开的,任何人都能看到它的内容。所以,涉及用户隐私或商业机密的文件路径,绝不能只靠这个文件来隐藏,必须配合登录权限、IP 白名单等更严格的安全手段。
robots.txt 的编写遵循简单的“字段: 值”格式,每条指令单独占一行。指令名不区分大小写,但路径部分区分大小写。熟悉以下几个必备字段,大部分场景就能应对。
假设网站有 /private/ 目录不希望被收录,但其中有一个公开的说明页需要被索引,还要告知爬虫 Sitemap 所在,可以参考以下写法:
User-agent: *
Disallow: /private/
Allow: /private/public-info.html
Sitemap: https://www.example.com/sitemap.xml
这段配置表达了三种含义:所有爬虫被禁止访问 private 目录;但其中的 public-info.html 例外,可以抓取;同时提供了整站地图的位置。
在理解语法之后,还需要掌握路径的匹配逻辑与一些容易出错的细节。
Disallow 和 Allow 的值既可以是完整路径,也可以是目录。匹配规则为从前缀匹配,即只要 URL 以声明的字符串开头便适用。路径为空时,Disallow 表示允许访问所有内容;路径为 / 时,则表示全站禁止。建议在写路径时统一使用根路径相对格式,避免遗漏开头的斜杠。
写完配置后,并不意味着一劳永逸,最好进行验证。以下是一套简单可操作的检查流程:
它不直接影响排名权重,但它决定了哪些页面能被搜索引擎抓取。若不小心屏蔽了核心内容页,就无法建立索引,自然也就谈不上排名。因此,robots.txt 的配置对 SEO 的影响更多是间接但深远的。
对于同一个爬虫,引擎会按照规则在文件中的出现顺序进行匹配,以第一条命中的规则为准。因此,一般把范围大的 Disallow 写在前面,把具体的 Allow 例外写在其后,确保放行逻辑能正确生效。
不能完全保证。robots.txt 只是建议,并非强制命令。即便爬虫不抓取,其他网站仍可能通过外部链接展示你的内容。若想彻底拒绝索引,需要配合 noindex 标签来使用;但要注意,noindex 标签通常需要爬虫先抓取页面才能识别,两者各有局限。
robots.txt 的配置看似简单,却需要谨慎对待。建议在修改前先备份原文件,改动后及时用检测工具验证效果。同时,定期查看网站的抓取统计,防止规则失效或误伤。把这套基本功掌握好,网站的收录效率往往会有明显改观。