AI-Suche / GEO·Cursor
AI-Suche / GEOCursor

Server-Side Rendering einbauenCursor

AI-Crawler führen meist kein JavaScript aus. Wenn dein Content nur in useEffect ist, sieht ChatGPT eine leere Seite. Pre-rendered HTML ist Pflicht für AI-Zitate und schnellere Google-Indexierung.

rocket_launch

In Cursor fixen

Agentischer AI-Code-Editor auf VSCode-Basis

Next.js App Router — Seiten sind per Default server-gerendert. Einfach sicherstellen dass Haupt-Content NICHT in einer `"use client"`-Datei ist.

Anderes Tool? Wähle deinen Stack:

Der Prompt für Cursor

Diesen Text exakt so in deinen Cursor-Chat kopieren und einfügen.

Apply these changes to my codebase. Edit the files directly and keep existing formatting:

Render content server-side

1. Convert client components to Server Components where possible (remove "use client" from pages that only render data).
2. Move data fetching out of useEffect into the server component body.
3. Verify by viewing the page source (Ctrl+U) — the body text should be present without JS.

Warum das wichtig ist

Es gibt zwei Arten Crawler: welche die JavaScript ausführen (Googlebot — meist, langsam) und welche die es nicht tun (GPTBot, ClaudeBot, die meisten AI-Tools, Social-Preview-Scraper). Wenn dein Content nur client-gerendert ist, sieht die zweite Gruppe nur eine leere Hülle.

Pure SPAs — Create React App, unmodified Vite React — haben dieses Problem by Default. Die HTML-Response ist ein einziges `<div id="root"></div>`, alles andere erscheint nach JS. OK für User, kaputt für AI-Suche.

Der Fix ist SSR oder SSG. Next.js App Router macht das per Default. Lovable- und Bolt-Projekte auf Vite brauchen entweder einen Vite-SSR-Adapter, Umzug zu Next/Remix/Astro, oder zumindest einen pre-rendered Static-Export für Key-Pages.

So nutzt du diesen Prompt in Cursor

  1. 1. Dein Cursor-Projekt öffnen.
  2. 2. Prompt oben mit Copy-Button kopieren.
  3. 3. In Cursor-Chat einfügen und senden.
  4. 4. Diff reviewen, Änderungen akzeptieren, neu deployen.
  5. 5. Fix mit der Checkliste unten verifizieren.

Typische Fehler vermeiden

  • error_outlineGanze Seite in useEffect der Content lädt — nichts im HTML.
  • error_outlineKomplette Seite als `"use client"` in Next.js — SSR-Vorteile weg.
  • error_outlineContent vom Client aus der API laden wenn du server-seitig laden könntest.
  • error_outlineDynamic-Imports für Content-Komponenten — Content nicht im initialen HTML.

Wie du prüfst ob der Fix geklappt hat

  • check_circle`curl -s https://deinesite.com/page | grep "DEINE HEADLINE"` — muss Match liefern.
  • check_circleJS in Chrome DevTools → Einstellungen → Debugger deaktivieren → reload — Haupt-Content muss sichtbar bleiben.
  • check_circleQuelltext (Strg+U) — H1, erster Absatz, Key-CTAs müssen im rohen HTML stehen.
  • check_circle`view-source:deinesite.com/page` öffnen — nach Meta-Description-Text suchen.

Häufige Fragen

Rendert Google JavaScript?expand_more
Ja, aber verzögert ("Second Wave") und nicht perfekt. JS-only-Content für SEO ist fragil. Für AI-Suche findet JS-Rendering gar nicht statt.
Muss ich die ganze App zu Next.js migrieren?expand_more
Nicht zwingend. Public-Marketing-Pages mit Static-Generator pre-rendern, Logged-In-App als SPA lassen. Best of both.
Was ist mit Hydration-Errors?expand_more
Hydration-Errors treten auf wenn Server-HTML vom Client-Rendering abweicht. Typische Ursache: Date.now() oder Random im Render. Fix: in useEffect verschieben.

Alle 34 Prompts passend zu deiner Cursor-Site?

Pantra scannt deine Site in 10 Sekunden, erkennt den Stack und generiert genau die Prompts die passen — nur die du brauchst.

Site scannen

Ähnliche Cursor-Prompts