IVskiBot Website-Audit-Crawler von IVski

IVskiBot

IVskiBot ist der Crawler von IVski Site Audit. Er prüft Websites auf defekte Links, Weiterleitungen, HTTPS und Zertifikate, Sicherheits-Header, SEO-Grundlagen, Barrierefreiheit und Ladezeit. IVski setzt ihn auf eigenen Websites ein und auf Websites, deren Betreiber ein Audit beauftragt haben. Er ist keine Suchmaschine und sammelt keine Inhalte.

  • Nur GET und HEAD
  • Beachtet robots.txt
  • Keine Formulare, keine Logins
  • Kein Schwachstellen-Scan
User-Agent
IVskiBot/0.1 (+https://ivski.com/bot)
Name in robots.txt
IVskiBot
Methoden
GET, HEAD

Die Versionsnummer kann sich ändern. Prüfen Sie auf den Namen IVskiBot; Groß- und Kleinschreibung spielen keine Rolle.

IVskiBot steht in Ihrem Log, obwohl Sie kein Audit beauftragt haben?

Dann verlinkt eine Website, die wir prüfen, auf Ihre Seite. Zu einem Audit gehört die Prüfung, ob die Links der geprüften Website noch funktionieren, auch Links auf andere Websites. Das ist ein kurzer Besuch genau der einen verlinkten Adresse, kein Crawl Ihrer Website:

  1. IVskiBot liest Ihre /robots.txt, einmal pro Audit. Sperrt sie die verlinkte Adresse für IVskiBot, wird der Link nicht geprüft und nichts weiter abgerufen.
  2. Er sendet eine HEAD-Anfrage an die verlinkte Adresse: Es geht nur um den Statuscode.
  3. Nur wenn HEAD mit einem Fehler beantwortet wird (viele Server unterstützen HEAD nicht), wiederholt er die Anfrage einmal als GET.

IVskiBot folgt nicht den Links auf Ihren Seiten und liest oder speichert Ihre Inhalte nicht. Er notiert den Statuscode, die Antwortzeit und gegebenenfalls das Ziel einer Weiterleitung, in einem vertraulichen Bericht für den Betreiber der verlinkenden Website. Führt die Weiterleitung auf eine andere Adresse, wird diese genauso geprüft.

Eine Linkprüfung in Ihrem Access-Log
"GET /robots.txt HTTP/1.1" 200 312 "-" "IVskiBot/0.1 (+https://ivski.com/bot)"
"HEAD /blog/ein-artikel HTTP/1.1" 200 0 "-" "IVskiBot/0.1 (+https://ivski.com/bot)"

IVskiBot sendet keinen Referer. Das Log zeigt daher nicht, welche Website auf Sie verlinkt.

So sperren Sie IVskiBot

Empfohlen: robots.txt

Tragen Sie diese Zeilen in die robots.txt im Stammverzeichnis Ihres Hosts ein, zum Beispiel https://example.com/robots.txt:

IVskiBot vollständig sperren
User-agent: IVskiBot
Disallow: /

Danach ruft IVskiBot von Ihrer Website nichts mehr ab außer der robots.txt selbst: keine Linkprüfungen und keine Audits. Ihre robots.txt wird bei jedem Besuch neu gelesen; eine Änderung gilt also ab dem nächsten Besuch von IVskiBot.

IVskiBot nur von bestimmten Pfaden fernhalten
User-agent: IVskiBot
Disallow: /intern/
Disallow: /checkout
Ein langsameres Audit verlangen (Sekunden zwischen Anfragen, bis 30)
User-agent: IVskiBot
Crawl-delay: 10

Gut zu wissen

  • Jeder Host hat seine eigene robots.txt: www.example.com und shop.example.com brauchen die Zeilen jeweils selbst.
  • Regeln unter User-agent: * gelten auch für IVskiBot, solange es keine eigene Gruppe für IVskiBot gibt. Gibt es eine Gruppe User-agent: IVskiBot, folgt IVskiBot nur dieser Gruppe, genau wie der Googlebot seiner eigenen. Übernehmen Sie dorthin alle Disallow-Zeilen aus *, die weiter gelten sollen.
  • Der Name wird ohne Groß- und Kleinschreibung und ohne Version verglichen: IVskiBot, ivskibot und IVskiBot/0.1 sind gleich.
  • Die robots.txt muss mit Status 200 antworten. Fehlt sie oder liefert sie einen Fehler, behandelt IVskiBot die Website als offen.
  • Die robots.txt fremder Websites gilt immer. Nur der Betreiber einer geprüften Website kann uns erlauben, seine eigene robots.txt zu übergehen, etwa solange die Website noch für Suchmaschinen gesperrt ist.

Alternative: auf dem Server sperren

Sie können den User-Agent auch mit Status 403 abweisen. Eine Linkprüfung akzeptiert das, muss aber anklopfen, um die 403 zu erhalten: ein HEAD pro verlinkter Adresse und, weil HEAD fehlschlug, ein GET. Mit der robots.txt ruft IVskiBot Ihre Seiten gar nicht erst ab.

nginx (im server-Block)
if ($http_user_agent ~* "ivskibot") {
    return 403;
}
Apache (.htaccess oder VirtualHost, mod_rewrite)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ivskibot [NC]
RewriteRule ^ - [F]

Was IVskiBot niemals tut

An Websites sendet IVskiBot ausschließlich GET- und HEAD-Anfragen. Er liest, er schreibt nie. Er wird niemals:

  • POST, PUT, PATCH, DELETE oder eine andere Methode senden
  • Formulare ausfüllen oder absenden: Kontakt, Suche, Kommentare, Newsletter oder Registrierung
  • sich einzuloggen versuchen, Passwörter raten oder Zugangsdaten senden
  • Cookies zwischen Anfragen speichern
  • nach Sicherheitslücken, Admin-Bereichen, Backups oder offenen Dateien wie /.env, /.git/, /wp-login.php suchen
  • Angriffsmuster in Adressen oder Parameter einbauen (SQL, ../, <script>)
  • Adressen erfinden: Außer den unten genannten Standardadressen ruft er nur Adressen ab, die er in Links, Sitemaps und Weiterleitungen gefunden hat
  • Ihre Inhalte für eine Suchmaschine, für KI-Training oder zum Verkauf sammeln
  • die robots.txt ignorieren: Ein Disallow für IVskiBot ist endgültig

Der einzige POST, den IVskiBot überhaupt sendet, geht an die Chrome-UX-Report-API von Google unter chromeuxreport.googleapis.com, eine API, die Ladezeiten echter Nutzer einer geprüften Website liefert. Er geht nie an Ihren Server.

Ist das wirklich IVskiBot?

Jeder kann IVskiBot in einen User-Agent schreiben. Tut eine Anfrage mit unserem Namen etwas aus der folgenden Liste, ist es nicht IVskiBot, sondern ein Skript, das sich mit unserem Namen tarnt, um harmlos zu wirken:

Nicht IVskiBot

  • jede andere Methode als GET oder HEAD, etwa POST mit Formulardaten oder einem Request-Body
  • Login-Versuche oder Aufrufe von Login- und Admin-Seiten, auf die kein Link führt
  • Suche nach Dateien und Pfaden wie /.env, /wp-admin/, /phpmyadmin/, /backup.zip
  • Angriffsmuster in der Adresse wie ' OR 1=1, ../../ oder <script>
  • Abrufe von Pfaden, die Ihre robots.txt für IVskiBot sperrt
  • Anfragen, die nach einem 429 Too Many Requests unvermindert weiterlaufen
  • eine andere IP-Adresse als die, auf die ivski.com zeigt

So prüfen Sie die IP-Adresse

IVskiBot läuft nur auf dem Server von IVski. Seine Anfragen kommen daher von der Adresse, auf die ivski.com zeigt. Die Adresse kann sich ändern; im DNS steht immer die aktuelle:

Shell
dig +short ivski.com A
dig +short ivski.com AAAA

Eine Fälschung ignoriert die robots.txt ohnehin. Sperren Sie sie deshalb über die IP-Adresse oder Ihre Firewall. Wenn Sie möchten, schreiben Sie uns an abuse@ivski.com, mit Uhrzeit, IP-Adresse und der Anfragezeile aus Ihrem Log.

Was ein Audit abruft

Dieser Abschnitt betrifft Websites, die wir prüfen: unsere eigenen und die, deren Betreiber ein Audit beauftragt haben. Verlinkte Websites erhalten nur die oben beschriebene Linkprüfung.

AdresseZweck
/robots.txtWird zuerst gelesen. Sperrt sie die Startseite für IVskiBot, geht keine weitere HTTP-Anfrage an diesen Host. Nur der TLS-Handshake und die unten genannten DNS- und E-Mail-Prüfungen laufen noch.
SitemapsAus der robots.txt oder /sitemap.xml: um alle Seiten zu finden, auch solche, auf die kein Link führt.
Seiten und ihre DateienSeiten, Bilder, CSS, JavaScript und Schriften aus Links, Sitemaps und Weiterleitungen: defekte Links, Weiterleitungen, Titel und Beschreibungen, Seitengewicht, Caching, Sicherheits-Header.
Startseite per http://Leitet unverschlüsseltes HTTP auf HTTPS weiter?
/ivskibot-404-<zufall>Eine Anfrage an eine Adresse, die es nicht geben kann: Antwortet eine fehlende Seite wirklich mit 404?
/.well-known/security.txtDer Sicherheitskontakt (RFC 9116).
mta-sts.<domain>/.well-known/mta-sts.txtDie MTA-STS-Richtlinie für E-Mail.
RechtstexteImpressum und Datenschutzerklärung, auf die die Website verlinkt: Sind die Pflichtangaben vorhanden?

Außerhalb von HTTP

  • ein TLS-Handshake auf Port 443: Zertifikat, Protokollversion, Ablaufdatum
  • DNS-Abfragen: MX, SPF, DMARC, DKIM, CAA, DNSSEC
  • ein kurzes Gespräch mit den Mailservern der Domain auf Port 25: EHLO, STARTTLS, QUIT. Es wird keine E-Mail gesendet.
  • öffentliche Quellen, die Ihren Server nie berühren: Certificate-Transparency-Logs (crt.sh, Cert Spotter) für die Hostnamen der Domain, die RDAP-Registry für das Ablaufdatum der Domain und der Chrome UX Report von Google

Tempo und Grenzen

  • standardmäßig mindestens 250 ms zwischen zwei Anfragen (höchstens 4 pro Sekunde) und höchstens 4 Anfragen gleichzeitig
  • ein Crawl-delay in der robots.txt macht ihn langsamer, bis zu 30 Sekunden zwischen Anfragen
  • bei 429 Too Many Requests oder 503 mit Retry-After wartet er so lange wie verlangt (bis zu einer Minute), wird für den Rest des Besuchs langsamer und versucht es höchstens zweimal erneut
  • standardmäßig höchstens 1.000 Seiten und 2.000 Dateien pro Website, höchstens 10 Klicks tief ab der Startseite

Browser-Prüfung

Auf einer geprüften Website kann IVskiBot zusätzlich einige Seiten in einem Headless-Chrome öffnen, um sie so zu sehen wie ein Erstbesucher: Ladezeit (Core Web Vitals), Barrierefreiheit, Bedienung per Tab-Taste, Screenshots in Desktop- und Smartphone-Größe und das Cookie-Banner. Erfasst wird, was vor der Einwilligung lädt; dann klickt sie auf Ablehnen und erfasst, was danach noch lädt.

Dieser Besuch verwendet den normalen Chrome-User-Agent, nicht IVskiBot, weil viele Cookie-Banner Bots gar nicht angezeigt werden. Die Skripte der Seite laufen wie in jedem Browser; Anfragen, die sie senden, stammen also aus dem Code der Seite selbst. Die Browser-Prüfung läuft nie auf Websites, die nur verlinkt sind, und auch nicht, wenn die robots.txt IVskiBot von der Startseite fernhält.

Ihre robots.txt sperrt alle Bots, Sie möchten aber ein Audit?

Lassen Sie IVskiBot herein und alles andere, wie es ist:

robots.txt
User-agent: IVskiBot
Allow: /

Audit-Berichte sind vertraulich. Sie bleiben bei IVski und dem Betreiber der geprüften Website und werden nicht veröffentlicht.

Kontakt

Fragen zu IVskiBot, eine Beschwerde oder ein Audit Ihrer eigenen Website: abuse@ivski.com. IVskiBot wird von IVski betrieben, siehe Impressum.