robots.txt 是网站根目录下一个不起眼的纯文本文件,却是所有搜索引擎爬虫访问站点时首先查阅的内容。它规划了哪些区域可供抓取、哪些部分应当回避。合理的配置不仅能让后台、测试环境等敏感页面远离搜索结果,还能引导爬虫把有限的抓取预算花在真正重要的页面上,从而提升索引效率。这份指南将带你理清它的语法堆栈、实际部署方案和那些容易踩中的雷区。
robots.txt 必须存放在网站根目录,比如 https://yourdomain.com/robots.txt。文件以 UTF-8 编码保存,每行一条指令,且所有路径判定都对大小写敏感。
一个规范的配置文件,通常由以下核心指令构成:
下面是一个实际的规则组合示例:
User-agent: *
Disallow: /private/
Allow: /private/shared/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置表明:全站允许爬虫进入,但 /private/ 整个目录禁止访问,唯一例外的是其下的 /shared/ 子目录。这里必须防一个坑:Allow 指令未被所有爬虫兼容。对于不识别该指令的爬虫,稍后设置的严格 Disallow 仍然生效,于是共享目录实际无法被抓取。
站点属性不同,爬虫策略也完全不同。这里给出三类网站最常见的配置思路及注意事项。
对于靠收录吃饭的新站或者内容密集型资讯站,开放全站索引是首要目标。配置文件只需声明空白的 Disallow:
User-agent: *
Disallow:
直接省略 Disallow 行也会得到一样的结果。此场景下最危险的操作是把 Disallow 的值误写成 /。只要这行存在,所有爬虫都会立即停止抓取,网站收录即刻停滞,且这种状况通常无法从搜索引擎后台直接察觉,排查成本极高。
基于流量分配或商业隐私的考量,可能需单独屏蔽某一家搜索引擎的爬虫。此时只需针对该爬虫定义规则:
User-agent: Baiduspider
Disallow: /
这一片段只波及百度爬虫,Google、Bing 等其它引擎的访问完全不受干扰。动手之前务必查阅对应搜索引擎官方帮助文档,确认爬虫的精确名字。常见的拼写失误包括把 Googlebot 写成 googebot,或将 Bingbot 误拼成 bingbot。同时要注意,不同产品线的爬虫可能拥有不同的名称,如 Googlebot-Image 和 Googlebot-News,它们需要单独处理。
大型商城或平台有时需要整站封锁后台资源,却单独开放一个公开的 API 目录。使用 Allow 精确指定子路径是最合适的:
User-agent: *
Disallow: /api/
Allow: /api/public/
但再次强调,这项配置在 Google 体系内行得通,对其他兼容性欠佳的爬虫则可能失效,导致 public 接口也无法被抓取。更稳妥的替代路线是通过目录结构设计来实现区分,让公开接口与私有接口位于不同的一级路径下,从根本上避免依赖 Allow。
robots.txt 的语法看起来极其简单,但实际部署时却常有意外情况。以下是几位站长最容易陷进去的误区。
完成编写之后,强烈建议先验证再上线。你可以借助搜索引擎官方提供的 robots.txt 测试工具(如 Google Search Console 中的对应页面),用实际网址模拟爬虫请求,查看哪些路径被拒绝、哪些被放开。
验证时请注意以下要点:
养成定期检查记录的习惯,查看搜索引擎抓取统计里是否有大量被屏蔽的异常请求,这往往暗示配置文件需要调整。
它只能阻止爬虫抓取,但抓取与收录是两回事。如果外部链接已经指向某个被屏蔽的页面,搜索引擎可能仅凭链接信息就能为其建立索引,只是搜索结果中会缺失标题或摘要。若想彻底移除某页,需结合 noindex 标签或登录站长平台提交删除请求。
使用虚拟主机或管理面板时,可直接在网站根目录新建文件。许多 CMS 也提供了插件或控制面板中的可视化编辑入口。无论哪种方式,改动后务必在浏览器中直接访问 /robots.txt 确认变更已生效。
完整规则匹配遵循最长匹配原则:爬虫会选择与其名称最匹配的那一组 User-agent 段落。例如同时存在 User-agent: * 和 User-agent: Googlebot 时,Googlebot 只读取后者,其余爬虫则读取前者。各段之间互不合并,不会出现跨段的规则叠加。
robots.txt 虽小,却关乎搜索引擎对你站点资源的分配方式。给它充分重视,日常维护中注意三点:根目录存放、UTF-8 编码、严格区分大小写。同时也要懂得它的边界,它并不是安全工具,敏感内容请务必用服务端权限隔离。每次改动后顺手使用测试工具验证一遍,避免因一行误写导致全站失联。
将这份指南保存备用,配合观察实际的抓取报告数据,你就能持续优化配置,让搜索引擎的资源真正用在刀刃上。