Scraper stoppen, ohne Google zu sperren
Wie man einen erwünschten Crawler von einem unerwünschten unterscheidet, warum User-Agent-Prüfungen schlimmer als nutzlos sind, und was mit denen zu tun ist, die sich schlicht besser benehmen als Ihre Regeln.
Das Problem ist nicht Scraping, sondern die Unterscheidung
Fast jede Website will einen Teil des automatisierten Verkehrs. Suchmaschinen, die Vorschau-Abrufer hinter Chat- und Social-Links, das eigene Monitoring, die Integration eines Partners, ein Barrierefreiheitswerkzeug. Fast jede Website hat auch automatisierten Verkehr, den sie nicht will: Preis-Scraper, Content-Spiegel, Bestandsbots und zunehmend KI-Trainings-Crawler, deren Wert für Sie Ansichtssache ist.
Beide kommen als HTTP-Requests von Software. Keiner sagt die Wahrheit über sich, wenn ihm nicht danach ist. Damit reduziert sich das Ganze auf Klassifikation, und jeder Klassifikationsfehler kostet in eine andere Richtung.
Sperren Sie den Falschen, fallen Sie aus dem Index — ein Fehler, den man nach Wochen bemerkt und noch länger rückgängig macht. Lassen Sie den Falschen durch, stehen Ihre Preise binnen einer Stunde auf der Seite eines Mitbewerbers. Es gibt keine Einstellung, die in beide Richtungen sicher ist, und deshalb lohnt es sich, das sorgfältig statt schnell zu machen.
Warum User-Agent-Prüfungen scheitern
Der User Agent ist eine Zeichenkette, die der Client wählt. Er ist eine Behauptung, kein Beweis, und ihn als Beweis zu behandeln scheitert gleich in beide Richtungen.
Jeder kann behaupten, Googlebot zu sein, und Scraper tun es — es ist eine Zeile Konfiguration und wirkt gegen jede Website, die die Zeichenkette prüft. Wenn Ihre Regel „Googlebot erlauben“ lautet, haben Sie „alles erlauben, was Googlebot sagt“ geschrieben.
Gleichzeitig sperren Sie echte Crawler aus, die Sie behalten wollten, weil Sie sie nicht aufzählen können. Es gibt Dutzende legitimer Abrufer mit Zeichenketten, die Sie nie gesehen haben, und jeden Monat startet ein neuer.
Die richtige Prüfung ist kein Zeichenkettenvergleich. Für die großen Crawler ist es ein Reverse-DNS-Lookup auf die anfragende Adresse, der bestätigt, dass sie in die Domain des Betreibers auflöst, gefolgt von einem Vorwärts-Lookup, der bestätigt, dass dieser Name wieder auf dieselbe Adresse zeigt. Mehrere Betreiber veröffentlichen zusätzlich signierte IP-Bereichslisten, die Sie abrufen und zwischenspeichern können.
Das ist nicht schwer, muss aber für jeden Crawler geschehen, der Ihnen wichtig ist, bei Bereichsänderungen nachgeführt und zwischengespeichert werden, damit Sie keine DNS-Abfragen im Anfrageweg machen.
robots.txt ist ein Schild, kein Zaun
robots.txt teilt wohlerzogenen Crawlern mit, was Ihnen lieber wäre. Suchmaschinen halten sich daran, weil es sie mehr kosten würde, dabei erwischt zu werden, als der Inhalt wert ist. Ein Scraper hat weder diesen Anreiz noch einen Ruf zu verlieren.
Schlimmer noch: Es ist ein öffentliches Dokument, das die Pfade auflistet, die Sie für heikel genug halten, um sie zu erwähnen. /admin, /export oder /api/internal zu verbieten kündigt an, dass es sie gibt. Schreiben Sie es als Hinweis für Crawler, denen Sie vertrauen, nicht als Sicherheitsmaßnahme.
Pflegen lohnt sich trotzdem. Eine korrekte robots.txt mit Crawl-Delay-Direktiven senkt die Last durch Crawler, die sich daran halten — auf den meisten Websites der größte Teil des Volumens — und sie ist der einzige Hebel, den Sie gegenüber KI-Crawlern haben, die ein Opt-out-Token veröffentlichen.
Was sie tatsächlich trennt
Geordnet danach, wie viel der Antwort jeder Punkt liefert.
Verifikation für die, die sich verifizieren lassen. Reverse- und Vorwärts-DNS oder eine veröffentlichte Bereichsliste klären die großen Suchmaschinen abschließend. Das gehört als hartes Erlauben über jede andere Regel.
Transport-Fingerabdrücke für den Rest. Ein Scraper ist ein Programm: curl, eine Python-Bibliothek, ein Headless-Browser, ein Go-HTTP-Client. Sein TLS-Handshake verrät welches, über die geordnete Menge von Cipher Suites und Extensions, zusammengefasst als JA3/JA3N. Ein Client, der sich als Chrome unter Windows ausgibt und dabei einen Fingerabdruck zeigt, den Chrome nicht erzeugt, hat Ihnen gesagt, was er ist.
Verhalten über die Sitzung. Ressourcen anfordern, aber nie ausführen; eine auf die Millisekunde gleichmäßige Anfragerate; ein Weg durch die Website, der der Sitemap folgt statt der Navigation; keine Mausbewegung auf einer Seite mit interaktiven Elementen. Für sich genommen ist nichts davon schlüssig, zusammen fast.
Reputation für den Erstkontakt. Eine brandneue Adresse hat keine Historie bei Ihnen. Wenn sie letzte Woche jemand anderen gescrapt hat, ist das beim allerersten Request das einzig verfügbare Signal.
Durchsetzung, die nicht nach hinten losgeht
Was Sie mit einem bestätigten Scraper tun, zählt genauso viel wie ihn zu erkennen.
Zeigen Sie kein CAPTCHA. Es kostet einen entschlossenen Scraper über einen Solver-Dienst den Bruchteil eines Cents — und Sie die echten Nutzer, die es mitfängt.
Sperren Sie Suchmaschinen nicht versehentlich. Verifizierte Crawler sollten durch eine Regel erlaubt werden, die vor jeder Bewertung greift, damit ein Fehler in der Bewertung Sie nicht Ihre Position in der Suche kostet. Prüfen Sie das nach jeder Änderung, nicht davor.
Erwägen Sie eine langsame Spur statt einer Wand. Einen Scraper bewusst langsam oder aus veraltetem Cache zu bedienen ist oft besser als ein 403: Es kostet ihn Zeit, statt ihm zu sagen, dass er die Taktik wechseln soll, und es erzeugt nicht den Vorfall, den Sie bekommen, wenn Sie etwas Notwendiges sperren.
Begrenzen Sie die Rate dort, wo es teuer ist. Ihr Such-Endpunkt und Ihre Produkt-API verdienen Limits, die Ihre statischen Seiten nicht brauchen.
Beobachten Sie, was Sie ausliefern, nicht nur was Sie sperren. Ein Scraper, der durchzukommen begonnen hat, sieht auf Ihrem Sperr-Dashboard genau aus wie eine ruhige Woche. Verfolgen Sie das Verhältnis von gesperrt zu ausgeliefert über die Zeit und alarmieren Sie auf das Verhältnis.
Wo Karma steht
Karma verifiziert legitime Crawler selbst und schließt sie aus Ihren Verdicts aus — und aus Ihrer Rechnung, denn Ihnen die Identifikation von Googlebot zu berechnen hieße, Ihnen die eigene Arbeit des Produkts zu berechnen.
Alles andere wird aus Verhaltens- und Transportsignalen bewertet, und das Verdict geht an Ihr Gateway, damit Sie entscheiden, ob das eine Sperre, eine langsame Spur oder veralteter Cache bedeutet. Ihre Allow- und Deny-Listen stehen immer über der Plattform, sodass ein Partner, von dem Sie abhängen, festgesetzt werden kann, bevor Sie irgendetwas einschalten.
Der kostenlose Detect-Tarif fährt die Klassifikation mit ausgeschalteter Durchsetzung. Gerade hier ist das der richtige Anfang, denn der teure Fehler in diesem Bereich ist, drei Wochen später am Einbruch des Suchverkehrs zu merken, dass die Regeln falsch waren.