robots.txt 是放在站点根目录下的一个纯文本文件,它告诉搜索引擎蜘蛛哪些地址可以抓、哪些先别来。文件本身很小,写错一行却可能让整站的页面迟迟进不了索引,所以值得把它当成一次固定自查来做,而不是上线时随手一写就再也不看。
一、先把文件位置和访问状态确认好
robots.txt 只能放在域名根目录,也就是 https://example.com/robots.txt,放在子目录里不会被识别。用浏览器直接打开这个地址,应该能看到纯文本内容,状态码是 200。
如果返回 404,说明文件不存在,蜘蛛会默认全站可抓;如果返回 403 或 5xx,蜘蛛可能会在短时间内减少抓取,甚至暂停,这比写错规则更麻烦。所以第一步不是改规则,而是确认它能被正常读取。
二、规则里最容易出问题的地方
- 误写 Disallow: /:这一行会挡住全站,很多时候是测试时加上去,后来忘了删。
- 大小写和拼写:路径区分大小写,/Article/ 和 /article/ 是两个地址,写错就挡不住或者挡太多。
- 通配符和结尾符号:星号和美元符号的支持程度各家不同,用之前最好查一下对应蜘蛛的说明文档。
- Sitemap 行:写成 Sitemap: 加上完整地址,有多个地图就写多行,不要用逗号拼在一行里。
- Crawl-delay:不是所有蜘蛛都认这一项,把它当参考,而不是控制抓取节奏的手段。
- User-agent 分组:不同蜘蛛分开写,组与组之间用空行隔开,避免规则互相串到别的分组里。
三、可以照着走一遍的自查清单
- 确认 robots.txt 能直接访问,返回 200,内容是纯文本。
- 检查有没有意外的全站禁止,或者把样式、脚本、图片目录一起挡掉了。
- 确认后台、登录页、站内搜索结果页等不该被抓的路径已经收住。
- 确认栏目页、文章页、列表页没有被规则误伤。
- 确认 Sitemap 地址写全,并且那个文件本身也能正常打开。
- 把规则和环境对应起来,测试站和正式站不要共用同一份文件。
四、改完之后怎么验证
改完别急着关掉页面,用搜索资源平台提供的 robots.txt 测试工具跑一遍,或者直接抓取几个关键地址,看返回的是“允许”还是“被拦截”。站点有多个子域名的话要分别确认,不要只查主域就以为都好了。
robots.txt 只是给遵守规则的蜘蛛看的建议,不是权限控制。真正不想被看到的内容,应该放在登录之后,而不是靠一行 Disallow 挡着。
五、和 URL 发现的关系
对做 URL 发现相关工作的站点来说,robots.txt 是入口的第一道门。门开得太大,蜘蛛会把额度耗在无意义的参数页和重复列表页上;门关得太死,新发布的页面又迟迟进不去。比较稳妥的做法是:把内容页、栏目页、站点地图放开,把筛选参数、站内搜索、后台路径收住,然后隔一段时间对照访问日志回看一遍,看蜘蛛实际抓的是不是你想让它抓的那些地址。
把这件小事固定成流程,改版、上线新栏目、迁移目录时都顺手检查一次,能省掉很多“页面明明发了却没人来”的排查时间。