GEO Audit
Prüft, ob eine Website in KI-Antworten überhaupt auftauchen kann – und was dem im Weg steht.
Das Problem
Antwortmaschinen zitieren Absätze, keine Seiten. Klassische SEO-Werkzeuge messen das nicht, weil sie auf Ranking optimieren statt auf die Übernehmbarkeit einer einzelnen Aussage.
Installation
Der Skill ist eine SKILL.md mit Referenztexten und abhängigkeitsfreien Node-Scripts – nichts davon ist an einen Anbieter gebunden. Wähle deinen Agenten:
Schritt 1
git clone https://github.com/larsdecker/agents-skillsSchritt 2
node agents-skills/install.mjs --agent cursor --skill geo-audit --target .Statt cursor auch copilot, windsurf, cline, gemini oder agents (für Codex, Zed, Amp, opencode). node install.mjs --list zeigt alle. Der Installer legt die Dateien unter .agents/skills/ ab und schreibt den Einstiegspunkt dorthin, wo dein Agent ihn erwartet.
Getestet mit: Claude Code, Cursor, GitHub Copilot, Codex, Windsurf, Cline, Gemini CLI, Zed. Ein hier nicht genannter Agent funktioniert ebenfalls – Skill-Verzeichnis ablegen und in der Anweisungsdatei des Agenten darauf verweisen.
Was dabei herauskommt
- Befundliste in drei Stufen, nach Wirkung sortiert
- Konkrete Fixes als robots.txt-Zeilen, JSON-LD-Blöcke oder Textumformulierungen
- Auf Wunsch eine generierte llms.txt
Was er nicht tut
- Keine Messung tatsächlicher Sichtbarkeit – nur der Voraussetzungen
- Keine Erfolgsgarantie: ob ein Modell zitiert, ist von außen nicht prüfbar
- Kein Ersatz für Server-Log-Analyse
Warum GEO nicht SEO mit neuem Namen ist
Klassische Suche liefert eine Liste von Links. Der Nutzer klickt und liest selbst. Optimiert wird auf Position.
Eine Antwortmaschine liefert eine formulierte Antwort und nennt Quellen. Sie klickt nicht, sie übernimmt Textausschnitte. Daraus folgen drei Unterschiede, die die gesamte Prüfung bestimmen.
Die Einheit ist der Absatz, nicht die Seite. Ein Modell zitiert selten eine ganze Seite, sondern einzelne Aussagen. Ein Absatz, der mit „Das führt dazu, dass …" beginnt, ist außerhalb seines Kontexts unbrauchbar und wird nicht übernommen – egal wie gut die Seite rankt.
Eindeutigkeit schlägt Keyword-Abdeckung. Das Modell muss entscheiden, ob der Inhalt zur Frage passt und wer ihn verantwortet. Fehlende oder widersprüchliche Entitätsangaben schaden hier mehr als ein fehlendes Keyword.
Zugang ist binär. Bei klassischem SEO ist schlechte Auffindbarkeit ein Gradient. Bei Antwortmaschinen ist ein blockierter Retrieval-Crawler ein hartes Aus.
Der Unterschied, den fast alle übersehen
Die meisten Anleitungen zu „KI-Bots in robots.txt" behandeln alle Crawler gleich. Das führt zu Konfigurationen, die entweder zu viel oder zu wenig blockieren – und jeweils genau das Falsche.
Retrieval heißt: Der Bot holt eine Seite ab, weil gerade jemand eine Frage gestellt hat, und der Inhalt fließt mit Quellenangabe in die Antwort. Blockieren bedeutet: die Seite kann in dieser Antwort nicht vorkommen.
Training heißt: Der Inhalt wird für zukünftige Modellversionen gesammelt. Blockieren bedeutet: kein direkter Sichtbarkeitsverlust in Antworten.
Wer Sichtbarkeit will und Trainingsnutzung ablehnt, kann beides haben. Der Skill meldet einen blockierten Training-Bot deshalb als Feststellung, nicht als Fehler – und drängt nicht zum Entblocken.
Ein Beispiel für die praktische Folge: Google-Extended zu blockieren steuert ausschließlich die Trainingsnutzung für Gemini. Es hat keinen Einfluss auf die Google-Suche und keinen auf AI Overviews. Wer es blockiert, um AI Overviews zu vermeiden, erreicht damit nichts.
Was geprüft wird
Zugang — Retrieval- gegen Training-Crawler, Sitemap-Verweis, und ob der Inhalt überhaupt im serverseitigen HTML steht. Der letzte Punkt dominiert bei jeder SPA ohne Server-Rendering alle anderen Befunde: was JavaScript nachlädt, existiert für die meisten KI-Crawler nicht.
Entity-Klarheit — JSON-LD auf Person oder Organization, Verknüpfung über eine stabile @id auf allen Seiten, externe Anker via sameAs. Für Einzelpersonen und kleine Firmen der wirksamste Hebel überhaupt, weil er Autorität herstellt, die sonst nur über Bekanntheit entsteht.
Zitierfähigkeit — Anteil der Sätze, die mit einem Rückverweis beginnen und isoliert unbrauchbar sind. Satzlängen. Ob die Antwort vor der Herleitung steht.
Struktur — Überschriften im Frageformat, extrahierbare Listen und Tabellen, saubere Hierarchie.
Aktualität und llms.txt — inklusive Erkennung des häufigsten Fehlers: eine SPA liefert für /llms.txt HTML mit Status 200 aus, und die Datei ist damit praktisch nicht vorhanden.
Beispiel: Zitierfähigkeit messbar gemacht
Zwei Seiten derselben Website, derselbe Messwert, zwei völlig verschiedene Bedeutungen:
/blog/po-fuehrt-ki-agenten
Zitierfähigkeit: 73 Sätze, ø 19 Wörter, 23 % mit Rückverweis, 8 % über 35 Wörter
Seitentyp: artikel
/blog
Zitierfähigkeit: 36 Sätze, ø 39 Wörter, 3 % mit Rückverweis, 61 % über 35 Wörter
Seitentyp: übersicht (Prosa-Kriterien nicht angewandt)Die Übersichtsseite sieht auf dem Papier viel schlechter aus. Tatsächlich besteht ihr Text aus Teaser-Fragmenten ohne Satzzeichen, die bei der Segmentierung zu Scheinsätzen verschmelzen. Der Skill erkennt den Seitentyp und wendet Prosa-Kriterien dort nicht an.
Genau daran scheitern generische Content-Analysen: sie melden auf Listenseiten Befunde, die dort keine Bedeutung haben – und verlieren damit das Vertrauen für die Befunde, die zählen.
Was der Skill ausdrücklich nicht verspricht
Auf die Frage „taucht meine Seite danach in ChatGPT auf?" ist die ehrliche Antwort: unbekannt. Ob ein Modell zitiert, hängt von Trainingsdaten, Index-Stand, Autorität und der Konkurrenz zur konkreten Frage ab – nichts davon ist von außen prüfbar.
Was zusagbar ist: dass keine technische Hürde mehr im Weg steht und dass die Inhalte in der Form vorliegen, in der sie übernommen werden können. Alles darüber hinaus wäre ein Versprechen ohne Grundlage.
