← Zurück zum Blog

KI-Crawler führen Ihr JavaScript nicht aus. Prüfen Sie, was sie wirklich sehen.

Wenn Ihre Seiten im Browser gerendert werden, lesen ChatGPT, Claude und Perplexity womöglich nur eine leere Hülle. So erkennen Sie das und beheben es in Next.js, React und anderen Frameworks.

Die meisten KI-Crawler lesen das HTML, das Ihr Server ausliefert, und sonst nichts. Baut Ihre Produktseite ihre Inhalte erst nach dem Laden per JavaScript auf, bekommt ein Crawler wie GPTBot oder ClaudeBot unter Umständen eine Seite mit Header, Footer und einem Lade-Spinner. Ein Produkt, das er nicht lesen kann, kann er nicht empfehlen.

Wer rendert und wer nicht

Googlebot führt JavaScript aus. Er stellt Seiten in eine Warteschlange zum Rendern und indexiert, was der Browser anzeigen würde. Deshalb können clientseitig gerenderte Websites in Google trotzdem ranken. Gemini und Google AI Overviews greifen auf den Google-Index zurück und übernehmen das.

Die Crawler hinter ChatGPT, Claude und Perplexity arbeiten anders. Eine Analyse des Crawler-Traffics von Vercel und MERJ aus dem Jahr 2024 ergab, dass die Crawler von OpenAI und Anthropic JavaScript-Dateien zwar herunterluden, aber nicht ausführten. Solange ein Anbieter nichts anderes dokumentiert, sollten Sie davon ausgehen, dass diese Crawler nur Ihr rohes HTML sehen.

Diese Lücke erklärt ein häufiges Rätsel: eine Website, die in Google gut rankt, in ChatGPT-Antworten zur eigenen Kategorie aber nie auftaucht.

So prüfen Sie Ihre eigenen Seiten

Öffnen Sie eine Produktseite und nutzen Sie „Seitenquelltext anzeigen“, nicht den Element-Inspektor. Der Inspektor zeigt die Seite, nachdem JavaScript gelaufen ist. Der Quelltext zeigt, was ein Crawler ohne Rendering bekommt.

Suchen Sie im Quelltext nach einem Satz, den Sie auf der Seite sehen, etwa Ihrer Überschrift oder einem Preis. Steht er dort, können Crawler ihn lesen. Enthält der Quelltext nur ein Root-<div> und Script-Tags, werden Ihre Inhalte im Browser gerendert.

Sie können die Seite auch im Terminal abrufen:

curl -s https://yourdomain.com/pricing | grep -i "per month"

Kein Treffer bedeutet: Der Preistext erreicht nie einen Crawler, der JavaScript überspringt.

Das kostenlose KI-Readiness-Audit von Promptvane prüft das für Ihre Startseite und eine Auswahl von Sitemap-Seiten und markiert jede Seite, deren HTML kaum Text enthält.

Lösungen je Framework

Das Ziel ist überall dasselbe: Die Inhalte müssen in der ersten HTML-Antwort stehen.

In Next.js mit dem App Router sind Seiten standardmäßig Server Components und werden auf dem Server gerendert. Probleme entstehen, wenn eine ganze Seite mit 'use client' markiert ist und ihre Daten in useEffect lädt. Verlagern Sie das Laden der Daten in die Server Component (oder in generateStaticParams bei statischen Seiten) und verwenden Sie 'use client' nur für die interaktiven Teile.

Im Pages Router von Next.js nutzen Sie für Inhaltsseiten getStaticProps oder getServerSideProps, statt auf dem Client zu laden.

Bei einer mit Vite gebauten Single-Page-App in React oder Vue ergänzen Sie Prerendering für öffentliche Seiten oder verlagern die Marketingseiten in ein Framework, das auf dem Server rendert, etwa Next.js, Nuxt, Astro oder Remix.

WordPress, Webflow und die meisten gehosteten Website-Baukästen rendern bereits auf dem Server. Prüfen Sie Page-Builder und Plugins, die Inhalte über JavaScript-Widgets laden, zum Beispiel Bewertungskarussells und Preistabellen.

Inhalte, die sich anders verstecken

Server-Rendering ist nicht die einzige Falle. Inhalte in Tabs und Akkordeons sind kein Problem, solange sie im HTML stehen; Inhalte, die erst beim Klick auf den Tab geladen werden, schon. Text in Bildern ist für Crawler ohne Texterkennung (OCR) unsichtbar. Preise, die ein Checkout-Script eines Drittanbieters einfügt, tauchen oft überhaupt nicht in Ihrem Quelltext auf.

FAQ

Bin ich auf der sicheren Seite, weil Googlebot JavaScript rendert?

Für die Google-Suche weitgehend. Für ChatGPT, Claude und Perplexity nicht. Für ihre Crawler ist nicht belegt, dass sie JavaScript ausführen. Inhalte, die erst nach dem Rendern existieren, sind für sie also wahrscheinlich unsichtbar.

Reicht es, die Startseite serverseitig zu rendern?

Nein. Assistenten zitieren meist die Seite, die die Frage beantwortet: eine Preisseite, einen Vergleich, eine Funktionsseite. Jede Seite, die zitiert werden soll, braucht ihre Inhalte im HTML.

Schadet Server-Rendering der Performance?

Meist ist das Gegenteil der Fall. Serverseitig gerenderte und statische Seiten zeigen Inhalte früher an, was auch den Core Web Vitals hilft.

GEO-Notizen, alle zwei Wochen

Was wir aus Tausenden ausgewerteten KI-Antworten lernen. Ohne Füllstoff.