Übersicht über Google-Crawler und -Fetcher (User-Agents)
Google verwendet Crawler und Fetcher, um Aktionen für seine Produkte auszuführen, entweder automatisch oder durch Nutzeranfrage ausgelöst. „Crawler“ (manchmal auch als „Robots“ oder „Spider“ bezeichnet) ist ein Überbegriff für Programme, die Websites automatisch finden und scannen. Fetcher wie wget fungieren als Programme, die in der Regel im Namen eines Nutzers eine einzelne Anfrage stellen. Die Google-Clients lassen sich in drei Kategorien unterteilen:
Gängige Crawler | Die gängigen Crawler, die für die Produkte von Google verwendet werden (z. B. der Googlebot). Sie berücksichtigen immer die robots.txt-Regeln für automatisches Crawling. |
Sonderfall-Crawler |
Sonderfall-Crawler ähneln gängigen Crawlern, werden jedoch von bestimmten Produkten verwendet, wenn es eine Vereinbarung zwischen der gecrawlten Website und dem Google-Produkt über den Crawling-Prozess gibt. Beispielsweise ignoriert AdsBot den globalen robots.txt-User-Agent (* ) mit der Berechtigung des Anzeigen-Publishers.
|
Vom Nutzer ausgelöste Fetcher | Vom Nutzer ausgelöste Fetcher sind Teil von Tools und Produktfunktionen, bei denen der Endnutzer einen Abruf auslöst. Google Site Verifier wirkt sich beispielsweise auf die Anfrage eines Nutzers aus. |
Technische Eigenschaften der Crawler und Fetcher von Google
Die Crawler und Fetcher von Google sind so konzipiert, dass sie gleichzeitig auf Tausenden von Maschinen ausgeführt werden können, um die Leistung zu verbessern und den Umfang zu steigern, während das Web wächst. Um die Bandbreitennutzung zu optimieren, sind diese Clients auf viele Rechenzentren auf der ganzen Welt verteilt, sodass sie sich in der Nähe der Websites befinden, auf die sie zugreifen könnten. Aus diesem Grund weisen deine Protokolle eventuell Aufrufe von verschiedenen IP-Adressen auf. Google sendet Daten hauptsächlich von IP-Adressen in den USA. Wenn Google erkennt, dass eine Website Anfragen aus den USA blockiert, wird möglicherweise versucht, über IP-Adressen in anderen Ländern zu crawlen.
Unterstützte Übertragungsprotokolle
Die Crawler und Fetcher von Google unterstützen HTTP/1.1 und HTTP/2. Die Crawler verwenden die Protokollversion mit der besten Crawling-Leistung und können je nach vorherigen Crawling-Statistiken von Sitzung zu Sitzung zwischen den Protokollen wechseln. Die Standardprotokollversion, die von den Crawlern von Google verwendet wird, ist HTTP/1.1. Durch das Crawling über HTTP/2 können Rechenressourcen (z. B. CPU und RAM) für Ihre Website und den Googlebot eingespart werden. Es gibt jedoch hinsichtlich der Google-Produkte keinen produktspezifischen Vorteil für die Website, z. B. keinen Ranking-Boost in der Google Suche.
Wenn du das Crawling über HTTP/2 deaktivieren möchtest, weise den Server, der deine Website hostet, an, mit einem HTTP-Statuscode 421
zu antworten, wenn Google versucht, auf deine Website über HTTP/2 zuzugreifen. Falls dies nicht möglich ist, kannst du eine Nachricht an das Crawling-Team senden. Das ist allerdings nur eine temporäre Lösung.
Die Crawler-Infrastruktur von Google unterstützt auch das Crawling über FTP (gemäß RFC959 und seinen Aktualisierungen) und FTPS (gemäß RFC4217 und seinen Aktualisierungen). Das Crawling über diese Protokolle ist jedoch selten.
Unterstützte Inhaltscodierungen
Die Crawler und Fetcher von Google unterstützen die folgenden Inhaltscodierungen (Komprimierungen): gzip, deflate und Brotli (br). Die von jedem Google-User-Agent unterstützten Inhaltscodierungen werden im Accept-Encoding
-Header jeder Anfrage angegeben. Beispiel: Accept-Encoding: gzip, deflate, br
.
Crawling-Frequenz und Hostlast
Wir bemühen uns, bei jedem Besuch möglichst viele Seiten deiner Website zu crawlen, ohne dass dein Server zu sehr beansprucht wird. Wenn deine Website nicht mit den Crawling-Anfragen von Google mithalten kann, kannst du die Crawling-Frequenz verringern. Hinweis: Wenn du nicht den richtigen HTTP-Antwortcode an die Crawler von Google sendest, kann sich das auf die Darstellung deiner Website in Google-Produkten auswirken.
HTTP-Caching
Die Crawling-Infrastruktur von Google unterstützt heuristisches HTTP-Caching gemäß dem HTTP-Caching-Standard, insbesondere über die ETag
-Antwort- und If-None-Match
-Anfrageheader sowie die Last-Modified
-Antwort- und If-Modified-Since
-Anfrageheader.
Wenn die Antwortheaderfelder ETag
und Last-Modified
beide in der HTTP-Antwort vorhanden sind, verwenden die Crawler von Google den Wert ETag
, wie es vom HTTP-Standard gefordert wird.
Für die Crawler von Google empfehlen wir, ETag
anstelle des Last-Modified
-Headers zu verwenden, um die Caching-Präferenz anzugeben, da bei ETag
keine Probleme mit der Datumsformatierung auftreten.
Andere HTTP-Caching-Richtlinien werden nicht unterstützt.
Ob einzelne Google-Crawler und ‑Fetcher das Caching nutzen, hängt von den Anforderungen des Produkts ab, mit dem sie verknüpft sind. Googlebot
unterstützt beispielsweise das Caching beim erneuten Crawling von URLs für die Google Suche, Storebot-Google
nur unter bestimmten Bedingungen.
Wende dich an deinen Hosting- oder CMS-Anbieter, um HTTP-Caching für deine Website zu implementieren.
ETag
und If-None-Match
Die Crawling-Infrastruktur von Google unterstützt ETag
und If-None-Match
gemäß dem HTTP-Caching-Standard.
Weitere Informationen zum Antwortheader ETag
und zu seinem Gegenstück If-None-Match
Last-Modified und If-Modified-Since
Die Crawling-Infrastruktur von Google unterstützt Last-Modified
und If-Modified-Since
gemäß dem HTTP-Caching-Standard. Dabei gelten die folgenden Einschränkungen:
-
Das Datum im
Last-Modified
-Header muss gemäß dem HTTP-Standard formatiert sein. Zur Vermeidung von Problemen beim Parsen empfehlen wir das folgende Datumsformat: „Wochentag, DD Mon YYYY HH:MM:SS Zeitzone“. Beispiel: "Fri, 4 Sep 1998 19:15:56 GMT". -
Es ist zwar nicht erforderlich, aber du solltest auch das Feld
max-age
desCache-Control
-Antwortheaders festlegen, damit Crawler besser feststellen können, wann die jeweilige URL noch einmal gecrawlt werden soll. Lege den Wert des Feldsmax-age
auf die voraussichtliche Anzahl von Sekunden fest, für die der Inhalt unverändert bleibt. Beispiel:Cache-Control: max-age=94043
.
Weitere Informationen zum Antwortheader Last-Modified
und zu seinem Gegenstück If-Modified-Since
Identität der Crawler und Fetcher von Google überprüfen
Die Crawler von Google identifizieren sich auf drei Arten:
-
Über den HTTP-
user-agent
-Anfrageheader. - Über die Quell-IP-Adresse der Anfrage.
- Über den Reverse-DNS-Hostnamen der Quell-IP-Adresse.