网站根目录下的 robots.txt 文件是搜索引擎爬虫进入站点后首先查看的文件。它通过纯文本指令告知爬虫哪些目录允许抓取、哪些路径应当回避。合理设置这份文件,既能保护后台页面和测试环境不被收录,又能让爬虫的抓取预算集中在真正有价值的内容上,对站点的搜索引擎优化效果起着基础性的支撑作用。
robots.txt 必须被命名为 robots.txt 并放置在域名根目录下。文件采用 UTF-8 编码,每条指令独占一行,且路径书写区分大小写。编写时需注意,文件注释使用 # 符号引导,这一行会被爬虫直接忽略。
一份完整的文件可能包含以下几个关键字段:
一个具备典型代表性的配置示例如下:
User-agent: *
Disallow: /temp/
Allow: /temp/public/
Sitemap: https://example.com/sitemap.xml
这个配置的含义是:所有爬虫默认可进入站点,但 /temp/ 目录整体被禁止抓取,唯一的例外是 /temp/public/ 子目录。这里需要注意,由于 Allow 指令并非被所有爬虫识别,当某个爬虫不支持 Allow 时,同目录下更严格的 Disallow 规则将占据主导地位。
根据网站类型的差异,对付费资源的保护程度和搜索引擎的抓取需求也不尽相同。以下列举三类最常见的配置场景。
对于依赖搜索流量获取曝光的内容型网站,通常希望搜索引擎尽可能多地抓取页面。此时配置空白的 Disallow 指令即可:
User-agent: *
Disallow:
直接省略 Disallow 行也会得到相同的效果。这一配置的常见事故是误将 Disallow 的值写为 /,这会导致爬虫立即离开网站,所有页面的收录都会停止,后果相当严重,需要反复核对。
当网站不希望某个特定搜索引擎介入抓取,而其余搜索来源保持正常时,可以为该爬虫单独配置规则:
User-agent: Googlebot
Disallow: /
配置只对 Google 的爬虫生效,Bing、百度等其他搜索引擎的访问不受任何干扰。在配置此类规则前,建议查阅各搜索引擎官方公开文档,确认爬虫的准确名称,常见的还有 YandexBot、Sogou 蜘蛛等。
站点中通常存在管理后台、临时目录、会员中心等不需要被收录的路径。建议将这些路径集中管理,统一放置在同一文件下加以禁止:
User-agent: *
Disallow: /admin/
Disallow: /checkout/
Disallow: /temp/
这种写法清晰直观,便于后续维护和排查。需要说明的是,robots.txt 仅起到爬虫约定作用,并不能真正隐藏文件,对于敏感信息仍需配合登录验证等服务器端措施。
robots.txt 的配置虽然简单,但一些常见的理解偏差可能导致线上事故或资源浪费。
为了让 robots.txt 真正发挥预期作用,配置完成后建议进行以下几项基础检查。
不会。robots.txt 只影响搜索引擎爬虫的抓取行为,用户在浏览器中直接访问网站页面不会受到任何影响。但如果把 Disallow 写成 /,会导致整站页面从搜索结果中消失,对流量影响非常大。
不能。Allow 指令虽然广泛使用,但并非所有搜索引擎都提供支持。部分爬虫在遇到 Allow 时可能直接忽略该规则,从而遵循更严格的 Disallow 限制。为了稳妥起见,建议优先通过目录结构设计来简化规则,减少对 Allow 的依赖。
各主流搜索引擎都提供了站长工具,Bing Webmaster Tools 和百度搜索资源平台均包含抓取诊断功能,可以直接输入网址测试抓取结果。Google Search Console 中还提供了网址检查工具,可以查看页面被爬虫抓取时的实际状态。通过这些工具能够快速定位 robots.txt 配置是否生效。
robots.txt 的配置思路可以归纳为"按需放开、明确拒绝、逐步验证"。建议在明确站点收录需求的前提下,通过屏蔽无关目录释放抓取资源,同时在完成配置后,利用各搜索引擎的站长工具进行实际抓取测试,而非仅仅依赖自己的观察判断。同时,绝对不要将 robots.txt 视为安全防线,涉及用户隐私和商业机密的内容,必须在服务器和应用层面实施真正的防护措施。