Crawler, Bots und Webscraper
Automatisierte Crawler, Bots und Webscraper, die im Verantwortungsbereich einer FAU-Einrichtung, eines FAU-Projekts oder eines entsprechenden Dienstes betrieben werden, um Webauftritte auf FAU-Webservern abzurufen, sollten sich eindeutig zu erkennen geben und Websites performanceschonend abrufen.
Diese Kurzbeschreibung fasst die wichtigsten Regeln und Empfehlungen zusammen.
Die vollständigen und jeweils maßgeblichen Vorgaben stehen im GitHub-Repository:
Anforderungen an FAU-Crawler
- Jeder Crawler muss einen eindeutigen HTTP-User-Agent verwenden, der die verantwortliche FAU-Einrichtung, den Bot, die Version, eine Informationsseite und eine betreute Kontaktadresse nennt.
- Das vorgesehene Schema lautet:
FAU-<ORG>-<BOT>/<VERSION> (+<INFO-URL>;mailto:<CONTACT>) - Neue Implementierungen sollen die kanonische Schreibweise
;mailto:ohne Leerzeichen verwenden. Parser und Validatoren sollen die ältere Schreibweise; mailto:weiterhin akzeptieren. - Der Name des Bots muss den Dienst erkennbar machen. Reine Techniknamen wie
Python,curl,wget,Guzzleoderpython-requestssind als Botname nicht geeignet. - Der User-Agent muss bei allen crawler-originated HTTP-Requests gesetzt werden, also auch bei HTML-Seiten, WordPress-REST-API-Anfragen, XML-Sitemaps, Feeds, Dateien, Medien und Requests nach Redirects.
- Ein Crawler darf sich nicht als normaler Browser tarnen, etwa durch einen generischen
Mozilla/5.0-User-Agent. - Vor einem systematischen Crawl muss die jeweilige
robots.txtabgerufen und beachtet werden. FAU-Zugehörigkeit ist keine Ausnahme vonrobots.txt. - In
robots.txtdeklarierte Sitemaps sollen bevorzugt für die URL-Ermittlung verwendet werden. Sitemap-Indexdateien sollen unterstützt werden, wenn Sitemap-Discovery implementiert ist. - Für Discovery und Abruf gilt grundsätzlich diese Reihenfolge:
robots.txt, dort deklarierte Sitemaps,llms.txtbzw.llms-full.txt, geeignete APIs oder strukturierte Repräsentationen, danach regulärer HTML-Crawl. - Maschinenlesbare Alternativen, die im HTML über Metadaten oder
rel-Links beworben werden, sollen genutzt werden, wenn sie die benötigten Inhalte vollständiger oder effizienter liefern als HTML. - Ressourcen unter
/.well-known/dürfen nur gezielt abgerufen werden, wenn der Crawler die jeweilige Spezifikation unterstützt oder die Ressource ausdrücklich referenziert wurde. Eine pauschale Enumeration ist nicht zulässig. - Pro Origin oder Host dürfen standardmäßig höchstens drei Requests pro Sekunde gestartet werden. Das Limit gilt für den gesamten Crawler, also auch über parallele Worker, Prozesse oder Threads hinweg.
- Strengere Zielsystem-Vorgaben,
Retry-After, HTTP 429 und HTTP 503 müssen berücksichtigt werden. Bei Überlastung oder Rate-Limits muss der Crawler die Abrufrate reduzieren oder Backoff verwenden. - Crawler sollen grundsätzlich zustandslos arbeiten. Cookies und Sessions dürfen nur verwendet werden, wenn sie für den ausdrücklich definierten Zweck technisch erforderlich sind.
- Tracking-, Analytics-, Werbe-, Personalisierungs- und Consent-Cookies sollen nicht gespeichert oder zurückgesendet werden. Cookie-Consent-Dialoge für Menschen dürfen nicht automatisiert genutzt werden, um optionale Verarbeitung zu aktivieren.
- Cookies, Sessions oder Browserzustand dürfen nicht genutzt werden, um Authentisierung, Zugriffsschutz, Paywalls, Crawler-Beschränkungen oder Anti-Bot-Maßnahmen zu umgehen.
- Der User-Agent ist keine Authentisierung. Die Angabe des UserAgent-Strings allein darf niemals als Vertrauensnachweis dienen oder besondere Zugriffsrechte auslösen.
- Wenn die Identität eines Crawlers technisch verifiziert werden muss, ist ein zusätzliches überprüfbares Verfahren erforderlich, zum Beispiel Authentisierung oder kontrollierte Quell-IP-Adressen bzw. Netze.
Beispiel
FAU-RRZE-Legalcheck/1.0 (+https://www.wp.rrze.fau.de/;mailto:webmaster@fau.de)
Hintergrund der Regelung
Die Webserver der FAU werden zunehmend von Crawler, Bots und Webscraper besucht. Viele Zugriffe gehen zurück auf das Webscraping von KI-Projekten, die Inhalte der Websites als Grundlage für neue Sprachmodelle oder als RAG nutzen wollen. Leider sind viele Crawler nur sehr rudimentär und fehlerhaft programmiert und berücksichtigen keine oder nur wenige Standards zum ressourcenschonenden Abruf von Websites. Sie sind daher oftmals kaum unterscheidbar von Angriffen auf die IT-Infrastruktur.
Aus diesem Grund werden Schutzmaßnahmen eingeführt, die Crawler, Bots und Webscraper, die sich nicht an die gängigen Standards halten und nicht einem Betreiber zuordbar sind, (automatisiert) gesperrt.
Die Berücksichtigung obiger Regeln sorgt dafür, dass wissenschaftliche Projekte an der FAU, bei denen entsprechende Werkzeuge eingesetzt werden, entsprechend erkannt und nicht als unerwünschten Zugriff gewertet werden.