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

终极 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所属公司/项目主要用途建议屏蔽的原因
AhrefsBotAhrefs用于SEO分析和反向链接检查,是全球最活跃的爬虫之一。抓取频率极高,消耗大量服务器CPU和带宽资源。
aiHitBotaiHit自动化地从网站上提取非结构化的公司信息。爬取目标明确,但频率较高,可能涉及隐私或数据滥用风险。
BLEXBotWebMeUp用于其自家SEO工具集的数据抓取,建立网络链接图谱。抓取行为较为激进,容易被识别为资源消耗型爬虫。
DataForSeoBotDataForSEO为营销和SEO工具提供数据的服务商,其爬虫用于收集网络数据。典型的B2B数据爬虫,对网站运营本身无益,纯属资源消耗。
DotBotMoz为Moz的SEO工具(如Domain Authority分析)提供数据支持。爬取行为可能过于频繁,属于不必要的资源消耗。
GrapeshotCrawlerOracle分析页面内容和上下文,以进行精准广告匹配。如果您不依赖于 Oracle 广告网络,其爬取行为就是不必要的消耗。
LinkpadBotLinkpad (俄罗斯)俄罗斯的一个SEO工具,用于分析网站的反向链接。性质与 AhrefsBot/MJ12bot 类似,对非俄语网站价值不大。
Mail.RU_BotMail.RU (俄罗斯)为俄罗斯主流搜索引擎Mail.ru索引网页内容。如果目标用户不涉及俄语地区,允许其抓取几乎没有价值。
MauiBotExensa用于“信息检索和研究目的”,但具体用途不够透明。目的不明确且行为模式类似数据抓取工具,建议屏蔽。
MJ12botMajestic爬取网页以建立其庞大的链接索引数据库,支持链接分析功能。属于高频爬虫,可能导致服务器负载过高。
PetalBotHuawei (华为)华为“花瓣搜索”的爬虫,为华为移动设备提供搜索服务。爬取频率非常高,行为激进,常被诟病其消耗大量资源。
ScrapyScrapy Framework一个开源的网络抓取框架,许多定制化的爬虫都基于它开发。可以阻止大量不规范或未声明身份的数据抓取机器人。
SemrushBotSemrush为Semrush营销工具套件(如竞争对手分析)收集数据。大量且深度的爬取可能导致服务器资源被过度占用。
SeznamBotSeznam (捷克)捷克共和国最主要的搜索引擎 Seznam 的爬虫。如果业务范围不包括捷克,允许其抓取会徒增服务器负担。
TurnitinBotTurnitin全球知名的学术防**工具,用于检查论文原创性。大量抓取网页内容作为其对比数据库,对绝大多数网站毫无必要。
XoviBotXovi (德国)为德国SEO工具XOVI提供网站分析数据。如果您的业务与德国市场无关,屏蔽它可以节省资源。
YandexBotYandex (俄罗斯)俄罗斯第一大搜索引擎的主爬虫,用于索引网页。抓取行为极其活跃,资源消耗巨大。 不面向俄语用户必屏蔽。
ZoominfoBotZoomInfo收集并验证公开的企业和联系人信息,用于其商业数据库。可能涉及数据隐私问题,且其抓取对普通网站运营无益。

主动防御无法识别的爬虫

做英文站一定会遇到印度爬虫。由于英文内容受众广、变现价值高,这些爬虫抓取文章、产品信息、深度评测后,会用于自动生成大量的垃圾网站(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+种垃圾蜘蛛与高耗能爬虫

评论

2+6=