robots.txt 是网站根目录下的纯文本文件,用于控制搜索引擎爬虫的访问权限。以下是其核心语法、常见场景及注意事项的详细说明:
一、基础语法与结构
- 文件位置与命名
- 必须位于网站根目录(如
https://www.example.com/robots.txt),文件名严格小写。 - 若文件不存在,爬虫默认可访问全站内容。
- 必须位于网站根目录(如
- 核心指令
User-agent:指定目标爬虫(如Googlebot、Baiduspider或*表示所有爬虫)。Disallow:禁止访问的路径(如/admin/禁止抓取admin目录)。Allow:允许访问的路径(用于覆盖Disallow规则)。Sitemap:可选,声明站点地图路径(需完整 URL)。
- 通配符与匹配规则
*:匹配任意字符(如/private*/禁止所有以private开头的目录)。$:匹配 URL 结尾(如Disallow: /*.jpg$禁止所有.jpg图片)。- 路径区分大小写,末尾斜杠影响范围(如
/images/禁止整个目录,/images仅禁止同名文件)。
二、常见场景示例
- 禁止所有爬虫访问
User-agent: * Disallow: /效果:全站内容均不被索引。 - 允许特定爬虫访问
User-agent: BadBot Disallow: / User-agent: * Allow: /效果:仅允许BadBot访问全站。 - 限制目录与文件类型
User-agent: * Disallow: /cgi-bin/ Disallow: /images/*.gif Allow: /public/效果:禁止cgi-bin目录及所有 GIF 图片,允许public目录。 - 动态页面与参数过滤
User-agent: * Disallow: /*?*效果:禁止抓取含查询参数的 URL(如index.php?id=1)。
三、高级用法与注意事项
- 多爬虫针对性规则
User-agent: Googlebot Disallow: /temp/ Allow: /public/ User-agent: Baiduspider Disallow: /admin/不同爬虫可设置独立规则。 - Meta 标签补充 在 HTML 中通过
<meta name="robots" content="noindex, nofollow">进一步控制单页抓取行为。 - 常见错误与优化
- 文件编码:建议使用 ANSI 或 UTF-8(避免首行乱码)。
- 路径规范:避免路径末尾多余空格或斜杠混淆。
- 测试工具:通过 Google Search Console 的 Robots.txt 测试工具验证语法。
四、完整示例模板
User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /*.php$
Allow: /public/
Sitemap: https://www.example.com/sitemap.xml
五、注意事项
- 非强制性:robots.txt 是建议性协议,部分爬虫可能忽略规则。
- 隐私保护:敏感信息仍需通过服务器权限控制,而非依赖 robots.txt。
- 更新生效:修改后需等待搜索引擎缓存刷新(通常数小时至数天)。
通过合理配置 robots.txt,可有效管理搜索引擎抓取范围,优化网站性能与隐私保护。建议结合站点地图(Sitemap)和 Meta 标签实现更精细控制。
