网站运营者几乎每天都会和 robots.txt 打交道。这份存放在域名根目录下的纯文本文件,相当于给搜索引擎爬虫的一份访问指南,告诉它们哪些路径可以抓取,哪些路径需要止步。配置得当,爬虫的抓取预算会被集中在核心内容上,重要页面的收录速度明显加快;而一个路径写错或符号误用,就可能造成整站页面从搜索结果中消失的严重后果。下面我们就系统梳理这份文件的语法规则和容易被忽视的细节。
查看网站是否配置了 robots.txt,直接在浏览器地址栏输入域名加 /robots.txt 即可,例如 https://example.com/robots.txt。它的作用是引导爬虫的抓取路径,而非决定页面是否被收录。如果某个页面需要彻底从搜索结果中移除,应使用 noindex 标签;robots.txt 只能阻止爬虫的抓取行为,对已抓取页面的索引状态没有直接控制权。一个常见的误区是:即使你禁止了某个页面的抓取,如果其他网站大量引用该内容,搜索引擎仍可能通过外部渠道展示这个页面。
还需认识到,这份协议只对遵守规则的搜索引擎爬虫有效。对于恶意采集程序或滥用接口的脚本,robots.txt 犹如一纸空文。因此,涉及用户隐私、订单详情、后台管理等敏感目录,必须叠加登录验证、IP 白名单或安全防火墙等硬性措施,不能将安全防线建立在君子协议之上。
文件由若干规则组构成,每组以 User-agent 字段起始。所有字段遵循“名称: 值”的格式,冒号使用英文半角,并在其后空一格。多数搜索引擎对格式有些容错,但规范书写能减少不必要的意外。
该行指定当前规则组针对哪个爬虫。例如,只限制谷歌搜索蜘蛛写 User-agent: Googlebot;若想覆盖所有搜索引擎爬虫,用通配符 User-agent: * 最为直接。你也可以建立多个规则组,比如对谷歌放行更宽,对必应限制更严,做到差异化配置。
Disallow 声明禁止抓取的路径,Allow 声明允许抓取的路径,两者常配合使用。值得注意的是,如果 Disallow 后面空白(写作 Disallow:),代表解除所有限制,允许抓取全站。当同一 URL 同时命中 Allow 与 Disallow 时,搜索引擎遵循“最长匹配优先”原则,即规则写得更具体的一方生效。例如同时存在 Disallow: /api/ 和 Allow: /api/public/,后者路径更长,因此 public 目录下的链接仍会被放行。
Sitemap 指令指向站点地图的完整 URL,便于爬虫快速找到全部内容,通常置于文件末尾。而 Crawl-delay 用于设置抓取间隔,但谷歌爬虫已不再支持该指令,对抓取频率的控制需通过 Search Console 的速率设置完成,其他搜索引擎的支持程度也各不相同,使用前最好先查阅其官方文档。
许多站点因 robots.txt 配置失误导致流量锐减,梳理下来不外乎以下几类。第一,根路径误用 Disallow: /,这会让全站页面都无法抓取,多发生在新手误操作或迁移设备时。第二,通配符和正则语法混淆,例如使用 * 和 $ 来匹配复杂 URL,但不少搜索引擎并不支持这些符号,配置前务必确认目标搜索引擎的语法规范。第三,路径遗漏参数,很多动态 URL 带有 query 参数,若只禁止了基础路径而未带参数,爬虫仍可能抓取大量重复内容。第四,文件放错目录位置,robots.txt 必须在根目录,放至子目录或错误服务器上都不会生效。建议配置完成后,通过各大搜索引擎的管理工具测试抓取效果。
一套合理的配置流程能帮你少走弯路。首先,分析服务器日志或搜索引擎后台的爬取数据,找出哪些目录占据了大量抓取额度却并非重点内容。其次,写下你要禁止的路径清单,如后台目录、脚本文件夹、临时文件等,同时明确哪些路径绝对需要保留抓取权限。然后,按规则组编写文件,尽量精简,避免规则冗余。接着,用在线校验工具或搜索引擎后台的 robots.txt 测试器验证语法和匹配结果。最后,上传至网站根目录并持续观察一周的抓取频率和收录变化,适时微调。
能。直接修改文件内容并保存上传即可,搜索引擎通常会在数小时内重新读取。若恢复后抓取仍异常,可通过搜索引擎的抓取测试工具手动提交页面加速处理。
有。搜索引擎按最具体的匹配规则执行。例如你同时写了 User-agent: * 和 User-agent: Googlebot,谷歌爬虫会采用后者,而其他爬虫则套用通配规则。建议先写通配规则,再针对特定爬虫补充细节,以免混乱。
有,搜索引擎通常只读取前 500 KiB 的内容,超出部分会被忽略。保持文件精炼、规则清晰即可,绝大多数站点远达不到这个限制。
配置 robots.txt 并不复杂,但需要细心与耐心。建议先理清站点目录结构,再按规则逐条书写,并用测试工具验证后才上线。上线后持续监控抓取日志,发现异常立即修正。记住,这份文件只负责引导抓取,敏感内容的保护仍需依靠登录验证和防火墙等硬性手段。