robots文件怎么写不出错?标准模板加3个常见坑
robots.txt放在网站根目录,用大白话讲,它是告诉蜘蛛哪些页面可以抓、哪些不要抓的约定文件。
写robots记住三条:规则从上到下匹配、用 User-agent 指定蜘蛛、用 Disallow 写禁止路径;写完一定在百度搜索资源平台的 robots 检测里验证。
最常见的事故是 Disallow: / 忘改,等于全站禁止抓取,上线前务必检查。
先搞懂:robots能做什么、不能做什么
robots是“君子协定”,它能引导合规蜘蛛的抓取,却不是防火墙,拦不住恶意访问。
它适合屏蔽后台、搜索结果页、重复参数页这类不想浪费抓取的地址。
一份可以直接套用的模板
User-agent: * Allow: / Disallow: /meng/ Disallow: /plus/ Sitemap: https://你的域名/sitemap.xml
逐行解释一下:
- User-agent: * 表示对所有蜘蛛生效
- Allow: / 表示允许抓取整站
- Disallow 用来写不希望被抓的目录
- Sitemap 告诉蜘蛛网站地图地址,方便发现页面

百度蜘蛛要单独写吗?
一般站点用 User-agent: * 通配即可。
如果只想对百度蜘蛛单独设规则,可以用 Baiduspider 单独声明一段,规则同样按从上到下匹配。
三个最容易踩的坑
| 错误写法 | 后果 | 正确做法 |
|---|---|---|
| Disallow: / | 全站禁止抓取 | 允许抓取,只屏蔽后台等目录 |
| 路径少写斜杠或写错大小写 | 规则不生效 | 路径以/开头,注意区分大小写 |
| 用robots屏蔽隐私页面 | 仍可能通过其他方式被收录 | 隐私页加noindex或做访问权限 |

写完怎么验证不出错
- 在搜索资源平台用 robots 检测,看规则是否被识别
- 用抓取诊断测试首页和内页能否正常抓取
- 确认文件能通过 域名/robots.txt 直接访问
robots和noindex、404怎么配合
不想被抓的目录用robots;已经收录、想让它退出索引的页面用noindex;内容已删除的用404。
三者分工不同,别混用。
说个我碰到的事
2024年12月,一个同行转介绍的客户,新站花3000元建好、上线三周,结果一个页面都没收录。
我打开robots.txt一看,里面赫然写着 Disallow: / ,这是测试阶段为了不让搜索引擎抓取临时加的,上线忘删了。客户说:“我也不懂,外包说做好了我就用了。”
我删掉那行、改成允许抓取并提交sitemap,一周多就开始收录。
问题一分钱没花就解决了,但他前三周的推广时间白白浪费。从那以后我都让客户上线当天必查一次robots。
高权重平台不用你写robots
robots这类技术活主要集中在官网,平台端基本不用操心。
我们重庆云析数智给客户做整站体检时,robots是必查项,确认无误后再同步铺平台内容。技术基础没把握的,建议上线前花点时间逐项核对,能避开很多低级但致命的问题。

常见问题
robots.txt怎么写才正确?
根目录放置,用 User-agent 指定蜘蛛、Allow 放行、Disallow 屏蔽具体目录、Sitemap 指明地图,写完在搜索资源平台robots检测验证。最关键是确认没有误写 Disallow: / 把整站屏蔽。
robots禁止收录为什么还能搜到?
robots只是引导抓取,页面若曾被收录或被其他网站链接,仍可能出现在结果中。想彻底退出索引,应对该页面加noindex,内容删除的返回404并提交死链。
robots.txt放哪个目录?
必须放在网站根目录,通过 域名/robots.txt 能直接访问才会生效;放到子目录里蜘蛛默认不会读取。
网站一定要有robots.txt吗?
不是强制的,没有robots时蜘蛛默认可以抓取;但实际优化中建议配置,便于屏蔽后台和重复页面、声明sitemap,让抓取更高效。