Robots.txt 是网站管理者用来引导搜索引擎爬虫抓取行为的标准文件,它直接决定了哪些页面能被搜索引擎收录、哪些资源能节省带宽。合理设置这份文件,既能保护敏感目录不被索引,又能让爬虫把精力集中在高质量内容上。下面从基础语法到实际应用场景,带你逐步掌握正确的配置方法。
这个纯文本文件必须存放在网站根目录下,比如 https://yourdomain.com/robots.txt。文件内部由若干条指令组成,每条指令以 User-agent 开头,后面紧跟对应的 Allow 或 Disallow 规则,用来定义特定爬虫的访问权限。
核心指令说明:
一个最基础的开放配置示例如下:
User-agent: * Disallow: Sitemap: https://yourdomain.com/sitemap.xml上述代码的含义是:允许所有爬虫抓取整个站点,同时告知地图文件位置。需要注意的是,这个文件本身对爬虫来说只是一个建议协议,并非强制命令,但仍应认真对待。
不同的业务需求对应不同的配置策略,下面列举三种典型的实战场景及其写法,供你直接套用。
当网站处于改版测试阶段,或暂时不想被搜录时,可以使用如下配置阻止所有访问:
User-agent: * Disallow: /这种写法表示根目录及以下全部路径都不可访问,实现了全站屏蔽。要注意的是,一旦上线后记得删除此规则,否则页面将无法出现在搜索结果中。
假设只需要屏蔽后台、购物车或用户中心这类功能目录,而其余页面正常收录,可以这样写:
User-agent: * Disallow: /admin/ Disallow: /cart/ Allow: /如上配置明确禁止了 admin 和 cart 两个子目录,同时开放根目录。这里有两个关键点:一是 Allow 指令需要放在 Disallow 之后才可能生效,二是如果担心爬虫不识别 Allow,也可以只保留 Disallow 行,这样未被禁止的路径默认是允许访问的。
有时候不同的爬虫需要不同的访问策略。例如希望 Googlebot 抓取全部资源,但只允许通用爬虫访问页面本身,而不想让它抓取图片和脚本文件:
User-agent: Googlebot Allow: / User-agent: * Disallow: /assets/ Disallow: /images/这份配置的关键在于段落顺序:必须先把专属爬虫的规则写在前面,通用规则放在后面,搜索引擎会优先匹配与自身名称一致的 User-agent 段落,从而读取对应的指令。
编写过程中稍不留意,就容易陷入几个隐蔽的陷阱,影响网站正常收录或泄露隐私文件。
写好文件后,不妨用各类搜索引擎的测试工具检查一下规则是否生效,同时也比照实际目录结构进行复核。
为了避免上线后出现意外抓取情况,这里提供一个相对完整的综合配置模板,该模板同时兼顾了网站地图声明与常见目录屏蔽:
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /private/ Allow: /public/ Sitemap: https://yourdomain.com/sitemap.xml在实际部署时,建议先在一个测试环境中验证规则效果,再同步到生产服务器。还可以在浏览器中直接输入域名加 /robots.txt 来查看文件是否被正常访问和返回内容,这是最基础也最有效的自查办法。
不能完全依赖它。Robots.txt 只是阻止爬虫抓取页面,但如果其他外部网站链接了该页面,搜索引擎仍可能通过网址分析将其索引,只是不展示正文内容。如需彻底不收录,应使用 noindex 标签配合处理。
对于支持 Allow 指令的爬虫,以更长的匹配路径优先;如果路径长度相同,则按文件中出现的先后顺序判断。Google 遵循最精确匹配原则,因此仅在确有需要时再使用 Allow 做例外放行。
可以直接在 robots.txt 文件中连续写多个 Sitemap 指令,每个写一行,爬虫会依次读取全部地址。不过要注意 Sitemap 只支持输入完整网址,并建议放在文件末尾,便于爬虫集中获取。
写好 Robots.txt 的关键在于明确爬虫分工、规范路径匹配以及控制文件规模。建议先梳理网站的目录结构和不需要收录的区域,再对照本文的示例逐步配置,最后通过线上测试工具验证最优效果,这样既能保障敏感内容安全,又不会妨碍正常收录流量。