JavaScript-SEO umfasst alle Maßnahmen, die sicherstellen, dass Suchmaschinen Inhalte, Links und Metadaten finden, rendern und indexieren können, die per JavaScript erzeugt oder verändert werden. Das betrifft vor allem Websites auf Basis von Frameworks wie React, Vue oder Angular und Single-Page-Anwendungen.
Auf einen Blick
- Art
- Teilbereich des technischen SEO
- Wirkt auf
- Crawling, Rendering, Indexierung
- Renderer bei Google
- Headless Chromium (Evergreen)
- Rendering-Arten
- CSR, SSR, Static Rendering, Hydration
Stand:
Wie verarbeitet Google JavaScript?
Google beschreibt drei Phasen. Beim Crawling ruft der Googlebot eine URL ab und liest das HTML aus der Serverantwort. Seiten mit Status 200 kommen anschließend in eine Warteschlange für das Rendering. Dort führt eine Headless-Version von Chromium in aktueller Version („Evergreen“) das JavaScript aus. Erst das gerenderte HTML fließt in die Indexierung ein.
Daraus folgt eine Lücke zwischen dem ausgelieferten HTML und dem fertigen DOM. Was erst nach Klicks, beim Scrollen oder nach fehlgeschlagenen API-Aufrufen erscheint, fehlt möglicherweise in der Fassung, die Google indexiert.
Für andere Crawler gilt das nicht automatisch. Eine Messung von Vercel (Dezember 2024) ergab, dass die Crawler von OpenAI, Anthropic und Perplexity JavaScript-Dateien zwar teilweise abrufen, aber nicht ausführen. Inhalte, die nur clientseitig entstehen, sehen diese Bots dann nicht. Die KI-Betreiber dokumentieren das Verhalten nicht, es beruht auf Messungen Dritter. Laut Berichten hat sich daran bis Oktober 2026 nichts geändert. Google weist selbst darauf hin, dass nicht alle Bots JavaScript ausführen können.
Wie lange es dauern kann, bis per JavaScript geänderte Inhalte in der Suche ankommen, zeigten Praxistests aus dem Jahr 2017. Auf der Startseite waren die Änderungen nach acht Tagen sichtbar, bei weniger wichtigen Unterseiten nach rund zwei Monaten. Google gibt heute an, dass eine Seite oft nur wenige Sekunden in der Rendering-Warteschlange steht, es aber auch länger dauern kann. Dazu kommt die Zeit bis zum nächsten Crawl.
Rendering-Varianten
Beim Client-Side Rendering (CSR) baut der Browser die Seite aus JavaScript zusammen. Beim Server-Side Rendering (SSR) und bei statischer Generierung liefert der Server fertiges HTML aus. Google nennt Server-Side- oder Pre-Rendering „eine sehr gute Option“, weil die Website damit für Nutzer und Crawler schneller wird. Dynamic Rendering, also eine eigene Fassung nur für Bots, bezeichnet Google als Behelfslösung und nicht als langfristigen Weg.
Beispiel
Ein Onlineshop lädt die Produktliste einer Kategorie per fetch() nach. Im Quelltext steht nur:
<div id="produkte"></div>
<button onclick="ladeMehr()">Mehr laden</button>
Google sieht nach dem Rendering die ersten 24 Produkte. Die übrigen erscheinen erst nach Klick auf den Button und haben keine eigene URL. Eine Paginierung mit echten Links wie <a href="?seite=2"> macht sie crawlbar.
Häufige Fehler
- Links ohne
href: Google kann Links in der Regel nur crawlen, wenn sie als<a>-Element mithrefvorliegen.onclick-Handler oder Fragment-URLs (#/produkt) reichen nicht. Für Single-Page-Anwendungen empfiehlt Google die History API. - Soft-404-Fehler: Eine clientseitige App zeigt „Seite nicht gefunden“, der Server liefert aber Status 200. Abhilfe ist eine Weiterleitung auf eine echte 404-Seite oder ein
noindex. noindexper JavaScript entfernen: Stehtnoindexim ausgelieferten HTML, überspringt Google Rendering und JavaScript möglicherweise. Ein Skript, das den Tag später entfernt, greift dann nicht.- Blockierte Ressourcen: Google rendert JavaScript aus gesperrten Dateien oder auf gesperrten Seiten nicht. Sperrt die robots.txt JavaScript- oder API-Dateien, kann Google die Seite deshalb nicht vollständig rendern.
Checkliste
Die Punkte stammen aus Googles Grundlagen zu JavaScript-SEO.
- Wichtige Inhalte, Links und Metadaten stehen im gerenderten HTML, geprüft mit dem URL-Prüftool der Search Console.
- Jede Seite hat einen eindeutigen
<title>und eine eigene Meta-Description, auch wenn JavaScript sie setzt. - Links sind
<a>-Elemente mithref-Attribut. - Single-Page-Anwendungen nutzen für das Routing die History API statt Fragment-URLs.
- Fehlerseiten in Single-Page-Anwendungen leiten per JavaScript auf eine URL mit Status 404 um oder setzen per JavaScript
noindex. - Ein Canonical, das JavaScript setzt, ist identisch mit dem Canonical im ursprünglichen HTML.
- Seiten, die indexiert werden sollen, haben kein
noindexim ausgelieferten HTML. - Die robots.txt sperrt keine JavaScript-Dateien oder Schnittstellen, die das Rendering braucht.
- JavaScript-Dateien tragen einen Fingerprint im Dateinamen, etwa
main.2bb85551.js, damit Google keine veralteten Dateien aus dem Cache nutzt.
Häufige Fragen
Wie prüfe ich, was Google von einer JavaScript-Seite sieht? Das URL-Prüftool der Search Console zeigt das gerenderte HTML und blockierte Ressourcen. Ein Vergleich mit dem Quelltext (Rohes HTML) zeigt, welche Inhalte erst per JavaScript entstehen.
Mehr dazu im searchVIU-Blog
Quellen
- Grundlagen von JavaScript-SEO – Google Search Centraldevelopers.google.com
- Dynamisches Rendering als Behelfslösung – Google Search Centraldevelopers.google.com
- Best Practices für Links – Google Search Centraldevelopers.google.com
- The rise of the AI crawler – Vercel (Zweitquelle, Messung Dezember 2024)vercel.com
- Weitere JavaScript-SEO-Experimente mit dem Google Tag Manager – searchVIU-Blog (2017)searchviu.com
- Rendering on the Web – web.devweb.dev
Stand: