当搜索引擎的爬虫造访你的网站时,它做的第一件事往往是查看根目录下的 robots.txt 文件。这个不起眼的纯文本文件,相当于网站与爬虫之间的一份"抓取约定",用来告诉对方哪些页面欢迎访问、哪些区域需要绕行。合理设置它,既能让后台、测试页这类内容远离搜索结果,也能帮助爬虫把有限的抓取精力用在真正重要的页面上。
robots.txt 必须放置在网站的域名根目录下,通过 https://你的域名/robots.txt 就能直接访问到。它的格式要求是纯文本,编码建议采用 UTF-8,每行只能写一条规则,并且路径是区分大小写的。掌握以下三条核心指令,就拿到了配置的钥匙:
常见做法是在文件末尾追加一行 Sitemap 声明,辅助爬虫更快发现站点地图。一份基础的参考配置如下:
User-agent: *
Disallow: /private/
Allow: /private/shared/
Sitemap: https://yourdomain.com/sitemap.xml
这段规则的含义是:所有爬虫都可以抓取全站,但是 /private/ 目录除外,不过其中的 /private/shared/ 子目录又被特意放行。需要特别留意的是,碰到不识别 Allow 指令的爬虫时,Disallow 里的屏蔽规则依然生效,千万别把 Allow 当成绝对的保险。
网站的类型不同、运营目标不同,robots.txt 的写法也会大相径庭。下面整理了三类常见的配置思路,可以直接对照着修改。
对于内容型站点或是刚上线的新网站,通常希望所有页面都能被索引。这时,只要保留一个不带路径的 Disallow 声明就可以:
User-agent: *
Disallow:
直接把 Disallow 一行省略掉,效果也是一样的。这里最容易犯的错误就是写成 Disallow: /,一个看似简单的斜杠就会把全部爬虫拒之门外,让网站的收录数量瞬间归零。
如果不想让某一家搜索引擎收录你的站点,单独为它制定规则就好,完全不会影响其他爬虫的正常抓取:
User-agent: Baiduspider
Disallow: /
这个配置只对百度爬虫生效。需要注意的是,爬虫的确切名称要去对应搜索引擎的官方文档里核实,常见的包括 Googlebot、Bingbot、Baiduspider 等,拼写错了规则就不会生效。
企业官网比较常用的策略是放开前台内容,同时把管理后台和临时的上传目录保护起来。可以参考下面的写法:
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Disallow: /includes/
这样配置之后,前台的正常页面依然能被搜索引擎顺利抓取,而涉及内部管理的路径则被妥善隐藏。建议在部署完成后,手动检查一遍配置是否生效,避免因路径拼写错误导致部分页面被误伤。
在实际操作中,不少站长会在细节上栽跟头。以下几个误区特别值得留意:
写好文件之后,千万不要直接上线就完事,验证环节至关重要。具体可以按下面几步操作:
不会立即消失。搜索引擎抓取有一定的周期,之前收录的页面会继续存在一段时间,直到爬虫下次来访问时发现新的规则。如果想要尽快从索引中移除特定页面,建议同时使用 noindex 标签,这样会更快速有效。
可以的。文件中可以针对不同爬虫写多个规则块。搜索引擎在匹配时,会优先选择与当前爬虫名称完全匹配的那一组规则;如果没有完全匹配的,才会使用 User-agent: * 通配符的规则。需要留意的是,同一爬虫的规则组内部,匹配规则遵循"最具体优先"的原则。
可以。robots.txt 中允许出现多行 Sitemap 声明,每一行对应一个站点地图文件的地址。对于大型网站,将不同类型的页面拆分成多个 sitemap 文件是很常见的做法,只要在文件中依次列出即可。
robots.txt 是一份需要用心维护的配置文件,它直接影响着搜索引擎如何看待你的网站。建议从自身的核心需求出发,想清楚哪些页面需要开放、哪些必须隐藏,再动手编写配置。写完之后,务必用站长工具做一次完整验证,并持续关注收录数据的变化。同时要记住,它只是引导搜索引擎的辅助手段,真正保护敏感数据还得依靠权限控制和安全措施,两者结合才能让网站在搜索生态中处于健康状态。