robots.txt 是网站根目录下一个控制搜索引擎爬虫行为的文本文件。合理配置它能有效管理服务器抓取压力、避免低质页面被收录,并帮助搜索引擎更高效地发现新内容。理解它的语法规则与常见误区,是每一位网站运营者都需要掌握的基础技能。
这个文件本质上是一份给爬虫看的"访问须知",它不包含任何强制的技术阻断,而是依靠搜索引擎的自愿遵守来生效。主流搜索引擎如 Google、百度、Bing 均会支持其标准指令。
在以下场景中,它能发挥明显作用:
需要特别警惕的是它的局限性。由于该文件对任何互联网用户完全可见,它绝不能用于保护敏感数据。一旦涉及用户隐私、内网信息或付费内容,必须采用服务器端认证或更严格的访问控制手段,否则相当于将机密直接暴露在公开环境中。
robots.txt 的语法非常简洁,每条规则以"字段名: 值"的形式呈现,每行只能包含一条指令。字段名不区分大小写,但路径部分必须精确匹配大小写。
以下是一段常见的配置写法:
User-agent: * Disallow: /admin/ Allow: /admin/public-info.html Sitemap: https://www.example.com/sitemap.xml这段规则的意思很清晰:对未单独定义的爬虫,一律禁止访问 admin 目录下的内容;但其中 public-info.html 这个页面是例外,允许被访问。最后,全站地图地址被传递给所有爬虫。
编写一份合格的 robots.txt 需要清晰的目标和严谨的测试,并不建议凭感觉直接写。
匹配的核心是"最长前缀优先"。当爬虫遇到多个匹配规则时,会选择最长的路径字符串来执行。例如,若同时有 Disallow: /api 和 Disallow: /api/user,那么访问 /api/user/profile 时会优先遵循更长的 /api/user 规则。对于 Allow 与 Disallow 冲突的情况,同样是长度更长的规则获胜。
此外,不能使用正则表达式或通配符(除 * 代表空串外),路径中的特殊字符可能被忽略,导致配置失效。若文件不存在或返回 404 状态,通常会被视为允许抓取全站,这点需要留意。
许多网站在配置时容易犯一些无意识的错误,导致预期效果完全偏离。
建议在配置完成后,定期查看抓取日志,观察爬虫实际访问的 URL 与预期是否一致。例如,如果发现自己设置的 Disallow 路径仍然频繁出现在抓取日志中,那大概率是规则路径写错或缓存了旧文件,需要及时修正并清缓存。
该文件必须存放在网站根目录下,且不能放置在子目录中。若放错位置,爬虫将无法找到文件,默认视为允许抓取所有内容。可以通过访问 https://你的域名/robots.txt 来确认是否能正确显示内容。
取决于匹配的长度。如果 Allow 路径比 Disallow 路径更长,则 Allow 生效;如果 Disallow 路径更长,则禁止访问。若长度相等,则按照字符串顺序,通常 Disallow 优先。
没有固定的更新时间。搜索引擎会定期重新抓取该文件,通常需要几个小时到几天不等。如果急需更新,可以通过搜索引擎站长工具提交首页或手动触发抓取,以加速更新过程。
合理配置 robots.txt 能显著优化抓取效率,但前提是理解其语法和边界。建议先从梳理网站目录结构开始,制定明确的屏蔽清单,再结合抓取测试工具进行验证。同时设定一个周期性的审查习惯,确保文件内容与站点结构同步,避免因旧规则导致重要内容被误屏蔽。记住,robots.txt 是辅助工具,而不是安全手段,真正的敏感数据还需依赖权限控制来保护。