最近发现网站服务器资源消耗巨大,带宽被不明流量占满,检查访问日志后才发现,发现很多都是各种各样的网络爬虫和垃圾蜘蛛。这些爬虫大多来自各类SEO分析工具、商业数据公司、非目标市场搜索引擎还有采集站,抓取网站内容频率非常高,急剧消耗服务器资源,导致网站加载缓慢,而且并不会带来任何直接的益处。
可以通过配置网站根目录下的 robots.txt 文件,向这些爬虫发出禁止访问指令。不过不能彻底解决这个问题,很多爬虫狡兔三窟,给你一个爬虫,无数个爬虫暗地里干坏事,我们只能综合各种手段多管齐下来解决,最简单的就是配置 robots.txt 文件。
什么是 Robots.txt?
Robots.txt 是一个遵循“机器人排除协议”(Robots Exclusion Protocol)的纯文本文件。它位于网站的根目录下,其主要作用是告知搜索引擎爬虫或其他网络机器人,网站上的哪些内容可以被抓取,哪些内容则不应该被抓取。
需要注意的是,robots.txt 是一种“君子协议”,依赖于爬虫的自觉遵守。虽然主流的搜索引擎爬虫(如 Googlebot、Bingbot)会严格遵守规则,但一些恶意的或设计不良的爬虫可能会选择性忽略它。
关于屏蔽搜索引擎
在使用Robots.txt规则前,请务必明确一点:要谨慎屏蔽主流搜索引擎比如百度或者Yandex,意味着大概率放弃来自该地区的所有自然搜索流量。
百度是国内最大的中文搜索引擎,不过今天看到目前微软的Bing目前在国内桌面搜索已经占到40%以上了,百度限制越来愈多,流量给的越来越少,有时候直接禁掉拉倒。Yandex 是俄罗斯最大的搜索引擎。如果网站业务、内容或潜在用户与中文区或俄语区完全无关,那么屏蔽未尝不可,可以节省大量资源。要网站的目标受众,谨慎决定是否启用针对特定搜索引擎的屏蔽规则。
终极 Robots.txt 屏蔽规则
这份规则整合并分类了各类非必要的爬虫,可以根据自身需求进行删减。
# ================================================= # Ultimate robots.txt Blocklist by 主机格调文章编辑 # Last Updated: 2025 # ================================================= # === Block SEO & Marketing Crawlers === # These bots are from SEO tools. If you don't actively use them # or need them to audit your site, blocking them can save a lot of resources. User-agent: AhrefsBot Disallow: / User-agent: SemrushBot Disallow: / User-agent: MJ12bot Disallow: / User-agent: DotBot Disallow: / User-agent: BLEXBot Disallow: / User-agent: XoviBot Disallow: / User-agent: DataForSeoBot Disallow: / User-agent: LinkpadBot Disallow: / # === Block Business Info & Data Scrapers === # These bots scrape data for commercial databases and analytics. User-agent: ZoominfoBot Disallow: / User-agent: aiHitBot Disallow: / User-agent: GrapeshotCrawler Disallow: / # === Block Non-Target Market Search Engines (CHOOSE WISELY) === # Block these only if your target audience is NOT in their primary regions. User-agent: Mail.RU_Bot Disallow: / User-agent: YandexBot Disallow: / User-agent: SeznamBot Disallow: / User-agent: PetalBot Disallow: / # === Block Other Resource-Intensive Bots === # General crawlers with unclear benefits or high consumption. User-agent: MauiBot Disallow: / User-agent: TurnitinBot Disallow: / User-agent: Scrapy Disallow: /
屏蔽爬虫的详细信息
下表详细解释了列表中的每一个爬虫,方便理解其行为和屏蔽的理由。
| User-agent | 所属公司/项目 | 主要用途 | 建议屏蔽的原因 |
| AhrefsBot | Ahrefs | 用于SEO分析和反向链接检查,是全球最活跃的爬虫之一。 | 抓取频率极高,消耗大量服务器CPU和带宽资源。 |
| aiHitBot | aiHit | 自动化地从网站上提取非结构化的公司信息。 | 爬取目标明确,但频率较高,可能涉及隐私或数据滥用风险。 |
| BLEXBot | WebMeUp | 用于其自家SEO工具集的数据抓取,建立网络链接图谱。 | 抓取行为较为激进,容易被识别为资源消耗型爬虫。 |
| DataForSeoBot | DataForSEO | 为营销和SEO工具提供数据的服务商,其爬虫用于收集网络数据。 | 典型的B2B数据爬虫,对网站运营本身无益,纯属资源消耗。 |
| DotBot | Moz | 为Moz的SEO工具(如Domain Authority分析)提供数据支持。 | 爬取行为可能过于频繁,属于不必要的资源消耗。 |
| GrapeshotCrawler | Oracle | 分析页面内容和上下文,以进行精准广告匹配。 | 如果您不依赖于 Oracle 广告网络,其爬取行为就是不必要的消耗。 |
| LinkpadBot | Linkpad (俄罗斯) | 俄罗斯的一个SEO工具,用于分析网站的反向链接。 | 性质与 AhrefsBot/MJ12bot 类似,对非俄语网站价值不大。 |
| Mail.RU_Bot | Mail.RU (俄罗斯) | 为俄罗斯主流搜索引擎Mail.ru索引网页内容。 | 如果目标用户不涉及俄语地区,允许其抓取几乎没有价值。 |
| MauiBot | Exensa | 用于“信息检索和研究目的”,但具体用途不够透明。 | 目的不明确且行为模式类似数据抓取工具,建议屏蔽。 |
| MJ12bot | Majestic | 爬取网页以建立其庞大的链接索引数据库,支持链接分析功能。 | 属于高频爬虫,可能导致服务器负载过高。 |
| PetalBot | Huawei (华为) | 华为“花瓣搜索”的爬虫,为华为移动设备提供搜索服务。 | 爬取频率非常高,行为激进,常被诟病其消耗大量资源。 |
| Scrapy | Scrapy Framework | 一个开源的网络抓取框架,许多定制化的爬虫都基于它开发。 | 可以阻止大量不规范或未声明身份的数据抓取机器人。 |
| SemrushBot | Semrush | 为Semrush营销工具套件(如竞争对手分析)收集数据。 | 大量且深度的爬取可能导致服务器资源被过度占用。 |
| SeznamBot | Seznam (捷克) | 捷克共和国最主要的搜索引擎 Seznam 的爬虫。 | 如果业务范围不包括捷克,允许其抓取会徒增服务器负担。 |
| TurnitinBot | Turnitin | 全球知名的学术防**工具,用于检查论文原创性。 | 大量抓取网页内容作为其对比数据库,对绝大多数网站毫无必要。 |
| XoviBot | Xovi (德国) | 为德国SEO工具XOVI提供网站分析数据。 | 如果您的业务与德国市场无关,屏蔽它可以节省资源。 |
| YandexBot | Yandex (俄罗斯) | 俄罗斯第一大搜索引擎的主爬虫,用于索引网页。 | 抓取行为极其活跃,资源消耗巨大。 不面向俄语用户必屏蔽。 |
| ZoominfoBot | ZoomInfo | 收集并验证公开的企业和联系人信息,用于其商业数据库。 | 可能涉及数据隐私问题,且其抓取对普通网站运营无益。 |
主动防御无法识别的爬虫
做英文站一定会遇到印度爬虫。由于英文内容受众广、变现价值高,这些爬虫抓取文章、产品信息、深度评测后,会用于自动生成大量的垃圾网站(MFA - Made for AdSense),通过在这些劣质内容站上展示谷歌广告来套利。国内的“采集站”爬虫几乎是无差别地爬取一切有价值的内容,专门做采集站。
几乎所有运营内容型网站的站长,无论是中文还是英文站,都会面临这些内容采集爬虫。尽管已经在 robots.txt 文件中明确禁止了各类爬虫,但服务器的资源依旧被不明流量大量消耗,原创内容依然在发布后短时间内就出现在其他网站上。原因比较无奈。
一、缺乏大型、统一的爬虫来源;与俄罗斯拥有 Yandex、中国拥有百度、美国拥有 Google 不同,印度没有一个在全球范围内进行大规模网页抓取且拥有单一、知名 User-agent 的本土搜索引擎或SEO巨头。
二、抓取行为高度分散;大量消耗资源的流量并非来自一两家大公司,而是源于庞大的技术外包产业、数据抓取服务公司、初创企业、黑灰产、和自由开发者,非常分散。
三、普遍使用通用或伪造的 User-agent;这些爬虫通常使用Scrapy, Playwright等开源工具或自定义脚本进行数据采集,伪造 User-agent,将自己伪装成正常的浏览器(如 Chrome、Firefox)或 Googlebot,以试图绕过基础的防护。
所以对于印度爬虫这些分散的流量,仅仅依赖 robots.txt 这份“君子协议”是几乎无效的,要么没有表明身份,要么故意撒谎,只能CDN主动防御,屏蔽整个地区。
利用 Cloudflare 进行区域封锁
以全球应用最广的 Cloudflare 为例,即使是免费版,也提供了强大的防火墙功能,让您可以轻松实现主动防御。
- 登录 Cloudflare:选择网站,进入 “安全性” (Security) -> “WAF防火墙”。
- 创建防火墙规则:点击 “Create firewall rule”。
- 配置规则名称:Block High-Risk Scraper Regions
- 设置条件:字段 Country | 运算符 equals | 值 India
- 选择操作:推荐质询 (Managed Challenge):,对来自该地区的所有访客显示一个人机验证页面。真人用户可以通过,而绝大多数自动化爬虫会被拦截。如果还是不行直接阻止 (Block),直接阻止该地区所有IP的访问。
通过这样一条简单的规则,就可以将绝大部分来自印度等某一地区的自动化爬虫流量拒之门外,从根本上保护服务器资源和原创内容。对于国内的采集爬虫,虽然无法按国家封锁,但 Cloudflare 的机器人解决方案(Bot Fight Mode)和速率限制(Rate Limiting),设置非常简单,在菜单安全性和WAF选项打开就可以,这两个功能也能有效识别并拦截其异常的访问行为。
未经允许不得转载:主机格调 » 终极 Robots.txt 屏蔽规则,有效屏蔽20+种垃圾蜘蛛与高耗能爬虫
主机格调



