SEO-Audit mit LLM: Automatisierte Code- und Search Console-Analyse im Produktivbetrieb
von Denis Shokhirev, Enterprise AI Architect aus Erlangen. In meinem DennisCraft AI Studio habe ich in den letzten sechs Monaten 14 produktive KI-Agenten für DACH-B2B-Kunden ausgeliefert – darunter automatisierte SEO-Audits auf Basis von Claude, Supabase, n8n und selbstgehosteter Postgres. Bei einem Industrieprojekt führte ein Fehler in der SEO-Template-Logik dazu, dass mehrere Landingpages aus dem Google-Index fielen. Die manuelle Prüfung der Search Console und Codebasis war zu langsam und über
von Denis Shokhirev, Enterprise AI Architect aus Erlangen. In meinem DennisCraft AI Studio habe ich in den letzten sechs Monaten 14 produktive KI-Agenten für DACH-B2B-Kunden ausgeliefert – darunter automatisierte SEO-Audits auf Basis von Claude, Supabase, n8n und selbstgehosteter Postgres. Bei einem Industrieprojekt führte ein Fehler in der SEO-Template-Logik dazu, dass mehrere Landingpages aus dem Google-Index fielen. Die manuelle Prüfung der Search Console und Codebasis war zu langsam und übersah kritische Muster. Erst die Kombination aus LLM-gestützter Analyse, statischer Codeprüfung und automatisierter Orchestrierung brachte reproduzierbare, revisionssichere Ergebnisse.
SEO-Audit in regulierten Märkten: Anforderungen und Risiken
Im regulierten DACH-B2B-Umfeld (u.a. DSGVO, ISO 27001) reicht eine oberflächliche Onpage-Prüfung nicht aus. Template-Fehler, API-Integrationsprobleme oder vergessene Canonical-Tags können Datenschutzverletzungen oder Sichtbarkeitsverluste verursachen. Ein stabiles Audit muss automatisiert, CI/CD-integrierbar und revisionssicher sein. Ad-hoc-Skripte oder Einmal-Auswertungen sind für Audit-Trails oder Compliance-Nachweise ungeeignet.
Systematische Audit-Architektur: Werkzeuge und Muster
Audit-Komponenten im Vergleich
| Komponente | Zweck | Werkzeug |
|---|---|---|
| LLM-Interpretation | Code-Diffs auswerten, Hypothesen bilden | Claude Code |
| Statische Analyse | Fehlermuster erkennen | semgrep, bandit |
| Search Console Daten | Positionen, CTR, Fehler extrahieren | Google Search Console API |
| Orchestrierung | Pipeline automatisieren | n8n |
| Ergebnisspeicher | Audit-Historie, Reports | Supabase/Postgres |
Audit-Orchestrierung mit n8n
n8n steuert den kompletten Ablauf: Audit startet per Zeitplan oder Push ins Haupt-Repository, ruft die statische Analyse, holt Search Console Daten und übergibt alles an die LLM für Kontext-Bewertung und Empfehlungen. Die Pipeline ist versionierbar, mandantenfähig und jederzeit nachvollziehbar.
Statische Codeanalyse: Templates, Middleware, API-Schicht
HTML-Templates und Middleware prüfen
Mit semgrep werden schnell typische Fehler wie fehlende Canonical-Tags, doppelte Meta-Elemente oder fehlerhafte hreflang-Strukturen identifiziert. Für DSGVO-relevante Banner prüfe ich z.B., ob Consent-Banner den Hauptinhalt nicht verdecken.
rules:
- id: missing-canonical
pattern: |
<head> ...
not: <link rel="canonical" ...>
message: "Fehlender Canonical-Tag"
languages: [html]
severity: WARNING
API- und Backend-Prüfung
bandit eignet sich für Python-Backends, um z.B. unsichere URL-Verarbeitung oder fehlende Eingabevalidierung zu entdecken. In einem Industrieprojekt identifizierte bandit SQL-Injection-Muster (siehe OWASP Top 10, Stand 2024), die im Code-Review übersehen worden waren.
bandit -r ./project/backend/seo
LLM für Kontext und Fehlerhypothesen
Claude Code dient nicht zur Codegenerierung, sondern zur Interpretation von Auditdaten. Die LLM erkennt Zusammenhänge zwischen Code-Änderungen, Traffic-Daten aus der Search Console und Fehlern in Metadaten, die klassische Patternscanner nicht abbilden. Das ist insbesondere für DSGVO-relevante Banner- und Consent-Logik hilfreich.
from anthropic import Anthropic
client = Anthropic()
prompt = f"""
Hier ein Template-Diff: {diff}
Hier ein CTR-Rückgang laut Search Console: {ctr_drop}
Welche Ursachen sind wahrscheinlich? Empfehlungen?
"""
response = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=400,
messages=[{"role":"user","content":prompt}]
)
print(response.content)
Beispiel aus dem Produktivbetrieb
Bei einem Kundenprojekt erkannte die LLM einen Zusammenhang zwischen einem neuen Cookie-Banner (nach DSGVO-Anpassung) und dem Rückgang der CTR auf Landingpages. Der Banner überlagerte auf Mobilgeräten den Inhaltsbereich – ein Muster, das im klassischen Review nicht auffiel, aber durch die Kombination von Template-Diff und Search Console-Daten transparent wurde.
Automatisierte Google Search Console-Auswertung
Über die Google Search Console API werden Ranking-, CTR- und Indexierungsdaten automatisiert für alle Zielseiten abgerufen. n8n extrahiert Rohdaten, die anschließend von der LLM auf Ausreißer und Fehlerquellen analysiert werden.
import requests
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
SERVICE_ACCOUNT_FILE = 'key.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('searchconsole', 'v1', credentials=credentials)
response = service.searchanalytics().query(
siteUrl='https://client-site.de',
body={
'startDate': '2024-03-01',
'endDate': '2024-04-01',
'dimensions': ['page'],
'rowLimit': 1000
}).execute()
print(response['rows'])
Audit-Dokumentation und Historie: Supabase/Postgres
Alle Auditresultate und Empfehlungen werden in einer selbst gehosteten Postgres-Datenbank via Supabase gespeichert. Das ermöglicht revisionssichere Berichte, nachvollziehbare Entwicklung und automatisierte Dashboards für Stakeholder – ein Muss für Compliance-Anforderungen (z.B. nach ISO 27001 oder DSGVO).
FAQ
Welches LLM ist für Audit-Annotationen im Produktivbetrieb geeignet?
Mit Claude Code (Anthropic) habe ich in der Praxis die stabilsten, nachvollziehbaren Ergebnisse erzielt. GPT-4 ist einsetzbar, benötigt aber strikte Prompts und Nachbearbeitung.
Lassen sich manuelle Audits komplett ersetzen?
Nein. LLM und statische Analyse reduzieren die Routine, aber die finale Bewertung bleibt menschlich – besonders bei Schnittstellenthemen (DSGVO, API).
Wie lange dauert ein vollständiger Auditlauf?
Für 1000 Seiten liegt die Laufzeit der Pipeline bei 20–40 Minuten. Ein manuelles Audit dieser Größe dauert 4–6 Stunden und ist fehleranfälliger.
Was sind die häufigsten Fehler in SEO-Audits?
Doppelte Titel, fehlende Canonicals, falsche robots-Metadaten, ungesicherte URL-Parameter (CWE-89), fehlerhafte hreflang-Angaben, defekte Open-Graph-Tags.
Wie werden regelmäßige Audits automatisiert?
Orchestrierung mit n8n (Zeitplan oder Push), Speicherung in Supabase/Postgres, automatisierte Dashboards und Compliance-Reportings für DACH-Kunden.
In welcher Schicht Ihres Stacks treffen Sie am häufigsten auf kritische SEO-Fehler – Template, API oder Search Console-Integration? Ihr Erfahrungsbericht interessiert mich. Ich biete einen kostenlosen 30-minütigen Stack-Audit für DACH-Unternehmen mit KI-Projekten im regulierten Umfeld an. Kontaktieren Sie mich via LinkedIn oder @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.