SEO für JavaScript
Definition: SEO für JavaScript beschreibt die Herausforderungen und Lösungsansätze bei der Suchmaschinenoptimierung von Websites, die JavaScript-Frameworks (React, Vue, Angular, Next.js) zur Content-Renderung verwenden. Da Googlebot JavaScript rendert, aber mit Ressourcenbeschränkungen und potenzieller Verzögerung, können JavaScript-lastige Seiten SEO-Nachteile gegenüber server-seitig gerendertem HTML haben.
Erläuterung
Googlebots JavaScript-Rendering funktioniert zweistufig: Zuerst crawlt Google das rohe HTML (ohne JavaScript-Ausführung), danach rendert eine separate Render-Queue die Seite vollständig mit JavaScript. Zwischen Crawl und Rendering können Tage oder Wochen liegen. Inhalte, die nur nach JavaScript-Ausführung sichtbar sind, werden also deutlich verzögert indexiert – ein erhebliches SEO-Problem für dynamisch geladene Produktlisten, Links und Meta-Tags.
Rendering-Typen und ihre SEO-Auswirkungen
- Client-Side Rendering (CSR): JavaScript wird im Browser des Nutzers gerendert; Googlebot empfängt zunächst leere HTML-Shell; zweistufiger Crawl verursacht Indexierungsverzögerung – problematisch für SEO
- Server-Side Rendering (SSR): HTML wird vollständig auf dem Server generiert und fertig ausgeliefert; Googlebot sieht sofort vollständigen Content – ideal für SEO
- Static Site Generation (SSG): HTML wird beim Build-Prozess generiert; beste SEO-Performance da vollständiges HTML; geeignet für Inhalte, die sich selten ändern
- Incremental Static Regeneration (ISR): Kombination aus SSG mit automatischer Seitenaktualisierung; gutes SEO bei dynamischen Inhalten
- Hydration (Next.js, Nuxt.js): Seite wird als HTML ausgeliefert (SSR/SSG), dann im Browser interaktiv – beste Kombination aus SEO und Nutzererfahrung
Häufige JavaScript-SEO-Probleme
- Interne Links nur im JavaScript vorhanden – rohe HTML-Version hat keine Links → schlechte Crawlbarkeit
- Meta-Tags (Title, Description, Canonical) werden via JavaScript gesetzt – im ersten Crawl-Durchgang fehlen sie
- Lazy-geladene Inhalte werden möglicherweise nicht indexiert wenn sie nur auf Scroll-Event reagieren
- Single Page Applications (SPAs) mit Hash-Routing (#) – Inhalte hinter #-URLs werden oft nicht indexiert
- Infinite Scroll ohne Pagination – Seite 2+ oft nicht crawlbar
JavaScript-SEO diagnostizieren
- Google Search Console URL-Inspektion: Vergleich von „Gecrawlter HTML-Code" (ohne JS) und „Gerenderter HTML-Code" (mit JS) – Unterschiede zeigen JavaScript-SEO-Probleme
- Fetch as Google: Prüft, wie Googlebot die Seite sieht
- Screaming Frog: JavaScript-Rendering aktivieren; zeigt gecrawlte vs. gerenderte Version
- Lighthouse: Performance-Audit inklusive JavaScript-Blocking-Ressourcen
Lösungsansätze
- SSR oder SSG für alle SEO-relevanten Seiten implementieren (Next.js, Nuxt.js, Gatsby, Astro)
- Kritische Inhalte im initialen HTML vorhanden: Links, H1, Meta-Tags dürfen nicht JavaScript-abhängig sein
- Pagination statt Infinite Scroll:
?page=2-URLs für crawlbare Folgeseiten - History API statt Hash-Routing: Echte URLs statt
#fragment - Pre-Rendering für CSR-Apps: Tools wie Prerender.io liefern Googlebot statisches HTML