recovery-audit
Audit all SEO changes made to a domain within a given period. Read-only audit_only mode.
Weekly recovery tracking with VI, keyword data, and Change History effect tracking.
> /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-monitorContext preview
What this command does when you run it.
Weekly recovery tracking with VI, keyword data, and Change History effect tracking.
description: "Weekly recovery tracking with VI, keyword data, and Change History effect tracking." allowed-tools: Bash, Read, Write, Edit, Glob, Grep, mcp__*
Woechentliches Recovery-Tracking. Holt aktuelle VI + Keyword-Daten, berechnet Recovery-Score, appendet an die History-Datei. Laeuft auch bei fehlenden Datenquellen durch und schreibt einen Partial-Eintrag — der Zeitstempel allein ist wertvoll fuer die Zeitreihe.
Mode: `read_only`. Change Budget: 0. Keine Live-Shop-Writes. Schreibt nur History-Artefakte (`history.ndjson`, append-only, via `lib/safe.js`).
Wenn `change-history.ndjson` existiert, wird sie fuer die Change-History-Integration gelesen und im Eintrag referenziert (siehe `## Change History Integration`). Jede Score-Bewegung traegt Quelle und Confidence.
Dieses Command ist read-only gegenueber dem Live-Shop (`audit_only`, Change Budget 0, schreibt nur Cache-Artefakte) — 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-monitor 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 History-Eintrag schreiben. Keine User-Ausgabe-Zeile noetig.
`/seo-rescue:recovery-monitor <domain>`
| Feld | Quelle | Pflicht | |------|--------|---------| | `domain` | CLI-Argument | ja |
node scripts/recovery-monitor.js --domain <domain> --cache-dir <path>
| Exit Code | Bedeutung | |-----------|-----------| | `0` | Monitor-Eintrag geschrieben (complete oder partial) | | `1` | Monitor fehlgeschlagen (kein Eintrag geschrieben) | | `2` | Security-Abbruch (Symlink, Path-Traversal) | | `3` | Lock-Timeout (anderer Command laeuft) |
Normalisiere den Input via `normalizeDomain()` aus `lib/safe.js` — gibt `input_domain`, `domain`, `canonical_domain`, `slug` zurueck.
`ensureDomainDir(slug)` — Modus 0700, Abbruch bei Symlink.
Falls eine `run_id` vom Orchestrator (`recovery-full`) uebergeben wurde: diese unveraendert verwenden, KEIN eigenes Prefix erzeugen. Sonst generiere eine eindeutige Run-ID fuer diesen Lauf:
node -e "const { randomUUID } = require('crypto'); console.log('mon-' + randomUUID().slice(0,8) + '-' + Date.now())"Speichere die Run-ID als `run_id`. Sie wird im Output-Schema mitgefuehrt.
Rufe Sistrix API fuer aktuellen VI-Wert auf.
Falls nicht verfuegbar:
Rufe DataForSEO MCP `ranked_keywords/live` auf (location 2276, Deutschland).
Extrahiere:
Falls DataForSEO MCP nicht verfuegbar:
Pruefe ob `~/.cache/seo-rescue/{slug}/issues.json` existiert und sein Timestamp aktuell ist (< 7 Tage alt).
Setze `issue_data_fresh`:
Hinweis: Wenn `issue_data_fresh = false`, wird `issues_fixed` im Score auf `null` gesetzt — keine Claim ueber Issue-Reduktion ohne frische Crawl-Daten.
Rufe das Helper-Script auf. Die reale Signatur ist `writeMonitorEntry(inputDomain, domain, slug, vi, keywordsT10, warnings, errors, options
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.
Automatic domain diagnosis: Core Update impact, VI drop, keyword losses, backlink profile.
Full recovery workflow: diagnose -> crawl -> audit -> plan -> monitor. Respects Change Governor mode.
Generate prioritized action plan from diagnosis and crawl issues with Change Governor risk points.