Crawling im Dezember: CDNs und Crawling

Dienstag, 24. Dezember 2024

Content Delivery Networks (CDNs) eignen sich besonders gut, um die Latenz eurer Website zu verringern und Probleme im Zusammenhang mit dem Webtraffic zu vermeiden. Das ist ihr Hauptzweck: die schnelle Bereitstellung eurer Inhalte, auch wenn eure Website viele Zugriffe erhält. Das „D“ in CDN steht für „Delivery“ – die Bereitstellung der Inhalte auf der ganzen Welt. Die Übertragungszeiten zu euren Nutzern sind daher auch kürzer als beim Hosting in einem einzelnen Rechenzentrum. In diesem Beitrag erfahrt ihr, wie ihr CDNs so nutzen könnt, dass das Crawling und die Nutzerfreundlichkeit eurer Website verbessert werden. Außerdem gehen wir auf einige Nuancen des Crawlings von CDN-gestützten Websites ein.

Wiederholung: Was ist ein CDN?

CDNs sind im Grunde Vermittler zwischen eurem Ursprungsserver (wo sich eure Website befindet) und dem Endnutzer und stellen (einige) Dateien für ihn bereit. Bisher lag der Hauptfokus von CDNs auf dem Caching. Das bedeutet, dass CDNs den Inhalt einer URL, die ein Nutzer von eurer Website angefordert hat, für eine gewisse Zeit in ihrem Cache speichern, damit euer Server diese Datei nicht noch einmal bereitstellen muss.

CDNs können eure Website drastisch beschleunigen, da Nutzer Inhalte von einem Standort aus erhalten, der sich in ihrer Nähe befindet. Wenn ein Nutzer in Australien beispielsweise auf eine in Deutschland gehostete Website zugreift, liefert ein CDN die Inhalte aus seinen Caches in Australien, wodurch die Anzahl der Roundtrips um die halbe Welt reduziert wird. Trotz Lichtgeschwindigkeit ist die Entfernung immer noch ziemlich groß.

Und zu guter Letzt: CDNs sind ein hervorragendes Tool, um eure Website vor Überlastung und einigen Sicherheitsbedrohungen zu schützen. Aufgrund der Menge an globalem Traffic, den CDNs verwalten, können sie zuverlässige Traffic-Modelle erstellen, um Traffic-Anomalien zu erkennen und Zugriffe zu blockieren, die übermäßig oder bösartig erscheinen. So haben die Systeme von Cloudflare am 21. Oktober 2024 beispielsweise einen DDoS-Angriff mit einer Dauer von etwa einer Minute erkannt und abgewehrt, der eine Bandbreite von 4,2 Tbit/s (das ist viel) hatte.

Vorteile von CDNs für eure Website

Vielleicht habt ihr die schnellsten Server und den besten Uplink, den man kaufen kann, und denkt, dass ihr nichts beschleunigen müsst. Mit CDNs könnt ihr jedoch langfristig Geld sparen, insbesondere wenn eure Website groß ist:

  • Caching im CDN: Wenn Ressourcen wie Medien, JavaScript und CSS oder sogar eure HTML-Dateien aus den Caches eines CDN bereitgestellt werden, müssen eure Server keine Rechenleistung und Bandbreite für die Bereitstellung dieser Ressourcen aufwenden. Dadurch wird die Serverlast reduziert. Das bedeutet in der Regel auch, dass Seiten im Browser der Nutzer schneller geladen werden, was mit mehr Conversions korreliert.
  • Schutz vor Traffic-Fluten: CDNs sind besonders gut darin, übermäßigen oder schädlichen Traffic zu erkennen und zu blockieren. So können eure Nutzer eure Website auch dann besuchen, wenn sich böswillige Bots oder andere Unbefugte auf eure Server stürzen und diese überlasten.
    Neben dem Schutz vor Traffic-Fluten könnt ihr mit denselben Einstellungen auch Zugriffe blockieren, die ihr nicht wünscht, z. B. von bestimmten Crawlern, Clients, die einem bestimmten Muster entsprechen, oder von Trollen, die immer dieselbe IP-Adresse verwenden. Ihr könnt dies auch auf eurem Server oder mit eurer Firewall tun, aber es ist in der Regel viel einfacher, die Benutzeroberfläche eines CDN zu verwenden.
  • Zuverlässigkeit: Einige CDNs können eure Website Nutzern auch dann zur Verfügung stellen, wenn eure Website ausgefallen ist. Das funktioniert natürlich nur bei statischen Inhalten, aber das reicht möglicherweise schon aus, um zu verhindern, dass sie ihr Geschäfte woanders erledigen.

Kurz gesagt: CDNs sind eure Freunde. Wenn eure Website groß ist oder ihr mit einer hohen Besucherzahl rechnet (oder diese bereits habt), solltet ihr ein CDN finden, das euren Anforderungen entspricht. Dabei solltet ihr Faktoren wie Preis, Leistung, Zuverlässigkeit, Sicherheit, Kundensupport, Skalierbarkeit und zukünftige Erweiterung berücksichtigen. Fragt euren Hosting- oder CMS-Anbieter, welche Optionen ihr habt (und ob ihr bereits eines verwendet).

Auswirkungen des Crawlings auf Websites mit CDNs

CDNs können auch beim Crawling hilfreich sein, können aber (wenn auch selten) zu einigen Crawling-Problemen führen. Bitte habt etwas Geduld.

Auswirkungen von CDNs auf die Crawling-Frequenz

Unsere Crawling-Infrastruktur ist so konzipiert, dass höhere Crawling-Frequenzen bei Websites möglich sind, die von einem CDN unterstützt werden. Das CDN wird anhand der IP-Adresse des Dienstes ermittelt, über den die URLs aufgerufen werden, auf die unsere Crawler zugreifen. Das funktioniert gut, zumindest in den meisten Fällen.

Angenommen, ihr startet heute eine Website mit Stockfotos und haben gerade 1.000.007 Bilder auf Lager. Ihr startet eure Website mit einer Landingpage, Kategorieseiten und Detailseiten für alle eure Inhalte. Das führt zu vielen Seiten. In unserer Dokumentation zur Crawling-Kapazitätsgrenze wird erläutert, dass die Google Suche zwar alle diese Seiten so schnell wie möglich crawlen möchte, das Crawling eure Server aber auch nicht überlasten sollte. Wenn euer Server bei einer erhöhten Anzahl von Crawling-Anfragen nur langsam reagiert, wird von Google eine Drosselung angewendet, um eine Überlastung des Servers zu verhindern. Der Grenzwert für diese Drosselung ist viel höher, wenn unsere Crawling-Infrastruktur erkennt, dass eure Website von einem CDN unterstützt wird. In diesem Fall wird davon ausgegangen, dass mehr gleichzeitige Anfragen gesendet werden können, da euer Server sie höchstwahrscheinlich verarbeiten kann. So wird euer Webshop schneller gecrawlt.

Beim ersten Zugriff auf eine URL ist der Cache des CDN jedoch „kalt“. Das heißt, da noch niemand diese URL angefordert hat, wurde ihr Inhalt noch nicht vom CDN im Cache gespeichert. Euer Ursprungsserver muss diese URL also mindestens einmal bereitstellen, um den Cache des CDN „aufzuwärmen“. Das entspricht auch der Funktionsweise des HTTP-Cachings.

Kurz gesagt: Auch wenn euer Webshop von einem CDN unterstützt wird, muss euer Server diese 1.000.007 URLs mindestens einmal ausliefern. Erst nach diesem ersten Ausliefern kann euer CDN euch mit seinen Caches helfen. Das stellt eine erhebliche Belastung für euer Crawling-Budget dar und die Crawling-Frequenz wird wahrscheinlich einige Tage lang hoch sein. Berücksichtigt dies, wenn ihr viele URLs gleichzeitig veröffentlichen möchtet.

Auswirkungen von CDNs auf das Rendering

Wie wir in unserem ersten Blogpost zum Crawling von Ressourcen im Dezember erklärt haben, kann es sein, dass unser Web Rendering Service (WRS) eure Seiten effizienter rendern kann, wenn ihr Ressourcen auf ihren eigenen Hostnamen oder einen CDN-Hostnamen (cdn.example.com) aufteilt. Es gibt jedoch einen Vorbehalt: Diese Vorgehensweise kann sich aufgrund des Aufwands für eine Verbindung zu einem anderen Hostnamen negativ auf die Seitenleistung auswirken. Ihr müsst daher die Nutzerfreundlichkeit von Seiten im Hinblick auf die Renderingleistung sorgfältig berücksichtigen.

Wenn ihr euren Haupthost mit einem CDN sichert, könnt ihr dieses Problem vermeiden: Es muss nur ein einziger Hostname abgefragt werden und die wichtigen Rendering-Ressourcen werden wahrscheinlich aus dem Cache des CDN bereitgestellt, sodass euer Server sie nicht bereitstellen muss. Das wirkt sich nicht negativ auf die Nutzerfreundlichkeit von Seiten aus.

Wählt am Ende die Lösung aus, die für euer Unternehmen am besten geeignet ist: Verwendet einen separaten Hostnamen (cdn.example.com) für statische Ressourcen, sichert euren Haupthostnamen mit einem CDN oder tut beides. Die Crawling-Infrastruktur von Google unterstützt beide Optionen problemlos.

Wenn CDNs zu sicherheitsbewusst sind

Aufgrund des CDN-Schutzes vor Traffic-Fluten und der Art des Crawlings durch Crawler landen gelegentlich auch Bots, die auf eurer Website erwünscht sind, auf der Sperrliste des CDNs, in der Regel in der Web Application Firewall (WAF). Dadurch wird verhindert, dass Crawler auf eure Website zugreifen. Das kann dazu führen, dass eure Website nicht in den Suchergebnissen erscheint. Die Blockierung kann auf verschiedene Arten erfolgen, wobei einige für die Präsenz einer Website in den Google-Suchergebnissen schädlicher sind als andere. Außerdem kann es schwierig oder unmöglich sein, die Blockierung zu steuern, da sie durch das CDN erfolgt. Für diesen Blogpost haben wir Blockierungen in zwei Kategorien unterteilt: harte und weiche.

Harte Blockierungen

Bei harten Blockierungen sendet das CDN eine Antwort auf eine Crawling-Anfrage, die in irgendeiner Form ein Fehler ist. Beispiele:

  • HTTP-Statuscodes 503/429: Das Senden dieser Statuscodes ist die bevorzugte Methode, um eine vorübergehende Blockierung zu signalisieren. So habt ihr etwas Zeit, auf unbeabsichtigte Blockierungen durch das CDN zu reagieren.
  • Netzwerkzeitüberschreitungen: Netzwerkzeitüberschreitungen vom CDN führen dazu, dass die betroffenen URLs aus dem Suchindex von Google entfernt werden, da diese Netzwerkfehler als endgültige, „harte“ Fehler gelten. Außerdem können sie sich erheblich auf die Crawling-Frequenz eurer Website auswirken, da sie unserer Crawling-Infrastruktur signalisieren, dass die Website überlastet ist.
  • Zufällige Fehlermeldung mit einem HTTP-200-Statuscode: Dieser Fehler wird auch als „weicher“ Fehler bezeichnet und ist besonders schlecht. Wenn die Fehlermeldung von Google als „harter“ Fehler eingestuft wird (z. B. ein HTTP 500), entfernt Google die URL aus der Google Suche. Wenn Google die Fehlermeldungen nicht als „harte“ Fehler erkennen konnte, werden alle Seiten mit derselben Fehlermeldung möglicherweise als Duplikate aus dem Google-Suchindex entfernt. Da es bei der Google-Indexierung wenig Anreiz gibt, ein erneutes Crawling doppelter URLs anzufordern, kann es länger dauern, bis die Situation behoben ist.

Weiche Blockierungen

Ein ähnliches Problem kann auftreten, wenn euer CDN Interstitials vom Typ „Sind Sie sicher, dass Sie ein Mensch sind?“ anzeigt.

Crawley ist verwirrt, weil er als Mensch bezeichnet wird

Unsere Crawler sind davon überzeugt, dass sie KEINE Menschen sind, und geben sich auch nicht als solche aus. Sie wollen nur crawlen. Wenn das Interstitial jedoch erscheint, sehen sie nur das und nicht eure tolle Website. Bei diesen Interstitials zur Bot-Bestätigung empfehlen wir dringend, automatisierten Clients wie Crawlern ein klares Signal in Form eines HTTP-Statuscodes 503 zu senden, dass die Inhalte vorübergehend nicht verfügbar sind. So wird verhindert, dass die Inhalte automatisch aus dem Google-Index entfernt werden.

Blockierungen beheben

Sowohl bei harten als auch bei weichen Blockierungen lässt sich am einfachsten mit dem URL-Prüftool in der Search Console prüfen, ob alles richtig funktioniert. Seht euch das gerenderte Bild an: Wenn eure Seite angezeigt wird, ist alles in Ordnung. Wenn eine leere Seite, ein Fehler oder eine Seite mit einer Bot-Anfrage angezeigt wird, solltet ihr euch an euer CDN wenden.

Außerdem veröffentlichen Google, andere Suchmaschinen und andere Crawler-Betreiber unsere IP-Adressen, um euch bei diesen unbeabsichtigten Blockierungen zu helfen, indem ihr unsere Crawler erkennen und die blockierten IP-Adressen bei Bedarf aus den WAF-Regeln entfernen oder auf die Zulassungsliste setzen könnt. Wo ihr dies tun könnt, hängt vom verwendeten CDN ab. Glücklicherweise haben die meisten CDNs und eigenständigen WAFs eine hervorragende Dokumentation. Hier sind einige, die wir mit ein wenig Suchen finden konnten (Stand zum Zeitpunkt der Veröffentlichung dieses Beitrags):

Wenn eure Website in Suchmaschinen erscheinen soll, solltet ihr unbedingt prüfen, ob die für euch relevanten Crawler auf eure Website zugreifen können. Denkt daran, dass IP-Adressen automatisch auf eine Sperrliste gesetzt werden können, ohne dass ihr es bemerkt. Daher ist es eine gute Idee, die Sperrlisten hin und wieder zu überprüfen, um den Erfolg eurer Website in den Suchergebnissen und darüber hinaus zu steigern. Wenn die Sperrliste sehr lang ist (ähnlich wie dieser Blogpost), sucht nur nach den ersten Segmenten der IP-Bereiche. Anstatt nach 192.168.0.101 könnt ihr beispielsweise nach 192.168 suchen.

Dies war der letzte Beitrag in unserer Blogpostreihe zum Crawling im Dezember. Wir hoffen, dass euch die Beiträge gefallen haben. Wenn ihr… bla bla bla… ihr wisst schon.


Möchten Sie mehr über das Crawling erfahren? Hier finden Sie die gesamte Crawling-Dezember-Reihe: