robots.txt是一个放在网站根目录下的纯文本文件,它的职责是告诉搜索引擎的爬虫程序哪些页面可以抓取、哪些页面应该绕开。对于网站运营者而言,它既是引导搜索引擎蜘蛛重点抓取核心内容的工具,也是保护后台目录和敏感数据的屏障。配置得当能促进收录,配置出错则可能导致整站无法被收录或者内部信息暴露在搜索结果中。接下来,我们从语法基础到实际部署,把关键点逐一讲透。
这个文件的语法非常简洁,核心指令只有四条,掌握它们就能应对绝大多数场景。所有规则本质上都是“针对某个爬虫,允许或禁止访问某些路径”的声明。
一个标准的配置示例:
User-agent: *
Disallow: /tmp/
Allow: /tmp/share/
Sitemap: https://www.example.com/sitemap.xml
编写时有两个容易被忽视的细节:第一,路径区分大小写,/User/和/user/会被视为两个完全不同的目录;第二,必须使用半角英文字符,如果误用全角冒号或斜杠,该行规则会失效且不报错。
当某个URL同时命中Disallow和Allow时,规则匹配遵循最长匹配优先原则。即路径字符匹配越长的规则,优先级越高。比如禁止了/private/,又单独放开了/private/public/,那么后者目录下的内容可以被抓取。利用这个特性,可以精细控制开放范围。
不同的网站类型和运营阶段,对robots.txt的需求差异很大。以下三个场景基本覆盖了日常运营中的主流诉求。
网站正在进行改版调试或临时维护时,需要暂停所有爬虫访问。此时使用全屏蔽规则最直接,但要明确一点:这个操作只能阻止后续的抓取行为,无法删除搜索引擎中已有的旧快照。若想清理历史索引,需要另行为百度搜索资源平台或Google Search Console提交删除申请。
User-agent: *
Disallow: /
如果网站没有需要隐藏的后台目录或临时文件,建议采用最简配置,只声明Sitemap地址即可。这类网站的页面都是值得收录的内容,过多的Disallow规则反而会限制蜘蛛的遍历深度。
User-agent: *
Sitemap: https://www.example.com/sitemap.xml
企业官网通常需要隐藏后台管理入口、用户个人中心以及临时上传目录。这既能防止敏感数据被搜索引擎收录,也可以降低后台地址被攻击者通过搜索结果直接发现的风险。
User-agent: *
Disallow: /admin/
Disallow: /member/
Disallow: /uploads/tmp/
配置完成后,建议立即通过浏览器访问:https://你的域名/robots.txt,检查内容是否正确生效。
很多网站在配置这个文件时,因为对规则理解不透彻而误入歧途。这里整理了四个典型问题,帮助大家避开这些坑。
robots.txt本质上是一个君子协定,依赖搜索引擎蜘蛛自觉遵守。它无法阻止所有恶意或非主流爬虫。如果涉及真正的隐私数据,更可靠的做法是在服务器层面设置访问密码或IP白名单,而不是单纯依赖这个文本文件。
最常见的事故是把“Disallow: /”误写在根域名下,导致全站内容被拒绝抓取。部署后建议使用搜索引擎提供的抓取测试工具验证规则,而不是仅凭肉眼检查代码。还有一种情况是写错了文件名,比如命名为robot.txt或robots.txt.txt,这同样会导致规则不生效。
路径大小写敏感是文件系统的底层规则,robots.txt同样适用。另外,每个指令冒号后面有一个空格,但Disallow的值如果为空(即Disallow:后面直接换行),则代表允许抓取全部内容,这与Disallow: /的含义完全相反,务必区分清楚。
Sitemap指令必须给出完整可访问的URL,包括协议头。如果站点启用了HTTPS,就写https开头的地址,不要写http。写错协议头会导致蜘蛛无法读取站点地图,影响新内容的发现速度。
写好文件只是第一步,正确生效才是目的。部署后可以按以下步骤逐一检查:一是确认文件已上传至网站根目录,且命名为robots.txt;二是通过浏览器打开文件地址,检查是否有乱码或全角字符;三是在百度搜索资源平台和Google Search Console中提交并测试规则;四是观察一周内的抓取日志,确认蜘蛛的访问频率和抓取范围是否符合预期。
不可以。搜索引擎只读取网站根目录下的robots.txt文件,放在子目录中不会被识别。如果你使用多个子域名,每个子域名的根目录都需要放置独立的robots.txt文件。
在Google的规则中,遵循最长匹配原则,即路径匹配字符数更多的规则优先。国内的百度也采用了类似的匹配逻辑。因此建议将更具体的路径写在前面,避免歧义。
搜索引擎蜘蛛通常会定期重新抓取robots.txt文件,生效时间从几分钟到几天不等。如果想加速,可以在百度搜索资源平台或Google Search Console中手动提交更新。
robots.txt的配置并不复杂,但每一个细节都直接影响搜索引擎蜘蛛的行为。核心要点是:明确哪些内容必须保护,哪些内容需要开放;正确书写语法,避免全角字符和大小写错误;部署后及时验证并持续观察抓取日志。建议每季度检查一次该文件,特别是网站改版或目录结构调整后,及时更新规则,确保收录策略始终与运营目标一致。