Googlebot ist Teil einer zentralen Crawling-Infrastruktur

Googlebot ist heute kein einzelnes Programm, das isoliert das Web durchsucht. Google Search nutzt eine zentrale Crawling-Infrastruktur, über die auch weitere Google-Dienste ihre Abrufe unter jeweils eigenen Crawler-Namen abwickeln. Erscheint Googlebot in den Serverprotokollen, handelt es sich laut Quelle um Google Search. Die beteiligten Clients können unter anderem eigene User-Agents, Regeln für die Auswertung der robots.txt und maximale Abrufgrößen festlegen.

Googlebot ruft pro URL derzeit maximal 2 MB ab

Für eine einzelne URL lädt Googlebot derzeit bis zu 2 MB einer Ressource, wobei der HTTP-Header in dieses Volumen einbezogen wird. PDF-Dateien sind ausgenommen: Für sie gilt ein Limit von 64 MB. Google weist darauf hin, dass diese Grenzen künftig verändert werden können. Die für andere Crawler genannten Schwellenwerte lassen sich nicht pauschal auf Googlebot übertragen. Bild- und Video-Crawler verwenden je nach Einsatzzweck unterschiedliche Grenzen; für Crawler ohne ausdrücklich festgelegtes Limit beträgt der Standard unabhängig vom Inhaltstyp 15 MB.

Warum die Grenze trotz ihrer Größe relevant sein kann

Für die große Mehrheit der Webseiten ist eine HTML-Nutzlast von 2 MB ungewöhnlich groß. Probleme können dennoch entstehen, wenn der Anfang eines Dokuments aufgebläht ist. Als Beispiele nennt die Quelle eingebettete Base64-Bilder, sehr große Inline-Blöcke mit CSS oder JavaScript sowie Menüs, die bereits mehrere Megabyte beanspruchen. Werden dadurch wesentliche Texte oder kritische strukturierte Daten hinter die Abrufgrenze verschoben, existieren diese Informationen aus Sicht von Googlebot nicht.

Abruf und Rendering sind getrennte Schritte

Nach dem Abruf übergibt die Crawling-Infrastruktur die erhaltenen Daten an das Web Rendering System. Dieses verarbeitet JavaScript und führt clientseitigen Code ähnlich wie ein moderner Browser aus, um den visuellen und textlichen Endzustand einer Seite zu verstehen. Dabei werden JavaScript- und CSS-Dateien sowie XHR-Anfragen verarbeitet; Bilder und Videos fordert das Rendering-System in diesem Schritt nicht an. Für jede angeforderte Ressource gilt ebenfalls das 2-MB-Limit.

Nicht abgerufener Code kann nicht ausgeführt werden

Das Rendering kann nur Code verarbeiten, den der Crawler zuvor tatsächlich erhalten hat. Liegt benötigtes JavaScript außerhalb der abgerufenen Bytes, steht es folglich nicht zur Ausführung bereit. Zusätzlich arbeitet das Rendering-System zustandslos: Lokaler Speicher und Sitzungsdaten werden zwischen Anfragen gelöscht. Dynamische Elemente, deren Funktion von gespeicherten Sitzungs- oder Browserdaten abhängt, können deshalb anders interpretiert werden als bei einem wiederkehrenden menschlichen Besucher.

Das Wichtigste in Kürze

Quelle und Einordnung: Google Search Central Blog, CC BY 4.0. Der Beitrag wurde von 12cloud fachlich neu eingeordnet und muss vor der Veröffentlichung redaktionell geprüft werden.