Bots Zugriffe beschränken und blockieren

Bots, Crawlers und Spiders (werden im weiteren Verlauf dieses Artikels als Bots zusammengefasst) durchstöbern alle Seiten, um z.B. die Auffindbarkeit in Suchmaschinen zu gewährleisten. Diese Zugriffe sind größtenteils sinnvoll und normal. Dennoch können zu viele Zugriffe von Bots, besonders in Stoßzeiten, zu einer hohen Serverauslastung führen und sogar zu kritischen Zuständen wie sehr lange Ladezeiten oder sogar einem Serverausfall führen. In solchen Situationen ist es dann besonders wichtig, die Webseiten für menschliche Besucher schnell wieder erreichbar zu machen.

Das EGOCMS bietet mehrere Maßnahmen, um die Zugriffe von Bots gezielt zu steuern.

Einschränkungen über robots.txt

Sie können auf dem Server eine robots.txt Datei hinterlegen und hier Richtlinien für Bots definieren. Die Inhalte dieser Datei können Sie aber auch dynamisch über den EGOCMS Adminbereich verwalten. Erfahren Sie dazu hier mehr.

Einschränkungen über Meta Einstellungen

Pro Seite kann eingestellt werden, wie Bots mit dieser Seite umgehen sollen. Erfahren Sie dazu hier mehr.

warning

Beachten Sie, dass die Auswertung der Einschränkungen über eine robots.txt und den Meta Einstellungen grundsätzlich von den meisten Bots berücksichtigt wird, aber es auch Bots geben kann, die diese ignorieren.

Bots bei hoher Serverauslastung blockieren

Das EGOCMS verwendet bei der Ausgabe einer Seite zwei Arten von Cache, um beim Zugriff unnötige Datenbankzugriffe zu vermeiden und die Ausgabe zu beschleunigen: die eigene Smarty Cache und den Nginx Cache (sofern als Webserver Nginx verwendet wird und dieser entsprechend konfiguriert ist).

Wenn Bots alle möglichen Seiten durchstöbern, besteht eine sehr hohe Wahrscheinlichkeit, dass dabei viele Seiten aufgerufen werden, die noch nicht/nicht mehr im Cache liegen. Dies kann ja nach der Menge an Bot Zugriffen und den zeitlichen Abständen dieser Zugriffe zu einer hohen Serverauslastung führen.

Das EGOCMS erkennt in solchen Fällen, dass die Serverauslastung sehr hoch ist und der Zugriff über einen Bot passiert, und blockiert diesen Zugriff. Dabei wird der HTTP Status Code 503 Service Unavailable und der Header Retry-After: 3600 gesendet (falls der Bot diesen Header auswertet, erfolgt der nächste Zugriff erst in einer Stunde).

wb_incandescent

Die Serverauslastung muss standardmäßig über 80% betragen, damit die Blockade ausgelöst wird. Über Verwaltung > System > Sicherheit > Bots blockieren bei hoher Serverlast kann diese Obergrenze angepasst werden.

check

Die Serverauslastung berechnet sich in Abhängigkeit der verfügbaren logischen Prozessoren auf dem Server. Diese Anzahl wird automatisch ermittelt, kann aber bei Bedarf in den globalen Einstellungen im Reiter Server angepasst werden.

wb_incandescent

Sie können die maximale Serverauslastung (100%) auch direkt als Ganzzahl einstellen (unter Globale Einstellungen > Server). Dies ist dann sinnvoll, wenn die Ressourcen auf dem Server geteilt werden und eine klassische Berechnung der Ergebnisse aus dem top Befehl, geteilt durch die Anzahl an Prozessoren zu ungenau ist.

Captcha Audio-Ausgabe blockieren

Die Audio-Ausgabe des EGOCMS Standard Captcha wird für Bots immer blockiert und sendet den HTTP Status Code 403.