Blog SEO Check – Validierung nach dem Schreiben
Führt eine umfassende On-Page-SEO-Validierung für einen fertigen Blogbeitrag durch und erstellt eine Bestanden/Nicht bestanden-Checkliste mit spezifischen Korrekturen für jede Fehlerstelle. Entwickelt, um nach dem Schreiben ausgeführt zu werden – erkennt Probleme vor der Veröffentlichung.
Arbeitsablauf
Schritt 1: Inhalt lesen
Lese die Zieldatei und extrahiere:
- Frontmatter – Titel, Beschreibung, Datum, letzte Aktualisierung, Autor, Tags, kanonische URL, og:image, Slug/URL
- Überschriftenstruktur – H1-, H2-, H3-Hierarchie mit vollständigem Text
- Links – Alle internen und externen Links mit Ankertext
- Meta-Tags – OG-Tags, Twitter-Card-Tags, kanonische URL
- Textkörper – Volltext für Keyword- und Strukturanalyse
Wenn der Benutzer eine URL anstelle eines Dateipfads angibt, verwende WebFetch, um die Seite abzurufen und die relevanten Elemente zu extrahieren.
Schritt 2: Titel-Tag-Validierung
| Prüfung | Bestehenskriterium |
|---|
| Zeichenanzahl | 40-60 Zeichen (keine Kürzung in SERPs) |
| Keyword-Platzierung | Primäres Keyword in der ersten Hälfte des Titels |
| Power Word | Enthält mindestens ein Power Word (z. B. Leitfaden, Beste, Wie, Warum, Essenziell, Bewährt, Vollständig) |
| Kürzungsrisiko | Kein kritischer Bedeutungsverlust bei Kürzung auf 60 Zeichen |
| Einzigartigkeit | Nicht generisch – spezifisch für den Inhalt |
Schritt 3: Meta-Beschreibung
| Prüfung | Bestehenskriterium |
|---|
| Zeichenanzahl | 150-160 Zeichen |
| Statistik enthalten | Enthält mindestens eine konkrete Zahl oder einen Datenpunkt |
| Wertversprechen | Endet mit einem klaren Nutzen für den Leser oder Wertversprechen |
| Keyword-Präsenz | Primäres Keyword erscheint natürlich (nicht gestopft) |
| Kein Keyword-Stuffing | Keyword erscheint höchstens einmal |
| Aufruf zum Handeln | Impliziert eine Aktion (lernen, entdecken, herausfinden, sehen) |
Schritt 4: Überschriftenhierarchie
| Prüfung | Bestehenskriterium |
|---|
| Einzelne H1 | Genau ein H1-Tag (der Titel) |
| Keine übersprungenen Ebenen | H1 → H2 → H3, niemals H1 → H3 oder H2 → H4 |
| Keyword in Überschriften | Primäres Keyword in 2-3 Überschriften (natürlich, nicht erzwungen) |
| Fragenformat | 60-70 % der H2-Überschriften sind Fragen |
| H2-Anzahl | 6-8 H2-Abschnitte für einen Standard-Blogbeitrag |
| Überschriftenlänge | Jede Überschrift unter 70 Zeichen |
Schritt 5: Interne Links
| Prüfung | Bestehenskriterium |
|---|
| Linkanzahl | 3-10 interne Links pro Beitrag |
| Ankertext | Beschreibend (nicht „hier klicken" oder „mehr lesen") |
| Bidirektional | Prüfe, ob verlinkte Seiten ebenfalls zurückverlinken (melde, wenn nicht) |
| Kein Waisenstatus | Beitrag verlinkt auf mindestens 3 andere Seiten der Website |
| Linkverteilung | Links über den Beitrag verteilt, nicht gebündelt |
| Keine Eigenverlinkung | Beitrag verlinkt nicht auf sich selbst |
Verwende Grep und Glob, um das Projekt nach vorhandenen Bloginhalten zu durchsuchen und bidirektionale Verlinkung nach Möglichkeit zu überprüfen.
Schritt 5.5: Link-Deduplizierung
| Prüfung | Bestehenskriterium |
|---|
| Keine doppelten URLs | Jede URL erscheint im Textkörper höchstens einmal |
| Beste Instanz behalten | Falls Duplikate vorhanden, behalte die mit dem aussagekräftigsten Ankertext |
| Navigation ausgenommen | Header/Footer-Navigationslinks zählen nicht für die Deduplizierung des Textkörpers |
| Fragmentnormalisierung | URLs mit unterschiedlichen #Fragmenten werden als gleiche URL behandelt |
Für jedes gefundene Duplikat:
- URLs normalisieren (abschließende Schrägstriche, Abfrageparameter, Fragmente entfernen)
- Jede Instanz nach Aussagekraft des Ankertextes bewerten (keywordreich > generisch)
- Empfehlen, die am höchsten bewertete Instanz zu behalten, andere zu entfernen
- 1 Punkt pro Duplikat vom SEO-Optimierungswert abziehen
Google notiert 1-2 Ankertexte pro URL pro Seite (Zyppy 2023). Optimal: einmalige Verlinkung derselben URL im Textkörper; 5-10 interne Links pro 2.000 Wörter; max. ~50 Links insgesamt pro Seite.
Schritt 6: Externe Links
| Prüfung | Bestehenskriterium |
|---|
| Quellenstufe | Nur Links zu Quellen der Stufen 1-3 (autoritativ, keine SEO-Blogs) |
| Defekte Links | Verwende WebFetch, um die Erreichbarkeit der wichtigsten externen Links zu überprüfen |
| Rel-Attribute | Externe Links haben angemessene rel-Attribute (nofollow für gesponserte/UGC) |
| Linkanzahl | Mindestens 3 externe Links zu autoritativen Quellen |
| Keine Konkurrentenlinks | Nicht unnötig auf direkte Konkurrenten verlinken |
Schritt 7: Kanonische URL
| Prüfung | Bestehenskriterium |
|---|
| Vorhanden | Kanonische URL ist im Frontmatter oder in den Meta-Tags definiert |
| Korrektes Format | Vollständige absolute URL (https://domain.de/pfad) |
| Abschließender Schrägstrich | Konsistent mit der Seitenkonvention (keine gemischten abschließenden Schrägstriche) |
| Selbstreferenzierend | Kanonische URL verweist auf die Seite selbst (außer bei beabsichtigter Cross-Domain) |
Schritt 8: OG-Meta-Tags
| Prüfung | Bestehenskriterium |
|---|
| og:title | Vorhanden, entspricht oder ergänzt den Titel-Tag |
| og:description | Vorhanden, 150-160 Zeichen, ansprechend für Social Sharing |
| og:image | Vorhanden, mindestens 1200x630 Pixel, absolute URL |
| og:type | Auf „article" für Blogbeiträge gesetzt |
| og:url | Vorhanden, entspricht der kanonischen URL |
| og:site_name | Vorhanden, entspricht dem Seiten-/Markennamen |
Schritt 9: Twitter Card
| Prüfung | Bestehenskriterium |
|---|
| twitter:card | Auf „summary_large_image" für Blogbeiträge gesetzt |
| twitter:title | Vorhanden, unter 70 Zeichen |
| twitter:description | Vorhanden, unter 200 Zeichen |
| twitter:image | Vorhanden, gleich oder ähnlich zu og:image |
| twitter:site | Vorhanden, falls die Seite ein Twitter/X-Konto hat |
Schritt 10: URL-Struktur
| Prüfung | Bestehenskriterium |
|---|
| Länge | Kurz – unter 75 Zeichen für den Pfadanteil |
| Keyword-Präsenz | Primäres Keyword oder enge Variante im URL-Slug |
| Keine Daten | URL enthält keine /2025/ oder /2026/ Datumssegmente |
| Keine Sonderzeichen | Nur Kleinbuchstaben, Zahlen und Bindestriche |
| Kleinschreibung | Gesamter URL-Pfad in Kleinbuchstaben |
| Keine Stoppwörter | Minimale Verwendung von „der", „die", „das", „und", „von" im Slug |
| Keine Dateierweiterung | Keine .html oder .php in der URL (saubere URLs) |
Schritt 11: Bericht erstellen
Gib einen umfassenden SEO-Validierungsbericht in folgendem Format aus:
## SEO-Validierungsbericht: [Titel]
**Datei**: [Pfad oder URL]
**Datum**: [Prüfdatum]
**Gesamt**: [X/Y Prüfungen bestanden] – [BESTANDEN/ÜBERARBEITUNG/NICHT BESTANDEN]
### Ergebnisse
| # | Prüfung | Status | Details | Korrektur |
|---|---------|--------|---------|-----------|
| 1 | Titel-Länge | BESTANDEN | 52 Zeichen | - |
| 2 | Titel-Keyword | BESTANDEN | „Keyword" in der ersten Hälfte | - |
| 3 | Titel-Power-Word | NICHT BESTANDEN | Kein Power Word gefunden | Füge „Leitfaden", „Essenziell" oder „Vollständig" hinzu |
| 4 | Meta-Beschreibung-Länge | BESTANDEN | 155 Zeichen | - |
| 5 | Meta-Beschreibung-Statistik | NICHT BESTANDEN | Keine Zahl gefunden | Füge eine wichtige Statistik aus dem Beitrag hinzu |
| ... | ... | ... | ... | ... |
### Zusammenfassung
**Bestanden**: [N] Prüfungen
**Nicht bestanden**: [N] Prüfungen
### Prioritäre Korrekturen
1. [Wirkungsvollste Korrektur – was und wo zu ändern ist]
2. [Zweitwirkungsvollste Korrektur]
3. [Drittwirkungsvollste Korrektur]
### Anmerkungen
- [Beobachtungen zur allgemeinen SEO-Gesundheit]
- [Verbesserungsvorschläge über die Checkliste hinaus]
Statuswerte:
- BESTANDEN – Erfüllt die Kriterien
- NICHT BESTANDEN – Erfüllt die Kriterien nicht, Korrektur bereitgestellt
- WARNUNG – Erfüllt die Kriterien teilweise oder Grenzfall, Empfehlung bereitgestellt
- N/V – Nicht zutreffend (z. B. keine Twitter-Card-Tags, wenn die Seite kein X-Konto hat)
Optional: Live-Performance-Check (blog-google)
Wenn der Beitrag eine veröffentlichte URL hat und blog-google-Anmeldedaten verfügbar sind:
- Anmeldedaten prüfen:
python3 skills/blog-google/scripts/run.py google_auth --check --json
- Wenn Tier 0+, PageSpeed ausführen:
python3 skills/blog-google/scripts/run.py pagespeed_check <url> --json
- Dem Bericht anhängen:
- Lighthouse Performance, Accessibility, Best Practices, SEO-Punktzahl
- CWV-Felddaten (LCP, INP, CLS) mit Ampelfarben-Bewertung
- Top-3-Optimierungsmöglichkeiten mit geschätzten Einsparungen
- Fällt stillschweigend zurück, wenn Anmeldedaten nicht verfügbar oder URL nicht veröffentlicht sind.