错误一:全站禁止
User-agent: *
Disallow: /
这代表所有遵守robots.txt的机器人都不得访问全站。测试环境可以暂时使用,但正式上线后必须移除或调整。
普通公开企业站通常可以写:
User-agent: *
Allow: /
没有禁止规则时,本身也表示允许访问。
错误二:误封文章、服务和案例目录
Disallow: /articles/
Disallow: /service/
Disallow: /case/
这些页面往往承担企业能力、行业经验和信任证据。希望获得搜索和AI发现时,通常应该开放。
| 页面类型 | 一般建议 |
|---|---|
| 首页、服务页、产品页、文章、案例、FAQ | 开放 |
| 后台、登录、账户、内部搜索结果 | 禁止或使用真实权限控制 |
错误三:禁止CSS和JavaScript
Disallow: /css/
Disallow: /js/
现代搜索系统需要读取影响页面渲染的重要资源。阻止脚本和样式可能让系统看到残缺页面。除非明确知道后果,否则不要批量禁止资源目录。
错误四:把robots.txt当成保密工具
Disallow: /customer-data/
Disallow: /internal-report/
robots.txt本身公开,甚至可能暴露敏感目录名称。真正的敏感内容应使用登录、HTTP认证、角色权限或从公网移除。
错误五:误封目标AI爬虫
希望进入ChatGPT搜索,却写:
User-agent: OAI-SearchBot
Disallow: /
这会阻止对应搜索爬虫读取页面。管理搜索发现和训练用途应分开:
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
robots.txt与noindex的区别
| 功能 | robots.txt | noindex |
|---|---|---|
| 控制爬虫访问 | 是 | 否 |
| 控制搜索展示 | 不能直接保证 | 是 |
| 保护敏感内容 | 否 | 否 |
可以把robots.txt理解为“请不要进入”,把noindex理解为“不要把页面展示在搜索结果中”。私密内容两者都不能替代权限控制。
推荐基础结构
User-agent: Googlebot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /login/
Disallow: /account/
Sitemap: https://www.example.com/sitemap.xml
修改后的检查流程
robots.txt返回200;- 首页、服务、产品、文章和案例没有误伤;
- CSS、JS和图片资源可读取;
- CDN与源站规则一致;
- 服务器日志中目标爬虫能够获得200;
- 更新Sitemap并重新检查重点URL。
robots.txt的目标不是“禁止得越多越专业”,而是让正确的内容被正确的系统读取,同时避免无效资源消耗。