🤖 Robots.txt生成器
爬虫规则 · 多引擎配置 · SEO必备
爬虫规则 · 多引擎配置 · SEO必备
robots.txt是放在网站根目录的文本文件,告诉搜索引擎爬虫哪些页面可以抓取、哪些不可以。遵循爬虫协议(Robots Exclusion Protocol)的爬虫会遵守这些规则。
主流搜索引擎(Google、Bing、百度、Yandex等)都遵守robots.txt。但恶意爬虫可以无视这些规则,robots.txt不是安全机制,只是礼貌性建议。
Disallow阻止爬虫访问页面,但如果该页面被其他页面链接引用,仍可能被收录URL(但不会抓取内容)。想完全阻止收录应使用noindex meta标签。
每条规则都针对一个User-agent(爬虫名)。User-agent: * 表示针对所有爬虫,Disallow后面写禁止的路径。可以写多组,分别针对Googlebot、Baiduspider等不同爬虫设置不同规则。
Crawl-delay: 秒数 表示要求爬虫每次抓取之间等待的秒数,用于降低服务器压力。注意Google和Bing已不支持这个指令,只有百度、Yandex等部分爬虫仍会遵守。
在文件末尾加一行 Sitemap: https://你的域名/sitemap.xml 即可。搜索引擎抓取robots.txt时会顺带发现Sitemap地址,是最省事的提交方式之一。
爬虫通常会在一定缓存周期后重新抓取robots.txt,一般几分钟到24小时内生效。如果想尽快让某个目录停止被抓取,配合noindex/Meta标签会更及时可靠。
在同一组规则内,路径匹配得更具体的那条优先。robots.txt没有"Allow覆盖Disallow"的绝对规则,靠的是最具体匹配。所以想只放行某个子目录,要在Disallow之外精确写Allow那一行。
Robots 排除协议(Robots Exclusion Protocol,REP)诞生于1994年,是网站与搜索引擎爬虫之间的"君子协定"。它不是一个强制性的技术标准,而是爬虫自愿遵守的规范。
| 维度 | 要求 | 说明 |
|---|---|---|
| 位置 | 网站根目录 | https://example.com/robots.txt |
| 编码 | UTF-8 纯文本 | |
| 大小 | ≤500KB | Google 建议 |
| 范围 | 当前域名+协议 | HTTP/HTTPS 各自独立 |
| 子域名 | 各自独立 | www 与 api 分开 |
以下是主流搜索引擎使用的爬虫 User-Agent 名称,可以用在 robots.txt 的 User-agent 行中:
| 搜索引擎 | User-Agent | 用途 |
|---|---|---|
| Googlebot | 通用网页抓取 | |
| Google 图片 | Googlebot-Image | 图片搜索抓取 |
| Google 视频 | Googlebot-Video | 视频搜索抓取 |
| Google 新闻 | Googlebot-News | 新闻内容抓取 |
| Google Ads | AdsBot-Google | 广告质量评估 |
| Bing | Bingbot | 通用网页抓取 |
| 百度 | Baiduspider | 通用网页抓取 |
| 百度 图片 | Baiduspider-image | 图片搜索抓取 |
| Yandex | YandexBot | 通用网页抓取 |
| Yahoo | Slurp | 通用网页抓取(已逐步被 Bingbot 取代) |
| DuckDuckGo | DuckDuckBot | 通用网页抓取 |
| Sogou 搜狗 | Sogou web spider | 通用网页抓取 |
| 360 搜索 | 360Spider | 通用网页抓取 |
| 字节跳动/头条 | Bytespider | 内容抓取 |
robots.txt 中可以声明 Sitemap 的位置,帮助爬虫快速发现网站地图:
| 指令 | 作用 | 示例 |
|---|---|---|
| User-agent | 指定规则适用的爬虫 | User-agent: Googlebot |
| Disallow | 禁止抓取的路径 | Disallow: /admin/ |
| Allow | 允许的例外 | Allow: /admin/login.html |
| Sitemap | 声明站点地图 | Sitemap: /sitemap.xml |
| Crawl-delay | 抓取间隔(秒) | Crawl-delay: 10 |
以下是配置 robots.txt 时最容易犯的错误:
| 错误 | 后果 | 正确做法 |
|---|---|---|
| 路径大小写错误 | 放行不该放的目录 | 注意 /Admin/ 与 /admin/ 不同 |
| 缺尾部斜杠 | 误匹配无关页面 | 用 /admin/ 精确匹配目录 |
| 用做安全防护 | 敏感内容仍暴露 | 改服务器认证 + noindex |
| 依赖 Crawl-delay | Google 不认 | 用 Search Console 设抓取频率 |
| 指令 | 作用 | 示例 | 是否通用 |
|---|---|---|---|
| User-agent | 指定规则适用的爬虫 | User-agent: Googlebot | 所有爬虫均支持 |
| Disallow | 禁止爬取的路径 | Disallow: /admin/ | 所有爬虫均支持 |
| Allow | 例外允许的路径 | Allow: /admin/login.html | 所有主流爬虫支持 |
| Crawl-delay | 爬取间隔(秒) | Crawl-delay: 10 | Bing/Yandex支持,Google不支持 |
| Sitemap | 声明网站地图地址 | Sitemap: https://example.com/sitemap.xml | 所有主流爬虫支持 |
| # | 注释行(#开头) | # 这是注释 | 通用(部分爬虫可能忽略) |
| * | 通配符(任意爬虫) | User-agent: * | 通用 |
| $ | 路径结尾匹配 | Disallow: /*.pdf$ | Google/Bing支持,其他不一定 |
1. 选择适用的搜索引擎爬虫。
2. 填写禁止(Disallow)和允许(Allow)的路径。
3. 设置爬取延迟(Crawl-delay)。
4. 填写Sitemap地址(可选)。
5. 点击生成,复制结果放到网站根目录。