SEO Check
Prüft eine Website gegen ein offenes Regelwerk mit konkreten Schwellwerten – und sagt, was es nicht messen kann.
Das Problem
Die meisten SEO-Werkzeuge liefern eine alphabetische Liste mit 60 Punkten, in der ein fehlendes og:image:alt neben einem versehentlichen noindex steht. Daraus entsteht keine Entscheidung, sondern Ratlosigkeit.
Installation
Der Skill ist eine SKILL.md mit Referenztexten und abhängigkeitsfreien Node-Scripts – nichts davon ist an einen Anbieter gebunden. Wähle deinen Agenten:
Schritt 1
git clone https://github.com/larsdecker/agents-skillsSchritt 2
node agents-skills/install.mjs --agent cursor --skill seo-check --target .Statt cursor auch copilot, windsurf, cline, gemini oder agents (für Codex, Zed, Amp, opencode). node install.mjs --list zeigt alle.
Getestet mit: Claude Code, Cursor, GitHub Copilot, Codex, Windsurf, Cline, Gemini CLI, Zed. Ein hier nicht genannter Agent funktioniert ebenfalls – Skill-Verzeichnis ablegen und in der Anweisungsdatei des Agenten darauf verweisen.
Was dabei herauskommt
- Befunde in drei Stufen, sortiert nach Wirkung statt nach Kategorie
- Pro Befund: Messwert, Begründung, konkreter Fix
- Einordnung, ob ein Befund eine Seite oder eine Vorlage betrifft
Was er nicht tut
- Keine Ranking-Prognose – technische Korrektheit ist Voraussetzung, nicht Ursache
- Keine Core-Web-Vitals-Messung – nur die bekannten Auslöser
- Keine Keyword-Recherche und keine Backlink-Bewertung
- Keine SEO-Punktzahl
Die Reihenfolge ist die eigentliche Leistung
Ein perfekter Title auf einer Seite mit noindex hat exakt null Wirkung. Ein sauberes Canonical auf einer Seite, deren Inhalt erst per JavaScript entsteht, ebenfalls. Deshalb arbeitet der Skill in fünf Stufen, und jede ist Voraussetzung für die nächste:
- Kann die Seite überhaupt in den Index? Statuscode, robots.txt,
noindex, Canonical. - Sieht ein Crawler den Inhalt? Server-Rendering.
- Versteht die Suchmaschine die Seite? Title, Description, Überschriften, strukturierte Daten.
- Findet der Crawler die übrigen Seiten? Interne Links, Sitemap, Linktiefe.
- Feinschliff. Bilder, Social-Tags, URL-Kosmetik.
Genau das leistet eine alphabetische Checkliste nicht — und deshalb wird sie nicht abgearbeitet.
Das Regelwerk liegt offen
Alle Schwellwerte stehen im Objekt LIMITS am Anfang des Scan-Scripts und in references/rules.md: Title-Pixelbudget, Description-Grenzen für Desktop und Mobil, Canonical-Fehlerbedingungen, gültige Robots-Direktiven mit ihren Vorrangregeln, robots.txt-Größenlimit, Sitemap-Grenzen, Bildgrößen, hreflang-Codeformate, Open-Graph-Bildmaße, Pflichtfelder je Schema-Typ.
Wichtiger als die Werte ist aber die Angabe, wann eine Regel nicht gilt. Ein Werkzeug, das jede Regel überall anwendet, produziert Falschbefunde — und drei offensichtlich unpassende Befunde kosten die Glaubwürdigkeit für alle richtigen.
Beispiele aus dem Regelwerk:
noindexist häufig gewollt — Filterseiten, interne Suche, Danke-Seiten. Der Skill meldet die Direktive und fragt, statt zum Entfernen zu raten.- Kurze Titles sind manchmal korrekt. „Impressum" braucht keine 55 Zeichen.
- Fehlende Descriptions sind eine Abwägung, kein Fehler. Auf 2.000 Filterseiten eine eigene zu schreiben ist Aufwand ohne Gegenwert.
Lesbarkeit sprachrichtig gemessen
Fast alle Werkzeuge nennen für Flesch Reading Ease den Zielbereich 60–70. Dieser Wert ist an englischem Text kalibriert. Deutsche Komposita drücken die Kennzahl strukturell; deutsche Fachtexte landen regelmäßig bei 30–50, ohne dass daran etwas zu verbessern wäre.
Der Skill nutzt für deutschsprachige Seiten deshalb die Amstad-Variante der Formel und meldet erst ab deutlich niedrigeren Werten. Und er misst Lesbarkeit nur auf Seiten mit mindestens 300 Wörtern Fließtext — auf Übersichts-, Navigations- und Rechtsseiten zählt die Satzsegmentierung Fragmente, und ein Befund hätte dort ohnehin keine Handlungsoption.
Ohne diese beiden Einschränkungen wäre jede deutsche Fachseite ein Dauerbefund, und die Empfehlung würde zu schlechterem Text führen.
Der erste Lauf gegen die eigene Website
Der Scan fand beim ersten Einsatz einen Fehler, der seit Wochen unbemerkt war:
BEFUNDE: 2 Fehler, 2 Warnungen, 0 Hinweise
FEHLER
[Social] /
og:image liefert Status 500.
[Social] /blog/po-fuehrt-ki-agenten
og:image liefert Status 500.Die dynamische Bildgenerierung funktionierte lokal und schlug in der produktiven Edge-Umgebung fehl. Weil jede Seite dasselbe Bild referenziert, war damit jede Social-Vorschau der Site defekt — und auf der Seite selbst sah nichts kaputt aus.
Deshalb steht ein solcher Befund in der höchsten Stufe, obwohl og:image kein Rankingfaktor ist: ein einzelner Fehler mit Site-Reichweite ist wichtiger als zwanzig Einzelseiten-Hinweise.
Was ausdrücklich nicht gemessen wird
Der Scan weist am Ende jedes Berichts aus, was er nicht prüfen kann — statt es zu verschweigen:
- Core Web Vitals brauchen einen echten Browser oder Felddaten aus der Search Console. Der Scan meldet nur die bekannten Auslöser: fehlende Bildabmessungen, lazy geladene Hero-Bilder, sehr große Bilddateien.
- Übereinstimmung mit der Suchintention ist nicht maschinell entscheidbar. Der Skill gibt dem Agenten dafür eine Anleitung zur manuellen Durchsicht.
- Inhaltliche Tiefe ebenso. Es gibt keinen Wortzahl-Schwellwert.
- llms.txt und KI-Crawler sind bewusst nicht Teil dieses Scans. Dafür gibt es GEO Audit — zwei Skills, die sich nicht widersprechen können, weil sich ihre Zuständigkeiten nicht überschneiden.
Und keine Punktzahl. Ein „SEO-Score 78/100" suggeriert eine Messgenauigkeit, die es nicht gibt, und lenkt von der einzigen Frage ab, die zählt: welche zwei Dinge sind zuerst zu tun.
