Skip to content
Marketing
Skill

/seo-audit-free

Use when the user wants a basic SEO health check on a domain WITHOUT paying for any SEO tools — e.g. "kostenloser SEO-Check", "SEO ohne Sistrix", "ich habe nur Google Search Console und nichts anderes", "Anfänger-Audit", "wo fange ich beim SEO an", "billiges SEO" oder als

From plugin
seo-survival-kit
918 skills6 commands
Install
$ npx -y skills add maxschottke-spec/seo-survival-kit --skill seo-audit-free --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-audit-free

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when the user wants a basic SEO health check on a domain WITHOUT paying for any SEO tools — e.g. "kostenloser SEO-Check", "SEO ohne Sistrix", "ich habe nur Google Search Console und nichts anderes", "Anfänger-Audit", "wo fange ich beim SEO an", "billiges SEO" oder als

SKILL.md

seo-audit-free.SKILL.md
name: seo-audit-free
description: 'Use when the user wants a basic SEO health check on a domain WITHOUT paying for any SEO tools — e.g. "kostenloser SEO-Check", "SEO ohne Sistrix", "ich habe nur Google Search Console und nichts anderes", "Anfänger-Audit", "wo fange ich beim SEO an", "billiges SEO" oder als Vorstufe vor dem entscheidet ob die kostenpflichtigen Tools (Sistrix, DataForSEO) sinnvoll sind. Anti-Use: NICHT für tiefere Wettbewerbsanalyse, Sichtbarkeitsverlauf, oder professionelle Outreach-Reports — dafür existiert `seo-outreach-report` mit den paid APIs.'
user-invocable: true
argument-hint: '[domain]'
allowed-tools: [Read, Bash(curl:*), Bash(node:*), Bash(npx lighthouse:*)]
license: MIT
metadata:
  author: Max Schottke
  version: '0.5.4'
  category: marketing

Beginner SEO Audit — nur kostenlose Tools

Overview

Ein gewollt minimaler SEO-Check, der **ohne kostenpflichtige APIs** (Sistrix, DataForSEO, Ahrefs, SEMrush) auskommt. Nutzt nur:

  • Google Search Console (eigene Property)
  • Google PageSpeed Insights v5 (öffentlich, 25k Calls/Tag frei)
  • Lighthouse CLI (lokal, Open Source)
  • Schema.org Validator (Web-Tool, kostenfrei)
  • Curl + manuelle Inspektion von robots.txt / sitemap.xml / headers

**Zweck:** Du willst eine Website grob bewerten ohne Budget. Oder du willst wissen ob ein größeres Audit (Sistrix + DataForSEO) sich überhaupt lohnt.

Wann anwenden

  • "Wie steht meine Website bei Google?" ohne Budget
  • Vor dem Kauf von Sistrix/DataForSEO/Ahrefs — erste Einschätzung
  • Schüler/Studenten/Sidehustle-Founder die keine €100/Monat-Tools wollen
  • Schneller Check bei Bekannten / Familienmitgliedern
  • Als Vorstufe vor [seo-outreach-report](../seo-outreach-report/SKILL.md) — Daten-Hunger entstand erst durch Erkenntnisse aus dem Free-Check

**Nicht anwenden für:**

  • Wettbewerbs-Sichtbarkeit (das geht ohne Sistrix-VI nicht)
  • Backlink-Profil-Analyse (DataForSEO Backlinks nötig)
  • Historische Sichtbarkeit (Sistrix-History nötig)
  • Konkrete Keyword-Ranking-Positionen (DataForSEO Labs)

Workflow (in dieser Reihenfolge)

Schritt 1 — Indexierungs-Check via Google direkt

Frage: ist die Website überhaupt indexiert?

site:example.com

Im Google-Sucheingabe-Feld. Liefert eine grobe Indexgröße. Wenn 0 Treffer → indexing-Problem (robots.txt? noindex?).

Schritt 2 — robots.txt + sitemap.xml manuell prüfen

curl -s https://example.com/robots.txt | head -100
curl -s https://example.com/sitemap.xml | head -50

Pflicht-Checks:

  • Wird der Hauptbereich nicht blockiert (`Disallow: /`)?
  • Ist mindestens eine Sitemap referenziert (`Sitemap:` im robots.txt)?
  • Liefert die sitemap.xml gültiges XML mit URLs?

Schritt 3 — HTTP-Headers + Status

curl -sI https://example.com/ | head -25

Pflicht-Checks:

  • HTTP/2 oder HTTP/3 (nicht HTTP/1.x für Performance)
  • `strict-transport-security` (HSTS) für Sicherheit
  • `cache-control` Header sinnvoll gesetzt
  • `x-content-type-options: nosniff`
  • Keine `5xx` Antworten

Schritt 4 — On-Page-Signale aus dem HTML

> **Sicherheits-Hinweis:** Die Beispiele unten schreiben nach `/tmp/`, was auf Shared-Hosts world-writable ist und Symlink-Race-Attacks zulässt. Für Solo-Workstations (typischer Use-Case) ist das unbedenklich. Für Shared-/Server-Umgebungen ersetze `/tmp/` durch `$(mktemp -d)/` oder einen Pfad in deinem eigenen Home: `WORK=$(mktemp -d -t seo-audit-XXXXXX) && trap "rm -rf $WORK" EXIT` am Anfang des Blocks setzen, dann `$WORK/home.html` statt `/tmp/home.html`.

curl -s -A "Mozilla/5.0" https://example.com/ > /tmp/home.html
echo "=== Title ===" && grep -ioE '<title[^>]*>[^<]+' /tmp/home.html | head -1
echo "=== Meta Description ===" && grep -ioE '<meta[^>]+name=["'"'"']description["'"'"'][^>]+content=["'"'"'][^"'"'"']+' /tmp/home.html | head -1
echo "=== H1s ===" && grep -ioE '<h1[^>]*>[^<]+' /tmp/home.html | head -5
echo "=== JSON-LD ===" && grep -c 'application/ld+json' /tmp/home.html
echo "=== Schema @types ===" && grep -oE '"@type"\s*:\s*"[^"]+"' /tmp/home.html | sort -u
echo "=== Canonical ===" && grep -ioE '<link[^>]+rel=["'"'"']canonical["'"'"'][^>]+href=["'"'"'][^"'"'"']+' /tmp/home.html | head -1
echo "=== Robots Meta ===" && grep -ioE '<meta[^>]+name=["'"'"']robots["'"'"'][^>]+content=["'"'"'][^"'"'"']+' /tmp/home.html
echo "=== Lang ===" && grep -oE 'lang=["'"'"'][^"'"'"']+' /tmp/home.html | head -1

Bewertung pro Punkt: | Befund | Bewertung | |--------|-----------| | Title fehlt | KRITISCH | | Title <30 Z. oder >65 Z. | Verbesserungsbedarf | | Meta-Description fehlt | Hoch | | H1 fehlt oder mehrere | Mittel | | JSON-LD = 0 | Hoch | | Schema-@types <3 | Mittel | | Canonical fehlt | Mittel | | Robots-Meta = noindex | KRITISCH (außer absichtlich) | | lang fehlt | Niedrig |

Schritt 5 — Google PageSpeed Insights (kostenfreier API-Key)

# Mit API-Key (empfohlen, 25k/Tag Quota)
curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fexample.com%2F&strategy=mobile&category=performance&category=seo&category=accessibility&category=best-practices&key=YOUR_KEY" > /tmp/psi-mobile.json

curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fexample.com%2F&strategy=desktop&category=performance&category=seo&category=accessibility&category=best-practices&key=YOUR_KEY" > /tmp/psi-desktop.json

Wichtige Felder extrahieren:

node -e "
const j = JSON.parse(require('fs').readFileSync('/tmp/psi-mobile.json'));
const r = j.lighthouseResult;
console.log('Performance:', Math.round(r.categories.performance.score*100));
console.log('SEO:', Math.round(r.categories.seo.score*100));
console.log('LCP:', r.audits['largest-contentful-paint'].displayValue);
console.log('CLS:', r.audits['cumulative-layout-shift'].displayValue);
console.log('TBT:', r.audits['total-blocking-time'].displayValue);
console.log('CrUX:', j.loadingExperience?.overall_category || 'no field data');
"

API-Key holen: [console.cloud.google.com](https://cons

Read more
Ships withseo-survival-kit

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.

Get the whole plugin

Other skills on seo-survival-kit.