SEO Agentur Leistungen Übersicht

Technisches SEO für JavaScript-lastige Websites

18 October 2026 11 Min. Lesezeit Kaan Koç

Geschrieben von:

SEO (Suchmaschinenoptimierung)

Profil ansehen

Ask AI about this page

1 views 11 Min. Lesezeit

JavaScript SEO Best Practices beinhalten die Optimierung der Art und Weise, wie Suchmaschinen-Bots codeintensive Webanwendungen finden, ausführen und verstehen. Da moderne Frameworks wie React oder Angular dem Browser oft nur eine leere HTML-Hülle liefern, müssen Sie Strategien implementieren, die sicherstellen, dass der endgültige Inhalt vollständig gerendert wird, bevor die Indizierung erfolgt. Der Googlebot verarbeitet JavaScript in drei Phasen: Crawling, Rendering und Indizierung. Wenn Sie diese Phasen erfolgreich steuern, kann Ihre Website für den tatsächlichen Text und die Bilder ranken, die Ihre Nutzer sehen, anstatt nur für die anfänglichen Skript-Tags. Wenn Ihr Inhalt im gerenderten HTML nicht sichtbar ist, werden Suchmaschinen Schwierigkeiten haben, Ihre Seiten mit relevanten Suchanfragen zu verknüpfen.

Wie geht der Googlebot mit JavaScript-Rendering um?

Die Rendering-Phase ist der Bereich, in dem die meisten JavaScript-SEO-Probleme auftreten. Wenn der Googlebot eine URL entdeckt, fügt er sie der Crawl-Warteschlange hinzu. Im Gegensatz zu Standard-HTML-Seiten werden JavaScript-lastige Seiten jedoch an eine sekundäre Rendering-Warteschlange gesendet, da die Ausführung von Skriptdateien deutlich mehr CPU-Leistung und Zeit erfordert. Dieser Zwei-Wellen-Indizierungsprozess bedeutet, dass es eine Verzögerung zwischen dem ersten Crawl und dem Moment geben kann, in dem Google Ihren Inhalt tatsächlich sieht. Wenn Ihre Serverantwortzeiten langsam sind oder Ihre Skriptdateien zu groß sind, könnte der Googlebot ein Timeout erleiden oder das Rendering verschieben, was zu teilweise indizierten Seiten oder fehlenden Inhalten führt. Entwickler sollten die Zeit überwachen, die eine Seite benötigt, um stabil zu werden, um diese Risiken zu minimieren.

Technical SEO for JavaScript Heavy Websites — overview

Der Unterschied zwischen dem anfänglichen HTML und dem gerenderten DOM ist eine kritische Kennzahl für jedes technische Audit. Bei einem typischen Konto für eine SaaS-Plattform sehen wir oft, dass der anfängliche Quellcode nur wenige Zeilen mit Skriptverweisen enthält. Wenn das JavaScript nicht ausgeführt wird oder ein Bot ein Timeout erreicht, erscheint die Seite leer. Der Googlebot ist bei der Ausführung moderner ECMAScript-Versionen viel effizienter geworden, operiert aber immer noch innerhalb eines Rendering-Budgets. Das bedeutet, dass er nicht unbegrenzt darauf wartet, dass Ihre Skripte Daten von einer externen API abrufen. Sicherzustellen, dass Ihre Kerninhalte in den ersten Sekunden der Ausführung verfügbar sind, ist eine Voraussetzung für eine konsistente Indizierung.

Sicherstellung der Sichtbarkeit von Inhalten im gerenderten HTML

Um sicherzustellen, dass Ihre Inhalte sichtbar sind, müssen Sie überprüfen, was der Bot tatsächlich sieht, nachdem die Skripte ausgeführt wurden. Ein gängiges Muster ist die Verwendung des URL-Prüfungstools in der Google Search Console, um den gerenderten Snapshot anzuzeigen. Dieses Tool bietet einen klaren Blick auf das HTML, das nach der Rendering-Phase generiert wurde. Wenn Sie feststellen, dass Ihre Hauptüberschriften oder Produktbeschreibungen in diesem Snapshot fehlen, deutet dies darauf hin, dass Ihr JavaScript für den Bot nicht korrekt ausgeführt wird. Dies geschieht oft aufgrund von Skriptfehlern, blockierten Ressourcen in Ihrer robots.txt-Datei oder Abhängigkeiten von Benutzerinteraktionen wie dem Klicken auf eine Schaltfläche oder dem Scrollen auf der Seite.

Metadaten und Canonical-Tags müssen ebenfalls im gerenderten HTML vorhanden sein. Wenn Ihre Anwendung auf einen clientseitigen Router angewiesen ist, um den Seitentitel oder die Meta-Beschreibung zu aktualisieren, stellen Sie sicher, dass diese Änderungen stattfinden, bevor die Seite als fertig betrachtet wird. Zum Beispiel sollte eine React-Anwendung, die eine Bibliothek wie React Helmet verwendet, überprüft werden, um zu bestätigen, dass die Head-Tags im DOM tatsächlich aktualisiert werden. Wenn der Bot nur die Standard-Template-Metadaten sieht, werden Ihre Klickraten in den Suchergebnissen leiden. Darüber hinaus sind konsistente Canonical-Tags erforderlich, um Probleme mit doppeltem Inhalt zu vermeiden, wenn Ihre JavaScript-Anwendung mehrere URL-Muster für dieselbe Ansicht generiert.

Technical SEO for JavaScript Heavy Websites — in practice
Was sind die häufigsten technischen Blocker für JS-Seiten?
  • Das Blockieren wesentlicher .js-Dateien in der robots.txt-Datei, was den Googlebot daran hindert, die Seite korrekt zu rendern.
  • Die Verwendung von Hash-Fragmenten (#) in URLs anstelle der History API (pushState), was URLs für die meisten Bots nicht crawlbar macht.
  • Die Anforderung von Benutzerereignissen wie ‘onclick’ für die interne Navigation anstelle der Verwendung von Standard-‘a href’-Links.
  • Langsame API-Antworten, die dazu führen, dass die Rendering-Engine ein Timeout erreicht, bevor der Inhalt in das DOM geladen wird.
  • Das Versäumnis, serverseitige Fehlercodes wie 404 bereitzustellen, da die JavaScript-App immer einen 200 OK-Status zurückgibt.
  • Implementierungen von unendlichem Scrollen, die keine paginierten Fallback-Links für Crawler zum Folgen haben.

In einem typischen Szenario könnte ein Shopify-Shop, der einen benutzerdefinierten JavaScript-basierten Produktfilter verwendet, versehentlich Tausende von Produktseiten vor Suchmaschinen verbergen. Wenn der Filter Abfrageparameter verwendet, die nicht über Standard-Anker-Tags verknüpft sind, wird der Googlebot die tieferen Seiten des Katalogs nie finden. Dies unterstreicht die Bedeutung der Verwendung sauberer, crawlbarer Linkstrukturen. Sie sollten überprüfen, ob jede wichtige Seite auf Ihrer Website über einen einfachen Link erreichbar ist. Wenn ein Bot ein komplexes Skript ausführen muss, nur um einen Link zur nächsten Seite zu finden, ist es wahrscheinlich, dass Ihr internes Link-Equity nicht effektiv über die Website verteilt wird.

Wahl zwischen SSR, CSR und statischer Generierung

Server-Side Rendering (SSR) dient als primäre Lösung für viele dieser Indizierungsverzögerungen. Durch die Generierung des vollständigen HTML auf dem Server für jede Anfrage stellen Sie sicher, dass selbst der einfachste Crawler Ihren Inhalt sofort sehen kann, ohne eine einzige Zeile clientseitigen Codes ausführen zu müssen. Dies ist besonders nützlich für E-Commerce-Plattformen, bei denen Produktbeschreibungen und Preisdaten genau und schnell indiziert werden müssen. Während SSR die Last auf Ihrem Server erhöhen kann, überwiegt der Vorteil, ein vollständig ausgefülltes HTML-Dokument in der ersten Phase des Crawlings zu haben, oft die Infrastrukturkosten. Viele Teams wählen hybride Ansätze wie Incremental Static Regeneration, um die Leistung auszubalancieren.

Client-Side Rendering (CSR) ist oft der Standard für Tools wie Create React App, aber es ist das riskanteste für SEO. In einer CSR-Umgebung erhält der Browser oder Bot eine nahezu leere HTML-Datei und ein Bündel JavaScript. Der Bot muss dann das Skript ausführen, um die Seite zu erstellen. Wenn Ihre Website ein hohes Volumen an Seiten hat, könnte das Rendering-Budget begrenzen, wie viele dieser Seiten der Googlebot an einem Tag verarbeiten kann. Für kleinere Websites ist dies möglicherweise kein unmittelbares Problem, aber wenn Sie auf Tausende von URLs skalieren, kann die Verzögerung bei der Indizierung neuer Inhalte zu einem Engpass für das Wachstum werden. Der Wechsel zu einem Framework wie Next.js oder Nuxt.js kann helfen, von reinem CSR zu bot-freundlicheren Methoden überzugehen.

Wie können Sie Ihre JavaScript-SEO-Leistung testen?

Das Testen beginnt mit der Google Search Console. Verwenden Sie die Live-Test-Funktion im URL-Prüfungstool, um zu sehen, ob es Ressourcen gibt, die der Googlebot nicht laden kann. Manchmal kann ein Skript eines Drittanbieters oder eine bestimmte CSS-Datei blockiert sein, was das Layout während der Rendering-Phase zerstören kann. Wenn der Screenshot kaputt oder leer aussieht, müssen Sie die Registerkarte ‘Weitere Informationen’ untersuchen, um die Konsolenprotokollfehler zu sehen. Diese Protokolle enthüllen oft Skriptfehler oder API-Timeouts, die für normale Benutzer unsichtbar, aber für SEO fatal sind. Die regelmäßige Überwachung des Berichts ‘Seitenindizierung’ zeigt auch, ob Google Seiten aufgrund von Rendering-Problemen nicht indizieren kann.

Eine weitere effektive Methode ist die Verwendung eines spezialisierten Crawlers wie Screaming Frog mit aktiviertem JavaScript-Rendering. Sie können die Rendering-Engine auf Chrome einstellen und das ‘Original HTML’ mit dem ‘Gerenderten HTML’ vergleichen. Dieser Vergleich ermöglicht es Ihnen, genau zu sehen, welcher Inhalt durch Ihre Skripte hinzugefügt wird. Wenn Sie signifikante Unterschiede bei der Wortanzahl oder der Anzahl der Links feststellen, ist dies ein Zeichen dafür, dass Ihr JavaScript viel Schwerstarbeit leistet, die Bots möglicherweise verpassen. Sie sollten darauf abzielen, dass die wichtigsten SEO-Elemente, wie das H1-Tag und die primäre Navigation, nach Möglichkeit sowohl in der ursprünglichen als auch in der gerenderten Version des Codes vorhanden sind.

Optimierung interner Links in einer Single-Page-Anwendung

Interne Verlinkung ist das Rückgrat der Crawlbarkeit. In vielen Single-Page-Anwendungen (SPAs) verwenden Entwickler Schaltflächen mit Event-Listenern, um Benutzer zwischen Seiten zu bewegen. Während dies ein schnelles Erlebnis für Menschen schafft, klicken Bots nicht auf Schaltflächen. Sie müssen Standard-Anker-Tags mit einem korrekten ‘href’-Attribut verwenden. Auch wenn Ihr Framework den Übergang ohne Neuladen der Seite handhabt, muss das zugrunde liegende HTML einen klaren Pfad für den Crawler bieten. Zum Beispiel sollten Sie in einer Vue.js-Anwendung die ‘router-link’-Komponente verwenden, die als Standard-‘a’-Tag gerendert wird. Dies stellt sicher, dass das Link-Equity durch Ihre Website fließt und dass neue Seiten während eines Crawls natürlich entdeckt werden.

Darüber hinaus sollten Sie die Verwendung von ‘div’- oder ‘span’-Elementen als Links vermeiden. Ein häufiger Fehler ist es, ein ‘span’ so zu gestalten, dass es wie ein Link aussieht, und einen JavaScript-Klick-Handler hinzuzufügen. Suchmaschinen erkennen diese nicht als Navigationselemente. Wenn Ihre Website-Architektur von diesen nicht standardmäßigen Links abhängt, werden Sie wahrscheinlich eine hohe Anzahl von ‘Gefunden – zurzeit nicht indiziert’-Seiten in Ihrer Search Console sehen. Dies geschieht, weil der Bot weiß, dass die Seiten aus Ihrer Sitemap existieren, aber während eines Crawls keine internen Links zu ihnen finden kann, was dazu führt, dass Google diese Seiten als minderwertig oder verwaist wahrnimmt.

Verwaltung des Crawl-Budgets für skriptlastige Seiten

Das Crawl-Budget ist die Anzahl der Seiten, die der Googlebot innerhalb eines bestimmten Zeitrahmens auf Ihrer Website crawlt. JavaScript-Rendering verbraucht deutlich mehr von diesem Budget als einfaches HTML-Parsing. Um dies zu optimieren, sollten Sie die Größe Ihrer JavaScript-Bundles minimieren. Große Dateien benötigen länger zum Herunterladen und Ausführen, was dazu führen kann, dass der Bot zu einer anderen Website weiterzieht, bevor er Ihre fertiggestellt hat. Die Verwendung von Techniken wie Code-Splitting ermöglicht es Ihnen, nur den für die aktuelle Seite notwendigen Code bereitzustellen, was die Ausführungszeit reduziert. Sie können auch einen Dienst wie Prerender.io nutzen, wenn Sie nicht auf ein vollständiges SSR-Framework umsteigen können, da dieser eine zwischengespeicherte statische Version Ihrer Seite speziell für Suchbots bereitstellt.

  • Überprüfen Sie Ihre Website mit dem ‘Test auf Rich-Suchergebnisse’, um zu sehen, wie der Googlebot bestimmte Komponenten rendert.
  • Stellen Sie sicher, dass alle Bilder ‘img src’ anstelle von Hintergrundbild-Stilen für eine bessere Indizierung verwenden.
  • Stellen Sie sicher, dass lazy-geladene Inhalte durch die ‘IntersectionObserver’-API ausgelöst werden, die von modernen Crawlern unterstützt wird.
  • Überprüfen Sie, ob Ihre Paginierung eindeutige URLs für jede Seite verwendet, anstatt den Inhalt nur per JS auf derselben URL zu aktualisieren.
  • Verwenden Sie die ‘Abruf wie durch Google’-Äquivalente in verschiedenen SEO-Tools, um mobiles und Desktop-Rendering zu vergleichen.
  • Überwachen Sie Ihre Serverprotokolle, um zu sehen, ob der Googlebot übermäßig viel Zeit mit großen Skriptdateien verbringt.

Sofortige Schritte zur Verbesserung Ihres JavaScript-SEO in dieser Woche

Beginnen Sie damit, Ihre 10 wichtigsten Seiten zu identifizieren und sie durch das URL-Prüfungstool der Google Search Console laufen zu lassen. Suchen Sie gezielt nach fehlendem Text im gerenderten HTML-Snapshot und überprüfen Sie die Konsolenfehlerprotokolle auf fehlgeschlagene Ressourcen. Wenn Sie feststellen, dass kritische Inhalte fehlen, sprechen Sie mit Ihrem Entwicklungsteam über die Implementierung von Hydration oder serverseitigem Rendering für diese spezifischen Elemente. Oft bietet das Verschieben nur der primären Inhalte auf die Serverseite, während die interaktiven Komponenten auf der Clientseite bleiben, das beste Gleichgewicht. Dies stellt sicher, dass Ihre wertvollsten Assets für die Indizierungsphase bereit sind, ohne das moderne Gefühl Ihrer Anwendung zu opfern.

Überprüfen Sie als Nächstes Ihre interne Linkstruktur, um sicherzustellen, dass jede Seite über ein Standard-Anker-Tag zugänglich ist. Ersetzen Sie jede schaltflächenbasierte Navigation durch korrekte Links, um Bots dabei zu helfen, Ihre Inhalte effizienter zu entdecken. Überprüfen Sie abschließend Ihre robots.txt-Datei, um sicherzustellen, dass Sie den Googlebot nicht daran hindern, auf Ihre JavaScript-Ordner zuzugreifen, wie z. B. /static/js/ oder /dist/. Wenn der Bot die Skripte nicht herunterladen kann, kann er die Seite nicht rendern, was Ihre Website effektiv vor Suchergebnissen verbirgt. Regelmäßige Audits dieser technischen Grundlagen halten Ihre JavaScript-lastige Website sichtbar und wettbewerbsfähig in der Suchlandschaft.

Weiterlesen: SEO (Suchmaschinenoptimierung) · SEO

Teilen