recovery-audit
CommandAudit all SEO changes made to a domain within a given period. Read-only audit_only mode.
Automatic domain diagnosis: Core Update impact, VI drop, keyword losses, backlink profile.
> /plugin marketplace add maxschottke-spec/seo-survival-kit> /plugin install seo-rescue@seo-survival-kit
description: "Automatic domain diagnosis: Core Update impact, VI drop, keyword losses, backlink profile." allowed-tools: Bash, Read, Write, Edit, Glob, Grep, mcp__*
Automatische Diagnose einer Domain: Core-Update-Betroffenheit pruefen, VI-Drop quantifizieren, Keyword-Verluste identifizieren, Backlink-Profil scannen. Ergebnis ist ein strukturierter Befund als Grundlage fuer alle weiteren Recovery-Commands.
Mode: `audit_only`. Change Budget: 0. Keine Live-Shop-Writes. Nur Cache-Report-Artefakte.
Wenn `change-history.ndjson` existiert, wird sie am Anfang gelesen und im Befund referenziert. Jede Aussage muss Quelle und Confidence tragen.
Dieses Command ist read-only (`audit_only`, Change Budget 0) — ein aktiver Settlement Gate (`../../references/SEO_SETTLEMENT_GATE.md`) blockiert es NIE. Es muss den Gate-State aber kennen und ausweisen:
1. Lies `~/.cache/seo-rescue/{slug}/recovery-gate.json`, falls vorhanden. **Writer dieser Datei ist `recovery-audit`** (siehe `commands/recovery-audit.md`, Schritt 7: Settlement-Gate-Detection) — recovery-diagnose liest sie nur. Fehlt die Datei, gilt der Gate als `never_triggered`: keine Warnung, normaler Ablauf. 2. Falls `settlement_gate_active = true`:
"settlement_gate_status": {
"active": true,
"next_allowed_review_date": "2026-06-06",
"unlock_status": "blocked"
}(`unlock_status`: `blocked | partial | open`, direkt aus der Gate-Datei uebernommen.)
3. Falls Gate-Datei fehlt oder `settlement_gate_active = false`: `settlement_gate_status: { "active": false }` in den Befund schreiben. Keine User-Ausgabe-Zeile noetig.
`/seo-rescue:recovery-diagnose <domain>`
| Feld | Quelle | Pflicht | |------|--------|---------| | `domain` | CLI-Argument | ja |
Normalisierung gemaess Schritt 1 des Ablaufs. `www.` wird NICHT entfernt.
| Capability | Pflicht/Optional | Verwendung | |-----------|-----------------|-----------| | `visibility_history` | optional | VI-Trend berechnen, Core-Update-Korrelation | | `keyword_rankings` | optional | Quick-Wins, Top-Losers, Position-Distribution | | `backlink_summary` | optional | Backlink-Profil, Spam-Score | | `core_update_dates` | optional | Korrelation mit Drop-Timing | | `serp_snapshot` | optional | Intent-Klassifikation fuer Keywords | | `gsc_search_analytics` | optional | Knocking-at-the-door-Kohorte (`hardening_candidates`, Schritt 11) |
| Capability | Paid Fallback | |-----------|--------------| | `visibility_history` | Semrush, Ahrefs, Xovi, Searchmetrics, SE Ranking (manueller CSV-Export) | | `keyword_rankings` | Semrush, Ahrefs, SE Ranking (manueller CSV-Export) | | `backlink_summary` | Ahrefs, Majestic, Moz (manueller Export) |
| Capability | Free/Lokal Fallback | |-----------|-------------------| | `visibility_history` | GSC CSV-Export (Performance-Report, 16 Monate) | | `keyword_rankings` | Manuelle Keyword-CSV aus GSC oder eigener Tabelle | | `backlink_summary` | Manuelle Backlink-CSV aus Google Search Console (Links-Report) | | `core_update_dates` | `../../references/CORE_UPDATES.md` (kein Netzwerk noetig) |
CSV-Importe werden unter `~/.cache/seo-rescue/{slug}/imports/` erwartet.
Normalisiere den Input gemaess dem gemeinsamen Input-Kontrakt:
Fuehre aus:
node -e "const { normalizeDomain } = require('./plugins/seo-rescue/lib/safe.js'); console.log(JSON.stringify(normalizeDomain('{domain}')))"Ersetze `{domain}` durch den tatsaechlichen User-Input. Falls `normalizeDomain()` einen Fehler wirft (z.B. leerer Input, ungueltiger Slug), Abbruch mit Status `failed`.
Erstelle das domainspezifische Cache-Verzeichnis unter `~/.cache/seo-rescue/{slug}/`:
node -e "const { ensureDomainDir } = require('./plugins/seo-rescue/lib/safe.js'); console.log(ensureDomainDir('{slug}'))"Ersetze `{slug}` durch den in Schritt 1 ermittelten Slug. Das Verzeichnis wird mit Modus 0700 angelegt (nur der aktuelle User hat Zugriff). Falls das Verzeichnis ein Symlink ist, Abbruch
Recovery-first decision support for ecommerce/D2C SEO. Claude Code skills for Core Update recovery diagnosis, prioritized action plans, weekly monitoring, and a Change Governor / Settlement Gate that prevents over-optimizing during recovery windows.
Audit all SEO changes made to a domain within a given period. Read-only audit_only mode.
Screaming Frog crawl with technical SEO issue classification including Shopware-specific patterns.
Full recovery workflow: diagnose -> crawl -> audit -> plan -> monitor. Respects Change Governor mode.
Weekly recovery tracking with VI, keyword data, and Change History effect tracking.
Generate prioritized action plan from diagnosis and crawl issues with Change Governor risk points.
Run a paid-ads (ROAS) workflow: audience segments, account structure, ad creative, experiment design, pre-launch signal QA + the…
Run the readiness doctor: which audit and launch actions are live or blocked. \"why is this action blocked\"