English
JavaScript & Frameworks

JavaScript-SEO

Auch genannt: JavaScript SEO, JS-SEO

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.

Von der URL zum SuchergebnisFünf Stationen von links nach rechts: Entdecken über Links und Sitemaps, Crawlen nach Prüfung der robots.txt, Rendern nach der Wartezeit in der Render-Queue, Indexieren mit Bildung von Duplikat-Clustern und Wahl der kanonischen URL, Ausliefern passender Treffer. Links aus dem gerenderten HTML führen zurück zum Entdecken. Unter jeder Station stehen typische Hürden laut Google.1 · CRAWLING2 · INDEXIERUNG3 · ERGEBNISSEEntdeckenLinks aufbekannten Seiten,SitemapsCrawlenrobots.txtprüfen, dannURL abrufenRendernRender-QueueChromium führtJavaScript ausIndexierenCluster bilden,Kanonische wählen,speichernAusliefernTreffer ausdem Index zurSuchanfrageneue Links aus dem gerenderten HTMLTYPISCHE HÜRDEN LAUT GOOGLEkein Link,keine Sitemap*Server- oderNetzwerkfehler,robots.txt sperrtkein Status 200oder noindex:evtl. kein Renderngeringe Qualität,noindex, Duplikateiner anderen URLnicht relevant,geringe Qualität,Robots-Meta-RegelSchematisch. Google zählt Entdecken und Rendern zur Stufe Crawling.* Schlussfolgerung, keine Google-Aussage.
Schematischer Weg einer URL durch die Google Suche. Google beschreibt drei Stufen: Crawling (mit Entdecken und Rendern), Indexierung und Ausgabe der Suchergebnisse. Eine Indexierung ist nicht garantiert. Quellen: Google Search Central: Umfassender Leitfaden zur Funktionsweise der Google Suche; Google Search Central: Grundlagen von JavaScript-SEO.

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.

Wo das HTML entsteht: CSR, SSR, SSG und Dynamic RenderingVier Zeilen zeigen, wo der Inhalt einer Seite entsteht. Bei CSR schickt der Server eine leere HTML-Hülle, erst JavaScript im Browser baut den Inhalt. Bei SSR rendert der Server das HTML bei jeder Anfrage, Hydration macht es im Browser interaktiv. Bei SSG entsteht das HTML schon beim Build. Dynamic Rendering liefert Crawlern fertiges HTML und Nutzern die JavaScript-Version; Google nennt das einen Workaround.SERVERERSTE HTML-ANTWORTBROWSERCSRClient-SideRenderingschickt HTML-Hülleund JavaScript<div id="app">ohne InhaltJavaScript bautden InhaltSSRServer-SideRenderingrendert HTMLbei jeder AnfrageInhalt stehtim HTMLHydration machtdie Seite interaktivSSGStatic RenderingPrerenderingHTML entstehtschon beim BuildInhalt stehtim HTMLzeigt HTML sofort,Hydration möglichDynamicRenderingWorkarounderkennt Crawler,rendert nur für sieCrawler: HTMLNutzer: leere Hüllebei Nutzern bautJavaScript den InhaltSchematisch. Google rendert JavaScript in einem eigenen Schritt nach dem Crawlen.Nicht alle Bots führen JavaScript aus.
Entscheidend für Crawler ist, ob der Inhalt schon in der ersten HTML-Antwort steht. Google empfiehlt Server-Side Rendering oder Prerendering; Dynamic Rendering bezeichnet Google als Workaround, keine Dauerlösung. Quellen: web.dev: Rendering on the Web; Google Search Central: Grundlagen von JavaScript-SEO; Google Search Central: Dynamisches Rendering als Behelfslösung.

Beispiel

Ein Onlineshop lädt die Produktliste einer Kategorie per fetch() nach. Im Quelltext steht nur:

HTML
<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.

Roh-HTML und gerendertes HTML im VergleichLinks das Roh-HTML, wie der Server es schickt: leerer Title und ein leeres div mit der ID app. Rechts dasselbe Dokument nach dem Rendering: JavaScript hat Title, H1 und zwei Links eingefügt. Erst im gerenderten HTML sieht Google diese Inhalte und Links.ROH-HTMLAntwort des ServersGERENDERTES HTMLDOM nach JavaScriptJavaScript<head><title></title>leer</head><body><div id="app"></div>leer<script src="app.js"></body><head>+<title>Laufschuhe</title></head><body><div id="app">+<h1>Laufschuhe</h1>+<a href="/damen/">Damen</a>+<a href="/herren/">Herren</a></div><script src="app.js"></body>Schematisches Beispiel. Was erst JavaScript einfügt, steht nur im gerenderten HTML.
Im Roh-HTML einer JavaScript-Seite fehlen Title, Überschrift und Links. Google indexiert das gerenderte HTML und sucht dort erneut nach Links. Quelle: Google Search Central: Grundlagen von JavaScript-SEO.

Häufige Fehler

  • Links ohne href: Google kann Links in der Regel nur crawlen, wenn sie als <a>-Element mit href vorliegen. 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.
  • noindex per JavaScript entfernen: Steht noindex im 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 mit href-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 noindex im 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.

Quellen

  1. Grundlagen von JavaScript-SEO – Google Search Centraldevelopers.google.com
  2. Dynamisches Rendering als Behelfslösung – Google Search Centraldevelopers.google.com
  3. Best Practices für Links – Google Search Centraldevelopers.google.com
  4. The rise of the AI crawler – Vercel (Zweitquelle, Messung Dezember 2024)vercel.com
  5. Weitere JavaScript-SEO-Experimente mit dem Google Tag Manager – searchVIU-Blog (2017)searchviu.com
  6. Rendering on the Web – web.devweb.dev

Stand: