Die Firma Vercel, der Autor des Next.js-Framework, hat eine Studie durchgeführt und den Mythos entlarvt, dass Google JavaScript-basierte Webseiten langsamer und schlechter indexiert als andere.
In der SEO-Gemeinschaft haben sich im Laufe der Jahre mehrere Mythen über die Indizierung von Webseiten, die auf JavaScript basieren, und deren Suchmaschinenoptimierung gebildet. Vor allem herrscht die Meinung vor, dass Google solche Webseiten langsamer und schlechter indiziert als andere Webseiten, was sich auf die gesamten JavaScript-SEO-Ergebnisse auswirken kann.
Vercel hat sich mit MERJ, einem auf SEO und Data Engineering spezialisierten Beratungsunternehmen, zusammengetan, um diese Mythen zu entkräften. Gemeinsam führten sie eine Studie durch, um das Verhalten des Googlebot und die Art und Weise, wie er Webseiten crawlt, zu analysieren.
In diesem Artikel stellen wir die Ergebnisse ihrer Studie über JavaScript-SEO und die Schlussfolgerungen vor, zu denen sie gekommen sind.
Wichtige Informationen
- Es gab keine nennenswerten Unterschiede bei der Darstellung von JavaScript-basierten Webseiten durch Google.
- Google verwendet keine gesonderten Kriterien für die Indizierung von Seiten mit JavaScript.
- Das Rendern von Webseiten, die in JavaScript geschrieben sind, erzeugt keine langen Warteschlangen (die mehrere Tage dauern).
- Google entdeckt JavaScript-lastige Webseiten nicht langsamer.
Welche Fähigkeiten hat der Googlebot?
Im Laufe der Jahre haben sich die Crawling-Fähigkeiten des Googlebot mehrfach geändert und ändern sich auch weiterhin. In der Vergangenheit war die Indexierung von Webseiten stark eingeschränkt; nur statische HTML-Seiten waren für den Browser gut sichtbar. Die Gesamtergebnisse der JavaScript-SEO ließen viel zu wünschen übrig.
Die Situation änderte sich allmählich mit der Entwicklung der Technologie; sie schritt durch die Einführung des AJAX-Crawling-Schemas und des Website-Renderings mit dem Headless-Browser Chrome voran, und jetzt sind wir hier.
Laut Vercel ist das aktuelle Google-Indexierungssystem durch Folgendes gekennzeichnet:
- Rendert alle HTML-Seiten, nicht nur ihre Teilmengen
- Unterstützt JavaScript-Funktionen, was das JavaScript-SEO verbessert
- Rendert Seiten in einer neuen Browsersitzung, ohne Cookies oder den vorherigen Rendering-Zustand zu speichern
- Klickt nicht auf Cookie-Banner oder „versteckte“ Inhalte (z. B. hinter einem Akkordeon-Menü verborgen)
- Verbietet Praktiken, die darauf abzielen, den Inhalt der Website mithilfe des User-Agent-Headers zu verändern, was es der Website ermöglicht, unterschiedlichen Inhalt für Benutzer und den Browser anzuzeigen, um das Ranking zu manipulieren
- Beschleunigt das Rendering von Seiten durch das Caching von Ressourcen
Vercel analysierte über 100,000 Googlebot-Abrufe von verschiedenen Webseiten, um seine Fähigkeiten zu testen und sein Verhalten zu beschreiben.
Wie hat Vercel 4 Mythen über JavaScript-SEO und die Indizierung von JavaScript-Webseiten entlarvt?
Der Umfang der Studie konzentrierte sich auf die folgenden Webseiten: nextjs.org, monogram.io und basement.io. Die Studie selbst begann am 1. April 2024 und dauerte 30 Tage.
Für die Studie verwendete Vercel seine eigene Lösung, Edge Middleware, um von Suchmaschinen-Bots generierte Anfragen abzufangen und zu analysieren.
Im Rahmen der Studie wurden 37,000 gerenderte Webseiten analysiert, wobei man sich hauptsächlich auf die vom Googlebot stammenden Daten konzentrierte.
Auf der Grundlage dieser Analyse begann Vercel mit der Entlarvung von Mythen über JavaScript-SEO und dem Crawling von JavaScript-basierten Seiten.
Kann Google Inhalte mit JavaScript wiedergeben?
Beim Untersuchen von Googles Fähigkeiten, JavaScript-Inhalte zu rendern, berücksichtigte Vercel die folgenden Elemente:
- Kompatibilität mit dem Next.js-Framework
- Indexierung dynamischer Inhalte
- Gestreamte Inhalte mit React Server Components
- Die Metrik für die Erfolgsquote beim Rendern
Zusammenfassend analysierte das Unternehmen, wie sich Googlebot während der Interaktion mit dem JavaScript-Framework auf nextjs.org verhält. Die Website verwendet Rendering-Strategien wie statisches Rendering, clientseitiges Rendering und serverseitiges Rendering.
Sie testeten Seiten auf nextjs.org, die API-Aufrufe für asynchrones Laden von Inhalten verwenden, um zu prüfen, ob Googlebot Inhalte crawlt, die nicht in der ursprünglichen HTML-Antwort enthalten sind. Außerdem wurde getestet, ob der Bot gestreamte Inhalte verarbeiten kann.
Vercel ermittelte die Erfolgsquote beim Rendern, indem es die Anzahl der Googlebot-Anfragen in den Serverprotokollen mit der Anzahl der erfolgreich empfangenen Rendering Beacons verglich. Auf diese Weise erhielten sie einen Prozentsatz der vollständig gerenderten und indizierten Seiten.
Sie kamen zu dem Schluss, dass 100 % der 100,000 Googlebot-Abrufe auf nextjs.org vollständig gerendert wurden, einschließlich Seiten mit komplexen JavaScript-Interaktionen (Seiten mit noindex-Tag und Statuscode-Fehlern wurden nicht berücksichtigt).
Sie bestätigten auch, dass Google in der Lage ist, asynchron geladene Seiten und das vollständige Rendering des Next.js-Frameworks zu indizieren. Das Rendering wurde durch den gestreamten Inhalt in keiner Weise gestört.
Darüber hinaus entdeckte Vercel, dass Googlebot beim Crawlen versucht, alle HTML-Seiten zu rendern, nicht nur JavaScript-lastige Teilmengen.
Behandelt Google JavaScript-basierte Webseiten anders?
Ein weiterer Mythos, den Vercel zu entlarven versuchte, war die Meinung, dass Google spezielle Kriterien für die Indizierung von Webseiten hat, die auf JavaScript basieren (JavaScript SEO).
Zum Test verwendete das Unternehmen eine Website ohne JavaScript-Code, die jedoch eine CSS-Datei enthielt, die eine andere CSS-Datei importierte. Dann verglich es das Rendering-Verhalten mit dem der Website mit aktivierter JS-Unterstützung.
Die Ergebnisse dieses Tests bestätigten, dass Google Seiten mit JavaScript-Unterstützung auf die gleiche Weise wie Webseiten ohne JavaScript-Code wiedergibt.
Als nächstes erstellte Vercel eine auf Next.js basierende Anwendung, um zu testen, wie Google Seiten rendert, wenn HTML-Statuscodes auftreten und wenn Seiten den noindex-Tag aktiviert haben.
Dieser Test zeigte, dass Google alle 200-Statuscodes trotz JavaScript-Inhalt darstellen kann. Basierend auf dem Inhalt des 200-Statuscodes renderte Google Seiten mit einem 304-Statuscode, während Webseiten mit 300-, 400- oder 500-Statuscodes nicht gerendert wurden.
Seiten mit noindex-Tags wurden nicht gerendert, selbst wenn JavaScript-Code hinzugefügt wurde, der den Tag auf der Client-Seite löschen sollte. Wenn Googlebot den noindex-Tag in der ursprünglichen HTML-Antwort liest, wird die Seite nicht gerendert.
Außerdem überprüfte Vercel, ob der Indizierungsprozess je nach Komplexitätsgrad des JavaScript-Codes unterschiedlich verläuft. Der Test umfasste Seiten mit einer minimalen Anzahl von JS-Interaktionen, einer moderaten Menge und dynamischen Seiten mit umfangreichem Rendering auf der Client-Seite.
Außerdem wurde die Zeit zwischen dem ersten Crawl und dem fertigen Rendering verglichen, um zu prüfen, ob der komplexere JS-Code zu längeren Rendering-Warteschlangen oder Verarbeitungszeiten führt.
Es wurden keine signifikanten Veränderungen bei den erfolgreich abgeschlossenen Renderings festgestellt. Es gab auch keinen Zusammenhang zwischen dem Komplexitätsgrad des JS-Codes und dem verzögerten Rendering. Vercel betonte jedoch, dass das Schreiben von komplexem JavaScript-Code für eine größere Website die Crawling-Effizienz beeinträchtigen kann, was sich auf die Gesamtbewertung der JavaScript-SEO auswirken könnte.
Gibt es eine Rendering-Warteschlange, und hat sie Auswirkungen auf die JavaScript-SEO?
In der Studie von Vercel wurde auch die Abhängigkeit zwischen JavaScript-lastigen Webseiten und der Rendering-Zeit untersucht.
Der Test umfasste Aspekte wie die Überprüfung, wie viel Zeit zwischen dem ersten Google-Crawl und einem fertigen Rendering vergeht, welche Arten von URL (mit und ohne Query-Strings) und verschiedene Seitenabschnitte die Rendering-Geschwindigkeit beeinflussen und wie oft Google Seiten neu rendert und ob wir Muster in der Häufigkeit des Renderings verschiedener Seitenabschnitte beobachten können.
Vercel stellte fest, dass die durchschnittliche Zeitdifferenz beim Rendern von 37,000 Seiten wie folgt aussieht:
- Das 25. Perzentil der Seiten wird innerhalb der ersten 4 Sekunden gerendert
- Das 50. Perzentil der Seiten wird nach 10 Sekunden gerendert
- Das 75. Perzentil rendert nach 26 Sekunden
- Das 90. Perzentil ist nach etwa 2 Stunden fertig
- Das 95. Perzentil rendert nach 6 Stunden
- Das 99. Perzentil ist nach 18 Stunden fertig
Nach der Betrachtung dieser Daten können wir bereits feststellen, dass der in der JavaScript-SEO-Gemeinde vorherrschende Mythos über lange Warteschlangen nicht zutrifft. Vercel betonte auch, dass Seiten, die nach 18 Stunden gerendert werden, eher eine Ausnahme darstellen.
Für URLs ohne Query-Strings sieht die Renderzeit wie folgt aus:
- 50. Perzentil nach 10 Sekunden
- 75. Perzentil nach 22 Sekunden
- 90. Perzentil nach etwa 2,5 Stunden
Zum Vergleich sehen URLs mit Query-Strings folgendermaßen aus:
- 50. Perzentil rendert nach 13 Sekunden
- 75. Perzentil nach 31 Minuten
- 90. Perzentil nach etwa 8,5 Stunden
Die gesammelten Daten zeigten, dass Google URLs mit Query-Strings, die den Inhalt einer Seite nicht verändern, anders behandelt werden und ihr Rendering allmählich verlangsamt.
Darüber hinaus stellte Vercel fest, dass ein bestimmter Abschnitt einer Seite umso schneller gerendert wird, je öfter er aktualisiert wird, im Vergleich zu statischen Seiten, bei denen das erneute Rendern länger dauert. Dies wirkt sich nicht zusätzlich auf die JavaScript-SEO aus; es bedeutet lediglich, dass Google sich auf das Rendern neuer Inhalte konzentriert.
Die Daten deuten auch nicht darauf hin, dass die Indexierung von Seiten mehrere Tage dauert, wie allgemein angenommen wird.
Erkennt Google JavaScript-lastige Seiten langsamer?
Der letzte Mythos, mit dem Vercel konfrontiert wurde, war der Glaube, dass Googlebot JavaScript-lastige Seiten, insbesondere solche, die clientseitiges Rendering verwenden, langsamer entdeckt.
Um diesen Mythos zu entkräften, führte Vercel Tests durch, bei denen die Link-Erkennung auf Seiten mit unterschiedlichen Rendering-Strategien verglichen wurde, wie z. B. serverseitiges Rendering, clientseitiges Rendering und statisches Rendering.
Sie testeten auch, wie Google Links für JavaScript-Seiten erkennt, die zuvor nicht gerendert wurden, und verglichen, wie schnell Google Seiten erkennt, die auf unterschiedliche Weise verlinkt sind: HTML-Links, Links in Inhalten, die auf der Client-Seite gerendert wurden, und Links in JavaScript-Inhalten, die zuvor nicht gerendert wurden.
Die Ergebnisse dieses Tests zeigten, dass Googlebot Links in gerenderten Seiten ohne Probleme findet, unabhängig von der gewählten Rendering-Methode. Er kann auch Links in JavaScript-Payload finden, die zuvor nicht gerendert wurden.
Trotzdem wurde festgestellt, dass auf der Client-Seite gerenderte Seiten den Rendering-Prozess abschließen müssen, bevor Google diese Links entdeckt. Dies verschafft Seiten, die auf der Serverseite gerendert werden, und vorgerenderten Seiten einen leichten Vorteil.
Vercel entdeckte auch, dass Googlebot dem Crawlen von Links keine Priorität einräumt, unabhängig davon, ob er sie beim ersten Crawlen oder nach dem Rendern der Seite gefunden hat. Darüber hinaus bewertet Googlebot den Wert von Links für die Website-Architektur und priorisiert das Crawling erst, nachdem es die gesamte Seite gerendert hat.
Zusammenfassend lässt sich sagen, dass wir durch häufige Aktualisierungen der Sitemap die Zeit reduzieren können, die Googlebot benötigt, um Links und Verbindungen zwischen ihnen zu entdecken. Außerdem ist die Überprüfung der Seiten mit der Google Search Console entscheidend, um sicherzustellen, dass die von uns gewählte Rendering-Strategie keine Probleme verursacht.
Die allgemeine Empfehlung von Vercel lautet, sich auf die von Google definierten Best Practices für JavaScript-SEO zu konzentrieren, wie z. B. die Gewährleistung kurzer Ladezeiten oder die Erstellung von Inhalten mit Blick auf die Benutzer. Zum Beispiel verlangsamen große JavaScript-Dateien die Ladezeit der Seite (aus Sicht des Benutzers) erheblich.
Zusammenfassung
Vercel und MERJ führten umfangreiche Tests durch, die es ihnen ermöglichten, populäre Mythen in der JavaScript-SEO-Gemeinschaft zu entlarven. Dank ihrer Ergebnisse wissen wir nun, dass Google in JavaScript geschriebene Webseiten in keiner Weise diskriminiert. Auch sein Rendering- und Crawling-Prozess unterscheidet sich nicht von der Norm.
Die Unterschiede in Bezug auf die Rendering- und Indexierungsprozesse bei clientseitig gerenderten Seiten (die Effizienz des Googlebot ist in diesem Fall etwas schlechter) sind so gering, dass sie keine große Rolle spielen, wenn wir uns um wichtigere SEO-Faktoren kümmern, wie z. B. die Ladegeschwindigkeit der Seite.
Die Ergebnisse dieses Tests werden zweifellos für Unternehmen nützlich sein, die in den Prozess der Website-Optimierung in Bezug auf JavaScript-SEO investieren und ihr Ranking in den Google-Suchergebnissen verbessern wollen.
Am häufigsten gestellten Fragen
Unterscheiden sich die Rendering- und Indexierungsprozesse von Seiten, die in JavaScript geschrieben wurden, von denen in anderen Programmiersprachen?
Mit JavaScript erstellte Seiten werden auf die gleiche Weise gerendert und indiziert wie Webseiten, die in anderen Sprachen entwickelt wurden. Die aktuelle Version von Google Chrome unterstützt alle JavaScript-Funktionen.
Haben in JavaScript geschriebene Seiten längere Rendering-Warteschlangen?
Bei JavaScript-Seiten gibt es keine längeren Rendering-Warteschlangen, und die Rendering-Zeit beträgt in der Regel nicht mehr als einige Stunden. Es ist jedoch zu beachten, dass Google URLs mit Abfragezeichenfolgen länger rendert, da sich deren Inhalt nicht häufig ändert. Es sei auch daran erinnert, dass die Optimierung von JavaScript-Dateien die Rendering-Effizienz erhöht.
Hat das Vorhandensein von JavaScript einen Einfluss auf die Erkennung neuer Seiten durch Google?
Das Vorhandensein von JavaScript und die Komplexität des Codes haben keinen Einfluss auf die Entdeckung neuer Seiten durch Google oder die Gesamtbewertung der JavaScript-SEO. Das Einzige, was zu beachten ist, ist, dass Google bei der Verwendung von clientseitigem Rendering die URLs nach Abschluss des Rendering-Prozesses entdeckt.