Robots.txt 是一个放在网站根目录下的纯文本文件,它通过特定的指令来告知搜索引擎的爬虫程序:站点的哪些部分可以被抓取,哪些部分应当绕行。配置得当,既能引导爬虫高效抓取有效内容,也能避免资源浪费;但配置失误,则可能导致整站无法被收录。本文将从零开始,为你系统拆解 robots.txt 的完整设置方法。
官方的 robots 协议(也称为 Robots Exclusion Protocol)并不复杂,它主要建立在三条指令之上:User-agent(指定爬虫对象)、Disallow(禁止访问的路径)以及 Allow(允许访问的路径)。这三条指令共同构成了规则的主体。
在书写时,有几点需要特别留意:每条指令的英文单词大小写敏感,路径必须以网站根目录的斜杠 "/" 开始,并且每一行只能定义一条指令。以下是一些最基础的示例:
这里有一个重要的判断标准:当 Allow 与 Disallow 发生冲突时,路径字符匹配更长、更具体的那条规则生效。例如,Disallow 了 /docs,但 Allow 了 /docs/public.html,那么后者会被优先执行。
很多新手误以为 robots.txt 支持正则表达式,这是一个常见的误区。该文件仅支持星号(*)和美元符号($)两个特殊字符。星号代表任意字符序列,美元符号表示匹配路径的结尾。例如 Disallow: /*.pdf$ 可以拦截所有以 .pdf 结尾的链接,但需注意并非所有爬虫都支持 $ 符号,最稳妥的方式是查看各大搜索引擎的官方文档确认支持范围。
文件的命名必须严格为小写的 robots.txt,并且必须放置在网站域名的根目录下(即 public_html 或 www 对应的主目录)。放置完成后,可以通过访问 https://你的域名/robots.txt 来验证是否生效。如果出现 404 错误,说明放置位置有误。
在文件的保存格式上,建议使用 UTF-8 无 BOM 编码。关于这一点,一个实用的避坑建议是:尽量在文件内少用中文注释,改用英文描述,或者在保存时确认编辑器未添加 BOM 头,避免解析程序出现乱码导致规则失效。
此外,日常编写中容易犯的错误还包括:
使用全角字符(如括号、冒号);在路径末尾多打一个空格;混淆目录结尾的斜杠作用。对于希望封禁整个目录的情况,路径末尾必须带斜杠(如 /images/),否则可能只封禁了同名的具体文件。
在 robots.txt 中加入 Sitemap(站点地图)的路径,虽然并非该协议的标准指令,但却是通用做法,能有效加速新内容被搜索引擎发现。只需在文件末尾单独写入一行:Sitemap: https://www.example.com/sitemap.xml 即可。注意,这个指令不需要匹配任何 User-agent 块,单独成行即可。
针对资源文件的拦截,除了上面提到的 PDF 通配符写法,还可以对静态资源目录做处理。例如,如果你不希望搜索引擎收录站内的视频或压缩包资料,可以通过以下规则:Disallow: /uploads/video/ 或 Disallow: /downloads/ 进行屏蔽。
但需要注意:屏蔽抓取不等于阻止用户访问。robots.txt 只影响爬虫的行为,用户依然可以通过浏览器直接输入链接进入。如果涉及付费内容等需要严格保密的信息,请务必配合使用登录验证机制,而不能仅依赖 robots.txt 隐藏。
错误的规则若未及时发现,往往在 SEO 数据出现问题后才会被察觉。因此,部署后要立刻进行验证。可以利用搜索引擎站长平台的工具,输入具体的网址进行“抓取测试”,工具会明确告诉你该网址是被允许还是被阻止抓取,以及匹配的是哪一条规则。
在不方便使用在线工具时,可以简单自测:尝试访问 域名/robots.txt,查看返回的内容是否与上传的一致;同时观察日志中搜索引擎爬虫的 404 记录是否异常增加(这可能意味着规则把有效链接误屏蔽了)。
如果发现某个重要栏目迟迟不被收录,检查 robots.txt 是最优先的排查步骤。可以暂时通过注释(在行首加 # 号)停用可疑规则,观察搜索引擎是否恢复抓取,以此判断规则影响的严重性。
不能完全控制。robots.txt 只能禁止爬虫抓取该网页。如果该页面已经有外部链接或从其他途径被引用,搜索引擎仍可能仅根据链接信息将其收录进索引,但抓取不到正文内容会导致快照不完整。要实现彻底的不收录,应使用 noindex meta 标签,或者配合密码保护。
如果文件内容为空,或者仅有 Sitemap 指令,那么对于所有爬虫来说,默认行为就是“允许抓取所有页面”。这是因为没有任何禁止规则,爬虫有权抓取站内任何公开可访问的资源。
请检查你写的路径是否准确,例如是否误写成了 /admin(少了末尾的斜杠)。少了斜杠表示只禁止抓取名为“admin”的文件,而 admin/ 目录下的文件不受影响。建议将所有未托管的目录和文件规则都补全以斜杠结尾明确区分。
设置 robots.txt 的核心原则是“最小化干预”:只在必要的场景(如保护后台、避免重复内容、拦截无效资源)下添加规则,避免过度封禁。建议你每一次修改都先在测试工具中模拟验证,再正式部署到线上环境。定期(例如每季度)检查一次文件内容,确保它与网站当前的目录结构保持一致,这样才能让这项基础配置真正为 SEO 发挥正向作用。