seo-aeo-audit — Sichtbarkeit in Such- + Antwortmaschinen auditieren, dann einen Plan liefern
Ein Job: Eine echte Website ansehen, mit Beweisen belegen, was falsch ist, und einen priorisierten Änderungsplan zurückgeben, der klassische Suche (Google, Yandex, Bing) und Antwortmaschinen (AI Overviews / AI Mode, ChatGPT, Perplexity, Claude, Copilot, Gemini, Alice AI) abdeckt.
Nicht Aufgabe dieses Skills: Inhalte schreiben, Seiten bauen, Links kaufen. Es endet mit einer verifizierten Diagnose und einem ausführbaren Plan.
Nicht verhandelbar
- Beweis oder Stille. Jeder Befund trägt: was Sie beobachtet haben, wo (URL, Datei:Zeile, Berichtsname), den beobachteten Wert und das Datum. Melden Sie niemals einen Befund, den Sie nicht auf dieser Website verifiziert haben. „Best Practice sagt“ ist kein Beweis.
- Kennzeichnen Sie die Evidenzstufe jeder Empfehlung (siehe references/evidence-tiers.md):
CONFIRMED(von der Engine dokumentiert oder auf dieser Site reproduziert) ·STUDY(veröffentlichte Multi-Site-Daten) ·FIELD(Einzelfallbericht) ·HYPOTHESIS. Lassen Sie niemals zu, dass eine HYPOTHESIS einen CONFIRMED-Blocker übertrifft. - Diagnose vor Verschreibung. Keine Änderung kommt in den Plan, bis ihre Ursache lokalisiert ist. „Schema hinzufügen“ ist keine Diagnose.
- Verweigern Sie die Mythenliste. Siehe „Mythenwächter“ unten – die Empfehlung dieser Dinge verschwendet das Budget des Kunden und ist ein Fehler, keine Nettigkeit.
- Empfehlen Sie niemals betrügerische Taktiken. Cloaking, vorgetäuschte Konsensnetzwerke, Bewertungsmanipulation, Missbrauch von Konkurrenten-Entfernungen und Click-Signal-Spoofing bleiben außen vor. Sie erscheinen in diesem Skill nur in references/threats-and-defense.md als Dinge, die es zu erkennen und abzuwehren gilt.
- Geben Sie an, was Sie nicht überprüfen konnten. Ein fehlender GSC-Login ist eine Lücke im Bericht, keine stille Auslassung.
- Vermischen Sie niemals Gemessenes mit Angenommenem. Wenn ein Deliverable beides enthält – ein Linkbuilding-CSV tut das immer –, trennt eine
source-Spalte sie, und die Volumenzellen einer ungemessenen Zeile bleiben leer, nicht null. Eine0liest sich als „gemessen, keine Nachfrage“; leer liest sich als „niemand hat überprüft“. Der Unterschied ist am wichtigsten bei Arbeiten, die jemand anderes mit einem Budget ausführt. - Kennen Sie den blinden Fleck jedes Instruments und sagen Sie es im Output. Die Regeln 1 und 7 regeln, was Sie schreiben; sie sehen kein Werkzeug, das vermischt oder auslässt, bevor Sie überhaupt hinsehen. Zwei tauchen ständig auf. Ein statischer Abruf kann kein JSON-LD sehen, das das CMS mit JavaScript einfügt, daher ist „kein Schema gefunden“ ein falscher Befund auf jeder Yoast/RankMath/AIOSEO-Site –
scripts/page_audit.pydruckt den Hinweis neben jedes Schema-Inventar, und Abwesenheit ist erst nach einer Render-Prüfung meldbar. GA4 mit Consent-Mode-Modellierung gibt beobachtetes und geschätztes Verhalten in einer Zahl zurück – siehe references/measurement.md J1 für die drei Aktivierungsbedingungen, den sichtbaren Indikator und den nur-beobachteten Fallback. Die Regel verallgemeinert sich: Bevor das Schweigen eines Instruments zu einem Befund wird, stellen Sie fest, dass das Instrument die Sache überhaupt sehen konnte.
Schritt 0 — Modus erkennen, nie zweimal fragen
Erst prüfen, dann handeln. In dieser Reihenfolge:
- Lesen Sie
docs/seo/(oder den Pfad, den der Benutzer nennt). Wenn ein früherer Audit existiert, ist dieser Durchlauf ein Re-Audit: Vergleichen Sie ihn und beginnen Sie mit dem, was sich geändert hat. - Stellen Sie fest, was Sie erreichen können: die Live-Site, eine Staging-URL,
robots.txt,sitemap.xml, Search Console / Bing Webmaster / Analytics-Zugriff, einen Crawl-Export (Screaming Frog, Sitebulb), Server-Logs, alle angeschlossenen MCP-Tools (Ahrefs, GSC, Analytics, ein Crawler-MCP oder das Prowl MCP für umfangreiche Wettbewerbs- und Nachfragedaten ohne Pro-Anbieter-Sitzplatz). Testen Sie den Zugriff, nehmen Sie ihn nicht an. Ein verbundener Server ist kein funktionierender: API-Stufen sperren Endpunkte, und Tokens haben engere Bereiche als das Dashboard vermuten lässt. Testen Sie den einen Aufruf, für den jede Quelle da ist, bevor Sie um sie herum planen, und notieren Sie, was zurückkam – „verbunden, gibt aber 'Insufficient plan' zurück“ ist ein Befund, den der nächste Audit braucht. - Wählen Sie den Umfang mit dem Benutzer nur, wenn die Antwort die Arbeit ändert: gesamte Site, eine Vorlage/ein Bereich, eine Frage („warum ist der Traffic im Mai eingebrochen“) oder eine Linkbuilding-Extraktion – Ziele, Keywords und Anker für einen Auftragnehmer. Das ist eher ein Deliverable als eine Diagnose: Lesen Sie references/linkbuilding.md, wenn es die Anfrage ist. Es funktioniert mit oder ohne Search Console.
- Melden Sie den Status in drei Zeilen – verfügbare Eingaben, fehlende Eingaben, Umfang – und beginnen Sie dann. Schlagen Sie am Ende jedes Durchlaufs genau eine nächste Aktion vor.
scripts/preflight.py führt den automatisierbaren Teil von Schritt 2 aus, anstatt dass scripts/preflight.py den automatisierbaren Teil dieses Schrittes ausführt und meldet, bei welchem unabhängigen Gate ein Fehler aufgetreten ist – Search Console, die GSC-API und PageSpeed antworten alle aus unterschiedlichen Gründen mit 403. Lesen Sie references/preflight.md, um genau zu erfahren, was es prüft und was es Ihnen überlässt (Bing/Yandex, Analytics, Server-Logs, Crawl-Exports und jedes MCP-Tool). Ein grüner Preflight ist kein abgedeckter Schritt.
# Claude Code Plugin: ${CLAUDE_PLUGIN_ROOT} expandiert innerhalb von Skill-Inhalten.
SKILL_DIR="${CLAUDE_PLUGIN_ROOT}/skills/seo-aeo-audit"
# Jeder andere Kanal: das Basisverzeichnis, das die Hülle beim Laden dieses
# Skills benennt – das Verzeichnis, in dem dieses SKILL.md liegt. Bestätigen Sie vor dem Verlassen auf:
ls "$SKILL_DIR/scripts/preflight.py"
No such file or directory ist hier kein fehlendes Feature und kein Grund, leise weiterzumachen. Es bedeutet, dass die sechs Instrumente unerreichbar sind, sodass jede Prüfung, die sie durchgeführt hätten, auf die unterste Stufe der Evidenzleiter fällt – und die Stufe eines Befunds begrenzt seine Bewertungsstufe. Sagen Sie es im Drei-Zeilen-Status; ein Audit, der stillschweigend manuell wird, hat den Wert seiner Schlussfolgerungen geändert (nicht verhandelbar #6).
python3 "$SKILL_DIR/scripts/preflight.py" --site sc-domain:example.com --origin https://example.com
Zugriffsregeln: standardmäßig schreibgeschützt. Senden Sie niemals Formulare, beantragen Sie keine Indexierung, widerrufen Sie keine Links und ändern Sie keine Live-Eigenschaft ohne ausdrückliche Genehmigung in dieser Sitzung; dies sind nach außen gerichtete Aktionen.
Schritt 1 — Baseline vor Meinungen
Dokumentieren Sie mit Daten, sodass jede spätere Behauptung daran gemessen werden kann:
- organische Klicks / Impressionen / durchschnittliche Position pro Land und Gerät, 12 Monate (GSC + Bing), und das Abfall- oder Plateau-Fenster, falls vorhanden;
- indizierte vs. veröffentlichte URL-Anzahl pro Vorlage (
site:ist ein Geruchstest, der GSC-Seitenbericht ist die Zahl); - Top-20-Umsatz- oder Conversion-Seiten und ihre aktuellen Positionen;
- AI-Oberflächen-Baseline: Führen Sie das Marken- und Kategorie-Prompt-Set aus references/aeo-geo.md gegen jede erreichbare Engine aus und zeichnen Sie die Antworten wörtlich auf;
- welche AI-Crawler die Site tatsächlich abrufen (Server-Logs; Forward-Confirmed Reverse DNS zur Filterung von Spoofern) und welche AI-Referrer in Analytics erscheinen;
- den Update-Zeitstrahl: Datumsausrichtung jeder Änderung an der Kurve gegen references/algorithm-updates.md, bevor Sie eine Hypothese zu einer Ursache bilden.
Wenn überhaupt kein First-Party-Zugriff besteht, sagen Sie es im Drei-Zeilen-Status und fallen Sie auf das zurück, was ein Drittanbieter-Index feststellen kann: wofür die Domain heute rankt, wie groß ihr Link-Profil gegen einen bemessenen Wettbewerbssatz ist und ob ihre Zielphrasen messbare Nachfrage tragen (references/prowl-mcp.md). Diese Baseline ist mit STUDY gedeckelt und kann nicht beantworten, „warum diese Seite nicht indiziert ist“ – aber sie reicht aus, um einen Kaltstart von einem Rückgang zu unterscheiden, und diese brauchen gegensätzliche Pläne.
Behauptet die Site einen Traffic-Einbruch, trennen Sie zuerst Berichtsfehler von Ranking-Fehlern: Ein eingefrorener GSC-Bericht fixiert Clicks auf ein Datum, während ein echter Treffer weiterhin frische abfallende Punkte produziert. Kreuzen Sie GA4-Sitzungen, Server-Logs und einen unabhängigen Rank-Tracker ab, bevor Sie eine algorithmische Ursache diagnostizieren.
Schritt 2 – Die zehn Tracks
Führen Sie jeden Track aus, der in den Umfang fällt. Jeder hat seine eigene Referenzdatei mit den konkreten Prüfungen, den 2026-aktuellen Fallstricken und den zu erfassenden Beweisen.
| # | Track | Beantwortet | Referenz |
|---|---|---|---|
| A | Zugriff & Indexierungs-Ökonomie | Können Bots dies abrufen, rendern und sich leisten? Wo wird Crawl-Budget verbrannt? | technical-checks.md |
| B | Kanonisierung & Duplikation | Welche URL ist kanonisch, und stimmt die Engine zu – hreflang inklusive? | technical-checks.md |
| C | Architektur & Link-Equity | Erhalten Geldseiten Autorität, Tiefe und Crawl-Frequenz? | architecture-and-equity.md |
| D | Intent & SERP-Fit | Passt jede Seite zur SERP, und kannibalisieren sich Seiten? | intent-and-content.md + onpage-checks.md |
| E | Content-Wert | Ein Grund zu ranken, den KI nicht replizieren kann? | intent-and-content.md + ranking-model.md |
| F | Extrahierbarkeit & AEO/GEO | Kann eine Antwortmaschine es abrufen, lesen und zitieren? | aeo-geo.md |
| G | Entität & Markenkonsens | Kennen Modelle die Marke, konsistent, und nennen sie beim Namen? | entity-and-brand.md |
| H | Erfahrung, Conversion & Attribution | Aufgabe hier erledigt oder zurückgesprungen? Konvertiert, und gemessen? | experience-signals.md + demand-and-conversion.md |
| I | Risiko & Bedrohungen | Strafen, Hijacks, Injections, Takedowns. | threats-and-defense.md |
| J | Messung | Wird jemand feststellen können, ob der Plan funktioniert hat? | measurement.md |
Discover ist keiner der zehn Tracks und es ist nicht Teil von Track A. Es hat seinen eigenen Ranking-Durchlauf, sein eigenes Gate (zwei Metatags, ohne die überhaupt keine Karte gerendert wird) und seine eigene Aktualitätskurve, daher braucht eine Site, auf der Discover eine wesentliche Traffic-Quelle ist, references/discover.md als elften Durchlauf – und eine Site, auf der dies nicht der Fall ist, kann es ganz überspringen. Überprüfen Sie den GSC-Discover-Bericht, bevor Sie entscheiden: Die Referenz wurde nur erreichbar über die Liste am Ende dieser Datei ausgeliefert, was bedeutete, dass ein Agent, der die Tracks in der Reihenfolge abarbeitete, sie nie öffnete.
Vor jeder Rückgangsdiagnose führen Sie das Datumsabgleichs- und Update-Antwort-Protokoll in references/algorithm-updates.md aus – „ein Core-Update hat uns getroffen“ ist kein Befund, und die Hälfte der dokumentierten GSC-Ausfälle fiel mit Rollouts zusammen.
Jeder Track hat zwei Hälften: die diagnostische Arbeit (was ist falsch und warum) und einen mechanischen Durchlauf für Vollständigkeit – technical-checks.md §A3 für Tracks A/B und onpage-checks.md für D/E. Führen Sie zuerst die Diagnose durch; der Durchlauf danach fängt die langweiligen Fehler ein, und nur Durchlauf-Elemente mit beobachtbarem Impact werden in die Befundtabelle übernommen.
Reihenfolge ist wichtig. Ein Track-A-Blocker (Site nicht abrufbar, noindex im Pre-Render-Quelltext, manuelle Aktion) macht jeden anderen Befund gegenstandslos – eine manuelle Aktion ist ein binärer Multiplikator: Nichts, was Sie verbessern, zählt, bis sie aufgehoben ist. Arbeiten Sie A → B → C, bevor Sie Zeit mit F/G verbringen.
Evidenzleiter – die volle Routenführung lebt in references/tooling.md; sie ist geordnet nach Evidenzstärke, nicht Bequemlichkeit: Server-Logs → Search Console / Bing / Yandex → vollständiger Crawl → Feld-Performancedaten → Drittanbieter-Indizes → manueller Abruf und DevTools. Verwenden Sie die höchste Stufe, die Sie für jede Prüfung tatsächlich erreichen können, und geben Sie im Bericht an, auf welcher Stufe ein Befund ruht. Ein reiner Public-Audit ohne Property-Zugriff ist gültige Arbeit, aber seine Indexierungs- und Query-Befunde sind Schlussfolgerungen, keine Beobachtungen, und werden entsprechend eingestuft.
Die sechs gebündelten Skripte – preflight.py, gsc_pull.py, page_audit.py, url_inspection.py, sitemap_audit.py, psi_pull.py – sammeln die mechanische Hälfte jedes Tracks. Lesen Sie references/scripts.md für Aufruf, Flags, Kontingente und die Pro-Skript-Limits.
Vier Fallen, die entscheiden, ob ein Befund echt ist:
page_audit.py's Schema-Inventar liest nur servergerendertes HTML. Wenn ein CMS JSON-LD mit JavaScript injiziert, ist ein leeres Inventar kein Beweis für fehlendes Markup (nicht verhandelbar #8).--format jsongibt ein Array aus, ein Objekt pro Seite, sogar für eine URL: indexdata[0].- Eine Antwort, die durch
--max-bytesabgeschnitten wird, verwirft jeden zählbasierten Befund, anstatt ein Fragment als Messung zu veröffentlichen. - Jeder ausgegebene Befund trägt eine Evidenzstufe sowie eine Schwere, und nur die Stufe fließt in die Triage-Formel ein. Schwere gibt an, wie laut ein Befund ist; die Stufe gibt an, was ihn stützt.
url_inspection.pyfragt den Index, anstatt aus einem Abruf zu schließen, was die einzige Möglichkeit ist, dass ein BefundCONFIRMEDerreicht – bei einem Kontingent von 2000/Tag und 600/Minute pro Property, also sampeln Sie eine URL pro Vorlage plus die Seiten, um die es bei einem Befund tatsächlich geht.
Schritt 3 – Triage
Bewerten Sie jeden Befund, dann sortieren Sie. Präsentieren Sie keine unsortierte Liste.
priorität = (impact × confidence) / effort
- impact 1–5: Umsatzseiten blockiert = 5; ein vorlagenweites Leck = 4; eine einzelne Informationsseite = 1. Schätzen Sie in Traffic- oder Umsatzbegriffen, wo die Baseline es erlaubt.
- confidence: CONFIRMED 1.0 · STUDY 0.7 · FIELD 0.4 · HYPOTHESIS 0.2.
- effort 1–5 in Ingenieurstagen, unter Berücksichtigung des Release-Prozesses, nicht nur der Bearbeitung.
Gruppieren Sie die Ausgabe in vier Eimer, in dieser Reihenfolge:
- Blocker – Indexierung, Strafen, Hijacks, Umsatzseiten unerreichbar.
- Lecks – Crawl-Budget, Equity, Kannibalisierung, Lese-Budget-Verschwendung.
- Gewinne – Intent-Fit, Informationsgewinn, Extrahierbarkeit, Entitätskonsens.
- Experimente – alles unterhalb von CONFIRMED, das einen Split-Test und keinen Rollout verdient. Entwerfen Sie sie gemäß references/experiments.md; rollen Sie niemals eine HYPOTHESIS aus.