recovery-audit
CommandAudit 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.
> /plugin marketplace add maxschottke-spec/seo-survival-kit> /plugin install seo-rescue@seo-survival-kit
description: "Screaming Frog crawl with technical SEO issue classification including Shopware-specific patterns." allowed-tools: Bash, Read, Write, Edit, Glob, Grep, mcp__*
Screaming Frog MCP Crawl durchfuehren und die Ergebnisse in eine strukturierte, priorisierte Issues-Liste transformieren. Identifiziert technische SEO-Probleme die Recovery blockieren. Falls Screaming Frog MCP nicht verfuegbar ist, Fallback auf CSV-Import; ohne CSV-Import bricht das Command mit Status `failed` ab.
`/seo-rescue:recovery-crawl <domain>`
| Feld | Quelle | Pflicht | |------|--------|---------| | `domain` | CLI-Argument | ja |
Normalisierung gemaess Schritt 1 des Ablaufs. `www.` wird NICHT entfernt.
| Capability | Pflicht/Optional | Verwendung | |-----------|-----------------|-----------| | `crawl_issues` | pflicht (mit Fallback) | Technische SEO-Issues identifizieren | | `indexability_check` | optional | Canonicals, noindex, robots-Blockierung pruefen | | `page_metadata` | optional | H1, Meta-Description, Title extrahieren |
| Capability | Paid Fallback | |-----------|--------------| | `crawl_issues` | Sitebulb, JetOctopus, Lumar (Deepcrawl), Botify (manueller CSV-Export) | | `indexability_check` | Sitebulb, Lumar | | `page_metadata` | Sitebulb, JetOctopus |
| Capability | Free/Lokal Fallback | |-----------|-------------------| | `crawl_issues` | Manuelle Crawl-CSV unter `~/.cache/seo-rescue/{slug}/imports/crawl.csv` | | `page_metadata` | Manuelle Crawl-CSV mit H1/Meta-Spalten |
CSV-Importe werden unter `~/.cache/seo-rescue/{slug}/imports/` erwartet.
node scripts/recovery-crawl.js --domain <domain> --cache-dir <path>
| Exit Code | Bedeutung | |-----------|-----------| | `0` | Crawl abgeschlossen (complete oder partial) | | `1` | Crawl fehlgeschlagen (kein Provider, kein CSV) | | `2` | Security-Abbruch (Symlink, Path-Traversal) | | `3` | Lock-Timeout (anderer Command laeuft) |
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 mit Status `failed`.
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('crawl-' + randomUUID().slice(0,8) + '-' + Date.now())"Speichere die Run-ID als `run_id`. Sie wird im Output-Schema mitgefuehrt.
Starte den Screaming Frog MCP Crawl mit dem Tool `sf_crawl`:
Speichere die Crawl-ID aus der Antwort fuer die nachfolgende Fortschrittsueberwachung.
Falls `sf_crawl` nicht verfuegbar ist oder sofort einen Fehler zurueckgibt:
Nur wenn Schritt 4 erfolgreich war:
Rufe `sf_crawl_progress` mit der Crawl-ID in regelmaessigen Abstaenden auf, bis der Crawl abgeschlossen ist.
Nur wenn SF-Crawl abgeschlossen oder partial:
Generiere fuer folgende Filter jeweils einen Export via `sf_generate_bulk_export` und lies das Ergebnis mit `sf_export_crawl`:
| Filter-Name | Export-Typ | Mapping auf Issue-Typ | |-------------|------------|----------------------| | `Response Codes:Client Error (4xx)` | Internal HTML | `broken_internal_link` | | `Response Codes:Redirection (3xx)` | Internal HTML | `redirect_chain` | | `H1:Missing` | Internal HTML | `missing_h1` | | `H1:Duplicate` | Internal HTML | `duplicate_h1` | | `Meta Description:Missing` | Internal HTML | `
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.
Automatic domain diagnosis: Core Update impact, VI drop, keyword losses, backlink profile.
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\"