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
- Prüfen Sie die Größe zentraler HTML-Dokumente einschließlich ihrer HTTP-Header und achten Sie besonders auf Seiten, die sich dem aktuellen 2-MB-Limit nähern.
- Platzieren Sie wichtige Texte und kritische strukturierte Daten so, dass sie nicht erst nach großen Menüs, Inline-Bildern oder umfangreichen Codeblöcken übertragen werden.
- Reduzieren Sie unnötig große Base64-Inhalte sowie überdimensioniertes Inline-CSS und Inline-JavaScript im Dokumentanfang.
- Kontrollieren Sie auch die Größe einzelner JavaScript- und CSS-Ressourcen, da das Abruflimit für jede vom Rendering-System angeforderte Ressource gilt.
- Testen Sie JavaScript-abhängige Inhalte ohne dauerhaft gespeicherte Sitzungs- oder Local-Storage-Daten, weil das Rendering zwischen Anfragen zustandslos arbeitet.
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.
