Hallo meine Damen und Herren, in diesem Artikel möchte ich Ihnen erzählen, wie ich schädliche Bots wie ahfers, Semrush ,PetalBot, Majestic ,Megaindex und viele andere blockiere. Im Allgemeinen verursachen Bots, die aktiv auf der Website herumstöbern, eine Menge Probleme. Und ab einem bestimmten Punkt verbrauchen sie eine große Menge an Ressourcen des Servers, auf dem Ihre Website gehostet wird.

Bots müssen blockiert werden

Nicht nur, dass Bots eine zusätzliche kolossale Last auf dem Server erzeugen, die zusätzliche Ressourcen für ihn kosten wird. Nun, oder in ein teureres Hosting-Angebot.

Aber es gibt noch ein größeres Problem: Bots sammeln Informationen über Sie. Jemand SemRush, Majestic oder LinkPad Wird Ihren Konkurrenten viele Informationen über Ihre Website liefern. Über die Satellitenstandorte Das Linkprofil, der Traffic, das Linkprofil und alle Anker, mit denen Sie werben.

Dank der Informationen, die diese Dienste sammeln, ist Ihre Website im Allgemeinen in den Händen Ihrer Konkurrenten. Bots müssen also blockiert werden, vor allem wenn Sie ein kommerzielles Projekt haben.

Aber je älter und sichtbarer Ihre Website ist, desto mehr Bots werden sie besuchen. Zunächst wird ihre Zahl gering sein, und die entstehende Belastung wird kein Problem darstellen.

Irgendwann wird es viele Bots geben, die Hosting- oder Server-Ressourcen werden nicht mehr ausreichen. Auf meiner Website kam es ganz banal zu einer derartigen Situation. Ich musste die Website sogar auf ein anderes Hosting umziehen, um genügend Ressourcen zu haben, aber selbst dort waren die Ressourcen fast ausgereizt.

Serverlast vor dem Blockieren von Bots
Serverlast vor dem Blockieren von Bots

Dann habe ich beschlossen, nicht faul zu sein und die bösen Bots zu blockieren. Ein paar Tage lang wurden diejenigen, die meine Website besuchten, abgefangen und dann gesperrt.htaccess.

Die Belastung des Servers ist deutlich gesunken. Natürlich, 20-30% – der Unterschied ist nicht der größte, aber je größer die Website, desto mehr Bots auf sie sein wird, bzw. diese 20-30% Unterschied wird in Überzahlungen für Hosting oder VPS drehen.

Serverbelastung nach Blockierung von Bots
Serverbelastung nach Blockierung von Bots

Sicher, das Ergebnis mag nicht besonders beeindruckend sein, aber es war es wert. Jetzt muss ich keine zusätzlichen CP mehr kaufen oder einen teureren Tarif abschließen, ein einfacher Botblock spart also Geld.

Ich möchte Sie ermutigen, das Gleiche zu tun.

Wie man bösartige Bots blockiert

Unterteilen wir die Bots in zwei Teile:

  1. Nützlich. Bots von Suchmaschinen und ihre Dienste. Zum Beispiel, YandexBot, GoogleImage. Sie können sie nicht blockieren, denn das würde sich negativ auf Ihre Suchmaschinenpositionen auswirken.

  2. Böse Bots. Verschiedene Dienste wie SemRush, Ahfers, Megaindex usw. Im Allgemeinen sind dies die, die wir ausschließen.

Nachdem Sie alle Arten von Bots blockiert haben, wird Ihre Serverlast deutlich sinken. Wenn Sie Benachrichtigungen von Ihrem Hoster erhalten, dass das Prozesslimit überschritten wurdeоder Zeit (CP), dann ist es an der Zeit, einige der bösen Bots auszuschalten. Welche Art von robots und Crawler erhöhen gezielt die Belastung, wie Sie den Protokollen entnehmen können.

Finden Sie die Logik kannaber auf einem Server werden die Besucherprotokolle normalerweise in separate Protokolle geschrieben. Zum Beispiel, in Fozzy können Sie sie im Abschnitt “Statistiken” des DirectAdmin, bei Beget müssen Sie “Access Logs” im Hosting-Kontrollpanel separat aktivieren. Generell gilt: Wenn Sie nicht wissen, wie Sie es selbst machen können, fragen Sie Ihren Hoster, er wird Ihnen dabei helfen.

Besucherlogbuch auf Beget

Danach werden Sie ein Bild wie dieses sehen, in dem in den Protokollen eine Reihe von Benutzer-Agent, verschiedene IPS, und die Uhrzeit des Besuchs.

Besuchsprotokoll auf dem Server

Ich empfehle nicht, gedankenlos alles zu blockieren. Es ist der Bot, der isoliert werden muss. Wenn Sie alle “Benutzer-Agenten” blockieren, blockieren Sie auch echte Besucher.

Viele Bots identifizieren sich selbst. Sie sind am einfachsten auszusortieren.

Besuchsprotokoll auf dem Server

Einige Bots geben sich nicht zu erkennen oder tarnen sich sogar als Crawler. Es ist möglich, sie anhand der IP-Adresseauszuschalten, aber das ist praktisch nutzlos, da bösartige Roboter IP-Adressenhaben, die sich ständig ändern.

Sie können die Filterung auch mit Hilfe von Reverse-DNS-Abfrageneinrichten, aber das ist keine einfache Aufgabe, daher beschränken wir uns in diesem Artikel auf das Blockieren von identifizierbaren Bots sowie der “dreistesten” IP-Adressen.

Natürlich habe ich eine Liste veröffentlicht von hilfreichen und schädlichen Bots . Um deutlich zu machen, was und warum ich blockiere. Ich werde die Listen in regelmäßigen Abständen aktualisieren und auch diesen Artikel bearbeiten. Dieser Artikel gilt jedoch nur für Bots, die identifiziert werden können.

Beginnen wir mit der Option Dateisperre .htaccess-Datei, weil sie am effizientesten ist.

Bots über .htaccess blockieren

Diese Option ist die beste, da Bots und Crawler die Anweisungen in robots.txt oft ignorieren. Es besteht die Möglichkeit, mit dem Befehl SetEnvIfNoCase User-Agent oder über ReveriteCond zu blockieren . Die erste Methode ist besser. Nun, für mich persönlich.

In dieser Liste habe ich genau die Bots gesammelt, die ich auf meiner Website herausgefischt habe. Und die Abriegelung hat funktioniert. In den Protokollen sehen Sie, dass die Bots eine Server-Antwort 403 erhalten, bzw. die Last auf Ihrer Seite reduziert wird.

Denken Sie daran, dass viele Websites ähnliche Listen zum Blockieren von Bots und Crowlers haben. Ich empfehle, dass Sie nicht gedankenlos kopieren sie, wie Richtlinien sind oft von Menschen aus dem Ausland gemacht, bzw., es gedankenlos blockieren Crowler Yandex und Mail.ru, die eine schlechte Wirkung auf die Positionen der Website in Yandex haben wird.

Ein triviales Code-Beispiel:

Blockierter Yandex-Bot

Und viele Content-Macher aus der GUS kopieren gedankenlos solche Codes auf ihre Websites. Beobachten Sie also genau und analysieren Sie.

In meinen Varianten habe ich nur die Bots veröffentlicht, die meine Website angreifen. In Ihren Protokollen können auch andere Robots und Crawler auftauchen.

Die Möglichkeit der Sperrung durch .htaccess. Alle Bots erhalten eine 403-Serverantwort, d. h. “Zugriff verweigert”. Dies wird die Belastung Ihrer Website erheblich verringern.

Ich verwende diesen Code, der sich als durchaus praktikabel erwiesen hat:

#MJ12bot блокировать только в том случае, если не работаете с Majestic. Например, если работаете на биржах ссылок (Gogetlinks, Miralinks), то там данные Majestic очень важны и тогда лучше его не блокировать.
#Slurp - поисковой краулер Yahoo!, если ваш сайт ориентирован на зарубежную аудиторию и есть трафик с Яхуу, лучше не блокировать.
#FlipboardRSS и FlipboardProxy блокировать только в том случае, если не ориентированы на Flipboard
SetEnvIfNoCase User-Agent "Amazonbot|BlackWidow|AhrefsBot|BLEXBot|MBCrawler|YaK|niraiya\.com|megaindex\.ru|megaindex\.com|Megaindex|MJ12bot|SemrushBot|cloudfind|CriteoBot|GetIntent Crawler|SafeDNSBot|SeopultContentAnalyzer|serpstatbot|LinkpadBot|Slurp|DataForSeoBot|Rome Client|Scrapy|FlipboardRSS|FlipboardProxy|ZoominfoBot|SeznamBot|Seekport Crawler" blocked_bot
<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=blocked_bot
</Limit>

In den Protokollen können Sie dann sehen, dass blockierte Bots eine 403-Serverantwort erhalten:

Server-Antwort 403 in den Protokollen

Dementsprechend ist der Bot weder in der Lage, Inhalte zu analysieren, noch kann er Website-Daten wie RSS-Feedsoder andere Feeds herunterladen.

Es gibt eine andere Variante des Codes, die möglicherweise nicht auf allen Servern funktioniert:

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} ^Amazonbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^AhrefsBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^BLEXBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^MBCrawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^YaK [OR]
RewriteCond %{HTTP_USER_AGENT} ^niraiya\.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^megaindex\.ru [OR]
RewriteCond %{HTTP_USER_AGENT} ^megaindex\.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^Megaindex [OR]
#MJ12bot блокировать только в том случае, если не работаете с Majestic. Например, если работаете на биржах ссылок (Gogetlinks, Miralinks), то там данные Majestic очень важны и тогда лучше его не блокировать.
RewriteCond %{HTTP_USER_AGENT} ^MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SemrushBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^cloudfind [OR]
RewriteCond %{HTTP_USER_AGENT} ^CriteoBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetIntent Crawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^SafeDNSBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SeopultContentAnalyzer [OR]
RewriteCond %{HTTP_USER_AGENT} ^serpstatbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^LinkpadBot [OR]
#Slurp - поисковой краулер Yahoo!, если ваш сайт ориентирован на зарубежную аудиторию и есть трафик с Яхуу, лучше не блокировать.
RewriteCond %{HTTP_USER_AGENT} ^Slurp [OR]
RewriteCond %{HTTP_USER_AGENT} ^DataForSeoBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^Rome Client [OR]
RewriteCond %{HTTP_USER_AGENT} ^Scrapy [OR]
#блокировать только в том случае, если не ориентированы на Flipboard
RewriteCond %{HTTP_USER_AGENT} ^FlipboardRSS [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlipboardProxy [OR]
RewriteCond %{HTTP_USER_AGENT} ^ZoominfoBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SeznamBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^Seekport Crawler
RewriteRule ^.* - [F,L]

Diese Optionen funktionieren nur bei Bots, die sich selbst identifizieren. Wenn sich Bots als andere Crawler ausgeben oder vorgeben, echte Besucher zu sein, werden diese Methoden nicht funktionieren.

Es ist möglich, sie nach IP zu sperren , aber dazu später mehr.

Blockieren von Bots über robots.txt

Einige Bots können über die Datei robots.txt verbannt werden. Dies funktioniert jedoch nur unter einer Bedingung: wenn der Roboter oder Crawler die in dieser Datei enthaltenen Anweisungen nicht ignoriert. Aus meinen Protokollen geht hervor, dass viele Bots diese Datei nicht einmal anfordern, so dass sie die darin enthaltenen Richtlinien nicht einmal sehen.

Alles in allem ist die Methode praktisch nutzlos, krank von einem Bot? Verbot auf Serverebene, zum Beispiel über.htaccess , wie oben vorgeschlagen. Aber ich werde es Ihnen zeigen. Funktioniert nur mit Robotern und Crowlers, die sich selbst identifizieren.

Wir schreiben Code wie diesen:


User-agent: DataForSeoBot
Disallow: /

Im Allgemeinen haben wir einem bestimmten User-Agent verboten, die Website zu umgehen . Aber, wie gesagt, der Bot kann diese Richtlinie einfach ignorieren.

Mit der Datei robots.txt können wir den Bot nicht nur blockieren, sondern beispielsweise auch die Umgehungsgeschwindigkeit festlegen, so dass er weiterhin auf der Website bleibt, diese aber nicht stark belastet.


User-agent: SafeDNSBot
Disallow:
Crawl-delay: 3  # пауза в 3 секунды между запросами

Mit Crawl-delay können Sie eine Verzögerung zwischen den Anfragen festlegen, aber diese Richtlinie gilt als veraltet, die meisten Bots ignorieren sie, so dass ihre Verwendung nicht sinnvoll erscheint.

Im Allgemeinen können Sie sich beim Blockieren von Bots nicht auf robots.txt verlassen, da die meisten Robots diese Datei einfach ignorieren.

IP-Blockierung von Bots und Crowlern

Manchmal werden sehr dreiste Bots, die sich nicht zu erkennen geben, aber den Server stark belasten, in den Protokollen erfasst. Sie können davor entweder durch ein AntiDDoS-System, Captcha und ähnliche Chips oder durch IP-Sperren geschützt werden.

Die IP-Sperrung ist nur dann sinnvoll, wenn ein bestimmter Bot viele Anfragen von einer einzigen IP-Adressesendet.

In der Regel macht das aber wenig Sinn, denn Bots haben in der Regel viele IPs in Reserve, bzw. wenn eine Adresse diskreditiert ist, taucht der Bot schnell von einer anderen auf.

Aber manchmal hilft diese Option. Überprüfen Sie aber immer die IP-Adresse , bevor Sie sperren, denn die “frechste” IP-Adresse in den Protokollen kann Ihre eigene sein. Es ist auch möglich, IP-Crawler wie Yandex oder Google rein zufällig zu sperren.

Der Code für die Blockierung sieht wie folgt aus:


Order Allow,Deny
Allow from all
Deny from 149.56.12.131 85.26.235.123 185.154.14.138 5.188.48.188 88.99.194.48 47.75.44.156

Fügen Sie jede neue IP mit einem Leerzeichen in die Liste ein.

Das Blockieren von Bots wird Ihrer Website gut tun

Ein wenig wird den Server entlasten, und auch die Konkurrenten werden weniger Informationen über Ihre Website haben, so fühlen Sie sich frei zu blockieren. Anweisungen sind beigefügt. Natürlich, wenn Ihre Website stark von Bots aus verschiedenen Ländern angegriffen wird. IP und sich nicht in irgendeiner Weise zu identifizieren, müssen Sie über ernstere Methoden des Schutzes zu denken, aber oft, um die Belastung des Servers zu reduzieren wird genug, um die oben vorgeschlagenen Methoden sein.

Dies ist mein Abschied von Ihnen, ich wünsche Ihnen Erfolg und auch weniger schädliche Bots auf der Website!

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4 / 5. Anzahl Bewertungen: 1

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Wenn die Materialien dieser Website hilfreich waren und Sie den Blog unterstützen möchten, können Sie das Formular unter dem folgenden Link verwenden: Spenden zur Unterstützung des Blogs