recovery-audit
Audit 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
How it fires
How this command gets triggered: by you, by Claude, or both.
/recovery-diagnoseContext preview
What this command does when you run it.
Automatic domain diagnosis: Core Update impact, VI drop, keyword losses, backlink profile.
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.
Repo: maxschottke-spec/seo-survival-kit
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.