终极 Robots.txt 屏蔽规则,有效屏蔽20+种垃圾蜘蛛与高耗能爬虫

最近发现网站服务器资源消耗巨大,带宽被不明流量占满,检查访问日志后才发现,发现很多都是各种各样的网络爬虫和垃圾蜘蛛。这些爬虫大多来自各类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 为例,即使是免费版,也提供了强大的防火墙功能,让您可以轻松实现主动防御。

  1. 登录 Cloudflare:选择网站,进入 “安全性” (Security) -> “WAF防火墙”。
  2. 创建防火墙规则:点击 “Create firewall rule”。
  3. 配置规则名称:Block High-Risk Scraper Regions
  4. 设置条件:字段 Country | 运算符 equals | 值 India
  5. 选择操作:推荐质询 (Managed Challenge):,对来自该地区的所有访客显示一个人机验证页面。真人用户可以通过,而绝大多数自动化爬虫会被拦截。如果还是不行直接阻止 (Block),直接阻止该地区所有IP的访问。

通过这样一条简单的规则,就可以将绝大部分来自印度等某一地区的自动化爬虫流量拒之门外,从根本上保护服务器资源和原创内容。对于国内的采集爬虫,虽然无法按国家封锁,但 Cloudflare 的机器人解决方案(Bot Fight Mode)和速率限制(Rate Limiting),设置非常简单,在菜单安全性和WAF选项打开就可以,这两个功能也能有效识别并拦截其异常的访问行为。

未经允许不得转载:主机格调 » 终极 Robots.txt 屏蔽规则,有效屏蔽20+种垃圾蜘蛛与高耗能爬虫

评论

3+6=