robots.txt 是放在网站根目录的一个纯文本文件,用来向搜索引擎爬虫说明站点的抓取边界。设置得当,可以引导抓取重点内容、减少无效请求;设置不当,则可能引发整站收录下降或非公开目录被索引。理解它的语法和匹配规则,是每个网站运营者的基本功。
这份文件更像是一份公开的“君子协定”,主流搜索引擎会依据其中的规则调整抓取行为,但它不具备强制执行力。它没有权限验证机制,也无法阻止恶意程序直接读取或抓取内容。凡是真正敏感的数据,必须依靠登录校验、IP 白名单等措施来保护,不能把希望完全寄托在 robots.txt 上。
它最常见的价值体现在三个方面:阻止爬虫进入后台目录或测试环境,减少无关页面的收录;过滤带有大量追踪参数的动态链接,降低重复内容的风险;以及通过声明 Sitemap 地址,让新内容更快被搜索引擎发现。
规划屏蔽策略时,请务必建立安全边界的意识。你设置的规则,只对愿意遵守协议的爬虫有效。对于不守规矩的抓取工具,robots.txt 形同虚设。
robots.txt 的规则十分直白,采用“字段: 值”的格式,一行一条指令。字段名不区分大小写,但路径部分区分大小写,这一点在实际配置时容易疏忽。
举例来说,站内有个仅限员工使用的内部资料区 /private/,但其中有一篇对外公开的产品说明文档需要被收录。此时可以参照以下规则:
User-agent: *
Disallow: /private/
Allow: /private/product-guide.html
Sitemap: https://example.com/sitemap.xml
这段规则表达的逻辑是:默认屏蔽 private 目录的全部内容,但将该目录下的 product-guide.html 页面单独放行,同时告知爬虫站点地图位置。这种“整体禁止、局部开放”的模式,在各类内容型网站中非常常见。
写出一份能用的 robots.txt 并不难,但要确保规则不引起“误伤”,则需要掌握正确的编写顺序和匹配逻辑。规则按从上到下的顺序读取,每个爬虫只会匹配与自身名称对应的第一条有效规则组。
判断规则是否会产生歧义有一个简单的方法:设想自己是爬虫,从规则列表顶部开始逐行阅读,找到第一个匹配当前路径的规则。如果匹配到的是 Allow,则允许访问;反之则禁止。这一模拟过程能帮你快速发现逻辑漏洞。
配置失误往往是隐性的,不会立刻报错,但会在一段时间后反映在收录数据上。
不能。它只影响遵守协议的搜索引擎爬虫,无法阻止普通用户或第三方工具直接访问、复制网页内容。要想限制内容滥用,应结合服务器端的访问控制手段。
规则本身是即时生效的,但搜索引擎爬虫需要重新抓取该文件后才能获知变更。根据搜索引擎的抓取频率,这个过程可能需要数小时到数天不等。你也可以通过搜索引擎的站长工具手动提交抓取请求来加速。
爬虫会默认允许抓取站点所有公开可访问的内容。没有这份文件并不会导致网站无法被收录,但也会失去对爬虫行为的引导能力。对于目录繁杂或动态参数较多的站点,这通常意味着资源浪费。
配置 robots.txt 的核心理念是“明确意图,留有余地”。建议每半年检查一次规则文件,与网站现阶段的目录结构进行比对,删除无用的屏蔽项,更新失效的 Sitemap 地址。给自己留几分钟验证规则在爬虫视角下的实际效果,远比事后处理收录事故要省心得多。