Robots.txt
最近在做站点的SEO优化和爬虫权限控制,反复跟 robots.txt 打交道,踩了不少小坑,也把这块的知识点彻底梳理了一遍。今天就用最直白的方式,跟大家聊聊 Robots协议 到底是什么、怎么写、实战中怎么用,新手也能直接照着配。
一、先搞懂:Robots.txt 到底是个啥?
Robots协议,全称是 Robots Exclusion Protocol(网络爬虫排除标准),大家平时也叫它爬虫协议、机器人协议。
说白了,它就是一个纯文本的配置文件,我们把它放在网站根目录,用来告诉百度、谷歌这些搜索引擎的爬虫:
- 哪些页面你可以随便爬
- 哪些目录、文件你不许碰
它是一个君子协定,正规的搜索引擎都会遵守,但恶意爬虫是可以无视的,所以别指望用它来保护敏感数据,这点一定要记牢。
二、最基础:一行代码禁止整站被抓取
很多时候我们测试站点、内部站点,不想被任何搜索引擎收录,最简单的写法就两行,直接复制就能用:
1 | |
解释一下:
User-agent: *:代表所有爬虫,不管是百度、谷歌还是其他,一视同仁Disallow: /:/代表网站根目录,也就是禁止抓取整个网站
这也是我最常用的临时屏蔽配置,测试环境必备。
三、核心指令:写 Robots.txt 必懂这几个
其实整个协议的语法非常简单,常用指令就这几个,记熟就够写90%的配置了:
- User-agent:指定针对哪个爬虫
- Disallow:禁止抓取的路径
- Allow:允许抓取的路径(优先级比 Disallow 高)
- Sitemap:告诉爬虫网站地图的地址
- Crawl-delay:建议爬虫的抓取间隔(部分爬虫支持)
路径规则也很简单:
/:根目录,代表全站/admin/:禁止 admin 目录及所有子内容/test.html:只禁止这一个单独文件
四、常见爬虫 User-agent 大全(2017年实测版)
不同的搜索引擎,都有自己专属的爬虫标识,我把日常最常见的整理出来了,配置的时候直接对号入座:
1 | |
平时配置,只需要关注百度、谷歌、必应这几个主流的就行,小众爬虫直接用通配符 * 管理。
五、实战配置示例:直接复制改路径就能用
我把工作中最常用的几种场景整理好了,直接套用就行。
1. 禁止所有爬虫,只允许百度抓取
1 | |
2. 允许全站抓取,只屏蔽敏感目录
1 | |
3. 针对不同爬虫做不同限制
1 | |
六、我踩过的坑:这些误区一定要避开
- 文件必须放根目录
只能是域名/robots.txt,放在子目录里没用,爬虫不会识别。 - 文件名必须全小写
是robots.txt,不是Robots.txt或者robot.txt,写错直接失效。 - 别用它保护敏感数据
它只是协议,不是权限控制,/admin/即使禁止抓取,直接输URL还是能访问。 - 规则有优先级
具体爬虫 > 通配符*,Allow > Disallow,别写冲突了。
七、总结
其实 robots.txt 一点都不复杂,核心就记住三点:
- 用
User-agent指定爬虫,*代表全部; - 用
Disallow禁止路径,/代表全站; - 放在网站根目录,文件名全小写。
日常做站点优化、屏蔽爬虫、控制收录,这套规则完全够用了。
Robots.txt
https://cszy.top/2017-11-27 robots-txt/