robots.txt 是每个站长都必须面对的站点根目录文件。它通过简洁的指令约定搜索引擎蜘蛛的抓取范围,配置得当能让爬虫集中索引核心内容,新页面收录速度明显提升;反之,若规则写错或路径指向有误,轻则抓取错乱,重则整站权重受损。想用好它,既要掌握基础语法,也要留意那些容易被忽略的细节。
robots.txt 面向的对象是爬虫程序,你可以在浏览器中直接访问“域名/robots.txt”查看其内容。它的职责是提前告知蜘蛛哪些路径可以进入、哪些区域需要绕行,至于页面最终是否出现在搜索结果中,它说了不算。如果你想彻底让某个页面从索引中消失,正确的工具是 noindex 元标签。举例来说,即使你在 robots.txt 中屏蔽了某个网页,只要该页面被大量外部链接指向,搜索引擎仍有可能将其收录,只是显示的摘要可能来自别处的缓存描述。
还需注意,这一协议全凭爬虫的自律。主流搜索引擎的蜘蛛会遵守规则,但一些恶意抓取脚本和第三方采集工具通常无视这些声明。凡涉及用户隐私、订单数据、后台管理目录等敏感区域,必须叠加登录权限、IP 白名单或 Web 防火墙等硬性防护,切勿将安全防线完全寄托在这份“君子协定”上。
robots.txt 内容由多个规则块构成,每个块都必须以 User-agent 行作为起始。所有字段遵循“名称: 值”的写法,使用英文半角冒号,冒号后空一格是推荐的标准格式。虽然多数爬虫对格式容错度较高,但保持规范书写可以规避日后可能出现的解析异常。
该字段用于说明当前规则块针对哪类蜘蛛生效。若只想约束 Google 搜索爬虫,写 User-agent: Googlebot;若希望所有搜索引擎统一遵循这些规则,用通配符 User-agent: * 即可。你还可以创建多个规则块,对不同的爬虫执行差异化策略,例如允许 Googlebot 访问某个路径,同时限制 Bingbot 的权限。
Disallow 用来声明禁止爬取的路径,Allow 则声明允许访问的路径,两者常常组合出现。有个容易忽略的细节:当书写 Disallow: 且后面不跟任何值(即空值)时,表示清除所有抓取限制,爬虫可自由访问全站内容。当同一条 URL 同时命中多个规则时,搜索引擎默认采用“最长匹配优先”原则,即路径越具体,优先级越高。比如同时配置 Disallow: /api/ 和 Allow: /api/public/,由于后者路径更长更具体,public 子目录下的资源会被正常放行。
Sitemap 字段用于声明站点地图的完整 URL,帮助蜘蛛快速感知全站结构,建议放在文件末尾。Crawl-delay 字段用来设置爬虫连续抓取的间隔秒数,但它并非所有搜索引擎都认可——Google 官方已明确表示忽略此指令,若需控制 Google 爬虫频率,应通过 Search Console 后台的频率设置来实现。
第一个常见错误是对路径的误解。robots.txt 中的路径匹配是以根目录为起点的相对路径,不带域名。许多人误将 Disallow: /old-page/ 写作 Disallow: https://example.com/old-page/,这会导致规则完全失效。另外,路径区分大小写,/Topic 与 /topic 是两个不同的路径,尽量保持路径书写与服务器实际结构完全一致。
第二个坑在于通配符的使用。虽然部分搜索引擎(如 Google)支持用 * 和 $ 符号进行模糊匹配,但这并非统一标准,若你的站点面向多国搜索引擎,过度依赖通配符可能造成某些爬虫解析错误。建议将通配符用于辅助匹配,核心规则仍应以规范的逐条路径为主。
第三个细节是文件编码与换行格式。保证 robots.txt 以 UTF-8 无 BOM 编码保存,并使用 Unix 换行符,避免因 Windows 换行符导致蜘蛛误解规则行。在修改文件后,可以借助各搜索引擎站长工具提供的 robots 测试功能,验证改写后的规则是否与预期一致。
实际操作中,采用“先堵后放”的策略效率更高。先在根层面配置 Disallow: / 阻止全站抓取,再借助 Allow 逐一放行需要被收录的特定目录或页面。例如:
不是必须的。若站点没有该文件,爬虫默认会抓取所有公开可访问的内容。只有当你有明确不想被抓取的目录时才需要创建它。当然,如果刻意想屏蔽所有搜索引擎,创建一份 User-agent: * 加 Disallow: / 的文件是最直接的做法。
如果写反,比如误把想禁止的路径写在 Allow 下,蜘蛛会认为该路径允许访问,从而正常抓取,达不到屏蔽目的;反之,把想放行的路径写在 Disallow 下,会导致该路径被误屏蔽,影响收录效率。因此写完后务必用测试工具逐条验证。
没有固定时间。蜘蛛根据自身抓取周期重新拉取该文件,通常会在几分钟到几天内生效。若急需生效,可通过各搜索引擎的站长提交工具手动请求重新抓取该文件,可明显缩短等待时间。
配置好 robots.txt 并不复杂,关键在于理解它的边界和匹配规则。记录下关键路径,保持规范语法,区分大小写,再结合“最长匹配优先”的特点组织规则块,就能让抓取预算集中在最有价值的内容上。建议每季度复查一次,特别是网站改版后及时清理失效的 Disallow 声明,并配合站长工具进行验证,确保规则始终与你的收录目标一致。