搜索引擎的爬虫访问一个网站时,通常会先看根目录下的 robots.txt 文件。这个纯文本文件相当于给爬虫的一份访问说明书,明确哪些内容可以抓取、哪些区域需要回避。合理的配置不仅能防止后台或隐私目录被索引,还能帮助爬虫将抓取预算集中在重要页面上,提升网站整体的 SEO 表现。
文件必须存放于站点根目录,例如 https://yourdomain.com/robots.txt,文件名区分大小写,推荐使用 UTF-8 编码。每条规则独占一行,尽量避免行尾出现多余的空格。要写好规则,得先摸清几个核心字段的含义:
除了上面三条,还可以加入 Sitemap 行来声明地图文件的位置。看一个常用的组合示例:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置的含义是:默认允许抓取全站,但 /admin/ 目录被封闭,其中 /admin/public/ 作为例外可以被访问。这里有个常见的坑:如果某个爬虫不理解 Allow 指令,它只会看到 Disallow 的限制,/admin/public/ 对它来说依然是被封锁的。
不同网站的运营目标各不相同,robots.txt 的实际写法也差异很大。下面三种模式基本覆盖了多数站点的需求,可以直接参考并替换成自己的路径。
内容型网站或者刚上线的新站,通常期待所有页面都能被收录。此时只需一行配置:
User-agent: *
Disallow:
其实把 Disallow 整行删掉效果也一样。最需要警惕的是误写成 Disallow: /,一旦出现,所有爬虫都会被挡在门外,收录数据马上陷入停滞。改完配置后,建议用站长平台的抓取测试工具验证一下实际情况。
如果你的网站不希望被某个特定引擎收录,可以单独为它写一条规则:
User-agent: Bingbot
Disallow: /
这样修改后,其他爬虫的抓取策略完全不受影响。注意爬虫名称要写准确,比如 Googlebot、Baiduspider 和 Sogou 蜘蛛各不相同,名称写错规则就会失效,建议到各个搜索引擎的官方文档里核对命名方式。
部分工具型站点希望爬虫只访问特定目录,其他路径一律封锁。这时可以这样写:
User-agent: *
Disallow: /
Allow: /tools/
这种配置会先封锁全站,再单独开放 /tools/ 路径。需要特别留意的是,Allow 指令在不支持的爬虫那里会被忽略,因此对于这些爬虫,整个网站都会被封锁。如果目标爬虫不支持该指令,建议改用其他方式处理。
大型网站的页面数量庞大,爬虫每日的抓取额度却是有限的。合理利用 robots.txt 能帮助爬虫节省资源,将精力集中在高质量页面上。以下操作值得参考:
要注意的是,robots.txt 并不是性能优化的唯一手段。过多的封锁规则反而可能让爬虫困惑,尤其是当部分规则之间存在冲突时。保持文件的简洁明了,比堆叠复杂的规则更有意义。
很多站长习惯把比较敏感的 URL 直接写进 robots.txt 的 Disallow 规则里,指望借此防止他人查看。但这里有个误区:robots.txt 只是约束合规爬虫的行为,任何人都可以手动输入 URL 访问这些内容。对于真正需要保护的目录,仅依赖 robots.txt 远远不够。
更好的做法是配合服务端的权限设置,例如通过身份验证或 IP 白名单来控制访问。在配置 robots.txt 时,也要避免过度封锁,比如将整站甚至整个域名都不小心封掉。建议书写时尽量使用相对路径并明确目录层级,避免与其他规则产生歧义。
另外,修改完文件后务必检查是否有语法错误或空白字符。一个多余的字符,有时就会导致整条规则失效。
搜索引擎爬虫通常有自己的抓取频率和缓存机制,不会实时读取更新后的 robots.txt。具体的生效时间可能需要数小时到数天不等,尤其是在大型网站中更为明显。可以通过站长平台的抓取测试工具主动更新缓存,这不仅有助于验证新规则,也能掌握生效的实际进度。
对于支持 Allow 指令的搜索引擎,一般来说,以最长匹配路径为准的规则具有更高的优先级。也就是说,如果你在 Disallow: /admin/ 之后写了 Allow: /admin/public/,则 public 子路径会优先被放行。但这条规则并不被所有爬虫认可,兼容性差的爬虫可能直接忽略 Allow,导致子路径依然被拦截。写法上最好保持简洁,避免依赖复杂的优先级逻辑。
并非强制要求,但建议写上。将 sitemap 路径声明在 robots.txt 中,可以方便爬虫直接发现并抓取站点地图,加快新内容的收录速度。尤其是对一些新闻站或频繁更新的站点来说,这是一种成本低、效果好的方式。
配置 robots.txt 看似简单,但细节之处决定效果。正式上线之前,务必仔细核对每条规则和路径,避免出现误封锁或漏封锁的情况。建议定期检查官方文档中爬虫名称和指令支持的变更,并及时调整自己的配置。一个清晰、简洁且与网站目标匹配的 robots.txt,能够为 SEO 奠定稳固的基础,帮助网站在搜索引擎中获得更好的表现。