Wie du die Bots-Konfiguration über robots.txt erstellst und unerwünschte Bots aussperrst
Wichtig zu wissen: Der Bot selbst entscheidet, ob er sich den Regeln annimmt oder nicht. Alle Bots, die diese Regeln pauschal ignorieren, lassen sich als eher unseriös kategorisieren.
Für alle wichtigen Bots, wie dem Google- oder dem Bing Bot, kann man mit einigen Regeln erste Hinweise geben, wie diese die eigene Seite handhaben dürfen. Diese Regeln zeige ich im Verlauf des Beitrags. Sie werden in eine Datei geschrieben, die robots.txt heißt und im sogenannten Document Root einer Domain liegt, dem Verzeichnis, auf das die jeweilige Domain direkt zeigt.
Grundlegende Konfiguration der robots.txt – User-Agent
User-Agent: *
Allow: /
Das ist die grundlegendste Konfiguration, die eine robots.txt haben kann. Anhand des User-Agents lässt sich die für einen Zugriff genutzte Technik genauer identifizieren. Bots geben sich hier i.d.R. als eigenen Bot aus. Sie lassen sich im Zugriffslog einsehen, sobald sie zugegriffen haben. Das Zugriffslog zu einem bestimmten Account kannst du auf allen unseren Tarifen einsehen. Verbinde dich hierzu per FTP oder SSH und gehe in das Verzeichnis /logs/. Hier findest du eine Datei namens access.log, die alle Zugriffe des aktuellen Tages datenschutzkonform aufgezeichnet hat. Für die Besuche der vergangenen Tage gibt es unter /logs/archive jeweils komprimierte Logs, die das Datum des jeweiligen Tages im Namen haben.
Google-Bot identifizieren
Schaust du nun beispielsweise in das access.log von heute wird es Zugriffe geben, die den folgenden User-Agent weiter hinten im Log-Eintrag haben:
„Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html“)
Hier lässt sich der Google Bot identifizieren. Bei diesen User-Agents kannst du bei Bedarf genauere Regeln in der robots-txt festlegen kannst. Die vollständige Reihe an verschiedenen Bots und damit zusammenhängenden User-Agents werden von seriösen Suchmaschinenanbietern meistens sauber dokumentiert.
Allow/Disallow
Über das Allow/Disallow lassen sich bestimmte Unterseiten erlauben oder verbieten. Anhand der Ordnerstruktur einer Website kannst du bspw. Unterseiten, an denen noch gearbeitet wird, von Bots aussperren. Derartige Konfigurationen kannst du in der robots.txt einfach untereinander schreiben.
Dem Google-Bot das Crawling erlauben
Möchtest du bspw. explizit dem Google Bot das Crawling der Website erlauben, sieht die robots.txt folgendermaßen aus:
User-agent: Googlebot
Allow: /
Das Crawling verwehren
Ist nun z. B. während der Erstellung einer Website das Crawlen ausdrücklich nicht erwünscht, solltest du die folgende Konfiguration nutzen:
User-agent: Googlebot
Disallow: /
Die Konfiguration setzt sich immer zusammen aus:
- für wen gilt diese Regel
- auf welche URLs ist der Zugriff erlaubt oder verboten
Genau konfigurieren
Hier ein Beispiel, wie du pauschal die Seite von allen Bots indexieren lässt. Achtung: Die Unterseite „InArbeit“ soll hierbei explizit vom Google Bot ignoriert werden. Außerdem darf der Beispiel-Bot nichts indexieren:
User-agent: *
Allow: /
User-agent: Googlebot
Disallow: /InArbeit
Allow: /
User-agent: BeispielBot
Disallow: /
Du kannst über die robots.txt sehr genau konfigurieren, welche Bots in welchem Umfang deine Seite indexieren sollen.
Zutritt verboten – Bad Bots einschränken
Wie eingangs beschrieben, gibt es auch Bots, die sich nicht an die Regeln halten. Diese „Bad Bots“ verfolgen meist negative Intentionen und sind bemüht, nicht wie ein Bot auszusehen. Eine immer raffiniertere Programmierung führt dazu, dass auch diese Bots sich so verhalten, als seien sie organische Zugriffe.
Mittwald versucht den Eintritt für Bad Bots bestmöglich abzusperren
Als Hoster haben wir hier bereits einige Prozesse implementiert, die verschiedene Angriffsvektoren für Bad Bots absperrt. So werden z. B. DDOS Angriffe, also Angriffe bei denen mit möglichst vielen Bots gleichzeitig auf einen Server zugegriffen wird, um diesen lahm zu legen, von uns automatisch erkannt. Den auffälligen Datenverkehr filtern wir dann heraus.
Ebenso gibt es Bots, die versuchen sich mit zahlreichen Benutzernamen und Passwörtern auf einem Administrationsbereich z. B. bei deiner WordPress, Shopware oder TYPO3 Anwendung anzumelden. Dieser erzwungene Versuch, Zugangsdaten zu erraten, nennt sich „Bruteforce-Attacke“. Diese wird von uns größtenteils automatisch erkannt, sodass auffällige Zugriffe nach wenigen fehlerhaften Versuchen herausgefiltert werden.
Zudem haben wir vor Kurzem darüber berichtet, was wir gegen unliebsame Spam-Mails machen und wie auch du dich schützen kannst. Mehr dazu hier.
So schützt du dich vor Bad Bots
Nicht alle Aktionen von Bots können wie eben beschrieben von uns verhindert oder gar immer als Bot-Zugriffe identifiziert werden. Doch du kannst dich selbst schützen. Wie? Indem du deine Anwendung auf solch einen Zugriff vorbereitest. Der wichtigste Schritt hierfür: Nimm regelmäßig Updates deiner Anwendung sowie der genutzten Extensions und Plugins vor.
Zusätzlich empfehle ich die Nutzung von Captchas oder gleichwertigen Bot-Sperren für alle Arten von Formularen. Zu den Formularen zählen neben bekannten Kontaktformularen z. B. auch die Accounterstellung oder der Backend-Login – eben alles, wo man Formulare ausfüllen und absenden oder bestätigen kann. Wie du ein Captcha erstellst, erfährst du hier.
Und sollten die hier beschrieben Maßnahmen keinen Erfolg zeigen, gibt es die Möglichkeit über eine .htaccsess-Datei bestimmte Zugriffe zu kontrollieren. Dazu findest du hier mehr.
Ich wünsche dir viel Erfolg dabei!