SEO-Blueprint (intern) – Keyword-Recherche mit der Ahrefs-API für Strauss Finance (n8n-fähig)
Version: 1.0 • Stand: 08.10.2025 • Zielmarkt/-sprache: Deutschland / Deutsch • Datenquelle: Ahrefs API v3 (nur)
– Referenzen: Ahrefs API Intro, Keywords Explorer Endpunkte, Management & Site Explorer. Siehe Quellenhinweise am Ende.
Executive Summary: Dieses Dokument beschreibt einen vollständig API-getriebenen Prozess zur Keyword-Recherche für Versicherungs- und Finanzthemen (z. B. „Hausratversicherung“, „Berufsunfähigkeitsversicherung“, „private Krankenversicherung“, „Finanzierung“).
Die Pipeline generiert Ideen, reichert sie mit Volumen/KD/SERP-Signalen an, filtert nach Schwellenwerten, clustert semantisch & intentbasiert und liefert score-basierte Priorisierungen als CSV/JSON – alles automatisierbar in n8n.
1) Ziele & Leitplanken
1.1 Strategische Ziele
- Ideengenerierung aus Seed-Begriffen und Wettbewerbsumfeldern (Keywords Explorer: Matching/Related Terms).
- Messung & Vergleich von Suchvolumen (DE), Keyword Difficulty (KD) und CPC/Clicks, um Chancen zu quantifizieren.
- Intent-Abgleich (informational / transactional / navigational) für Funnel-Mapping (Blog ↔ Leistungsseiten).
- Clustering in Themenhubs (z. B. „Haftpflicht“, „Sach & Alltag“, „Finanzierung“) für interne Verlinkung/Hub-Seiten.
- Priorisierung via Opportunity-Score (z. B. Volumen × Intent-Score ÷ KD) je nach Geschäftsrelevanz.
- Reporting/Output für Content-Briefings, CMS-Importe (Framer/Sheets) und Roadmaps.
1.2 Rolle der Ahrefs-API
Ahrefs API v3 stellt Endpunkte für Keywords Explorer (u. a. Overview, Matching Terms, Related Terms, Volume by Country),
Site Explorer (u. a. Organic Keywords) und SERP Overview bereit. KD ist ein zentraler Ranking-Schwierigkeitsindikator (0–100), der aus den verlinkenden Domains der Top-10 abgeleitet wird (nicht linear). Quellenhinweise unten.
Nächste Schritte an dieser Stelle:
- Seed-Liste (10–30 Kernbegriffe) für Privat- und Firmenkunden definieren.
- Geschäftsprioritäten je Kategorie festlegen (z. B. BU & PKV hoch, Hausrat mittel).
- n8n-Credentials: Ahrefs Bearer Token prüfen.
2) Workflow-Phasen (End-to-End)
Phase A – Input & Seeds
Quellen
Manuell Stakeholder-Seeds
Website Nav, H1/H2, interne Suchbegriffe
Wettbewerb Domains (für Cross-Checks via Organic Keywords)
Beispiele
„hausratversicherung“, „haftpflichtversicherung“, „berufsunfähigkeitsversicherung“, „private krankenversicherung“, „finanzierung“, „baufi“
Jetzt möglich: Seeds in n8n als JSON pflegen (z. B. ["hausratversicherung","haftpflichtversicherung",...])
Phase B – Datenerhebung (Ahrefs API)
Für jeden Seed werden über die Keywords Explorer Endpunkte Ideen und Metriken geholt:
- Matching Terms – Keywords, die den Seed enthalten (Ideenbreite). [API: list-matching-terms]
- Related Terms – semantisch verwandte Begriffe (Ideentiefe). [API: list-related-terms]
- Overview – Metriken für Keyword-Set: KD, Klicks, CPC etc. [API: get-a-overview]
- Volume by Country – Länderspezifisches Volumen (z. B.
DE). [API: get-a-volume-by-country]
- (Optional) Site Explorer → Organic Keywords – Wettbewerbsorientierte Ideensuche je Domain/URL.
Technik: Auth via Bearer Token im Header. Alle Endpunkte und Parameter siehe Quellen.
Jetzt möglich: In n8n pro Seed eine HTTP-Request-Node-Gruppe ausführen (Matching → Related → Overview → Volume DE) und Ergebnisse zu einem Item mergen.
Phase C – Anreicherung
- Language/Location: Nur
DE, deutschsprachige Terms behalten (Regex/Stopword-Heuristik).
- Intent-Heuristik (regelbasiert, später ML möglich):
- Transactional: enthält „abschließen“, „angebot“, „tarif“, „kosten“, „rechner“, „jetzt“
- Informational: enthält „was ist“, „wie“, „vergleich“, „checkliste“, „test“
- Navigational: enthält Marken/Produktnamen
- Opportunity-Score (Beispiel):
Opp = (Volumen_DE_normalisiert × IntentScore × BusinessScore) / (1 + KD_normalisiert)
Jetzt möglich: n8n Function-Node für Intent-Rules und Score-Berechnung (gewichtbar je Geschäftsbereich).
Phase D – Filterung (Qualität & Machbarkeit)
- Min. Volumen (DE): z. B.
≥ 80
- Max. KD: z. B.
≤ 45 (non-linearer KD-Index; Quelle siehe unten)
- Serp-Reinheit (optional, per SERP Overview): zu „Job/Brand-Trap“ filtern
- Duplicate/Canonicals: Singular/Plural, diakritische Varianten zusammenführen
Jetzt möglich: n8n IF-Nodes: IF KD > 45 → Drop; IF Volumen_DE < 80 → Drop; sonst → weiter.
Phase E – Clustering (Themen & SERP-Nähe)
- Lexikalische Vor-Cluster: Token-Jaccard ≥ 0.5, z. B. Gruppierung nach Stamm („haftpflicht“, „hausrat“, „bu“).
- Intent-Kohärenz: gleiche Intent-Klasse zusammenhalten (separate Cluster für Info vs. Transaktion).
- Head-/Mid-/Long-Tail: nach Volumen/KD stufen; Long-Tails oft schnellere Wins.
Jetzt möglich: n8n Code-Node (JS) oder Item Lists für gruppierte Arrays; Cluster-Label = Haupt-N-gramm (z. B. „haftpflichtversicherung“) + Intent.
Phase F – Priorisierung & Routing
- Scores kombinieren: Opp-Score, Business-Score, Zeit-zu-Rank (aus KD), Wettbewerb/Nischenindikatoren.
- Routing:
- Transaktionale Cluster → Leistungsseiten (z. B. BU/PKV)
- Informationale Cluster → Blog-Hub/Guides (z. B. „was ist hausratversicherung“)
Jetzt möglich: n8n: Zwei Outputs erzeugen (Blog-Backlog vs. Leistungs-Backlog) mit jeweils Top-n Clustern und Keywords.
Phase G – Reporting/Export
- CSV/JSON mit Feldern:
Keyword, Cluster, Intent, Volume_DE, KD, CPC, Clicks, OppScore, Ziel-Template, Interne-Links-Vorschläge
- Sheets für Framer-/CMS-Einbindung; separate Tabs pro Kategorie (Privat/Firma).
Jetzt möglich: n8n → Google Sheets „Append Row“ / Write + Versionierung (Datum, Seed-Batch).
3) API-Endpunkte & n8n-Mapping
Keywords Explorer – Matching Terms
Ideen, die den Seed enthalten.
GET /keywords-explorer/matching-terms
n8n: HTTP Request (GET), Auth: Bearer, Param u. a.:
q=SEED,
country=DE, Paging
Keywords Explorer – Related Terms
Semantisch verwandte Ideen.
GET /keywords-explorer/related-terms
n8n: HTTP Request (GET),
q=SEED,
country=DE
Keywords Explorer – Overview
KD, CPC, Clicks u. a. für Keyword-Set.
GET /keywords-explorer/overview
n8n: HTTP Request (GET),
keywords=comma-separated,
country=DE
Keywords Explorer – Volume by Country
Volumen nach Land (DE extrahieren).
GET /keywords-explorer/volume-by-country
Site Explorer – Organic Keywords
Optional für Wettbewerbs-Seeds.
GET /site-explorer/organic-keywords
Management – Project Keywords
Kostenlose Projekt-Keywords auflisten (nützlich für Sync).
GET /management/project-keywords
Offizielle Referenzen: API Intro & Endpunkte (Keywords Explorer/Overview/Related/Matching/Volume-by-country, Site Explorer Organic Keywords, Management Project Keywords). KD-Definition: Ahrefs KD-Seite.
Jetzt möglich: In n8n Reusable Sub-workflow „Ahrefs-Keyword-Batch“ anlegen, der alle obigen Calls orchestriert (mit Rate-Limit & Pagination).
4) Entscheidungslogik (Filter & Scoring)
// Schwellenwerte (Version 1 – konservativ, DE-Versicherung):
const MIN_VOL_DE = 80; // unter 80 eher Long-Tail/Blog-only
const MAX_KD = 45; // >45 häufig mittlere/schwere SERPs
const INTENT_WEIGHTS = { informational: 0.9, transactional: 1.2, navigational: 0.6 };
const BUSINESS_WEIGHTS = { BU: 1.3, PKV: 1.3, Haftpflicht: 1.0, Hausrat: 0.9, Finanzierung: 1.1 };
// Normalisierung (0..1) auf Batch-Basis:
normalize = (x, min, max) => (max === min) ? 0 : (x - min) / (max - min);
// Opportunity-Score:
Opp = (VolNorm * IntentWeight * BusinessWeight) / (1 + KDNorm);
// Drop-Regeln:
if (KD > MAX_KD) drop("zu schwer");
if (Volumen_DE < MIN_VOL_DE && intent !== "transactional") drop("zu gering");
if (brandtrap || jobtrap) drop("SERP ungeeignet");
Jetzt möglich: n8n Function-Node für Normalisierung/Scoring; Schwellenwerte als Environment Variablen konfigurierbar machen.
5) Clustering-Verfahren (leichtgewichtige Umsetzung)
- Vorverarbeitung: Kleinschreibung, Stemming (de-minimal), Entfernen von Stoppwörtern.
- Token-Set-Signatur: für jedes Keyword Menge signifikanter Token.
- Jaccard-Ähnlichkeit: Cluster, wenn
J ≥ 0.5 und gleicher Intent.
- Cluster-Label: häufigstes Token-2-gram (z. B. „hausrat versicherung“) + Intent Suffix.
- Headword-Routing: Cluster-Label mappt auf Kategorie (BU, PKV, Haftpflicht, Hausrat, Finanzierung ...).
Jetzt möglich: In n8n einen Code-Node für einfache Jaccard-Cluster (kein Embedding nötig; stabil & transparent).
6) Flowchart (Mermaid, konzeptionell)
flowchart TD
A[Seed-Liste (DE)] --> B{pro Seed}
B --> C1[Keywords Explorer: Matching Terms]
B --> C2[Keywords Explorer: Related Terms]
C1 --> D[Merge & Dedupe]
C2 --> D
D --> E[Overview: KD, CPC, Clicks]
D --> F[Volume by Country: DE]
E --> G[Enrichment: Intent, BusinessScore]
F --> G
G --> H{Filter}
H -->|KD>45| X1[Drop]
H -->|Vol_DE<80 & not TX| X2[Drop]
H -->|ok| I[Clustering: Jaccard + Intent]
I --> J[OppScore berechnen]
J --> K{Routing}
K -->|Transactional| L[Leistungsseiten-Backlog]
K -->|Informational| M[Blog-Backlog]
L --> R[Export CSV/Sheets]
M --> R
Jetzt möglich: Mermaid-Diagramm in interner Doku/Notion ablegen; n8n-Subworkflows entlang der Knoten benennen.
7) Reporting-Schema (CSV/JSON)
[
{
"keyword": "hausratversicherung kosten",
"cluster": "hausratversicherung | transactional",
"intent": "transactional",
"volume_de": 5400,
"kd": 38,
"cpc_eur": 2.10,
"clicks": 0.62,
"opp_score": 0.73,
"business_bucket": "Sach & Alltag",
"route": "Leistungsseite",
"internal_links": ["Hausrat-Guide", "Schadenservice", "Kosten-Faktoren"],
"notes": "Preisorientiert; benötigt Rechner/CTA."
}
]
Jetzt möglich: n8n → „Write Binary File“ (CSV) + „Google Sheets Append“; ID der Datei zurück in Pipeline loggen.
8) Validierung, Grenzen & Qualitätssicherung
8.1 Validierung innerhalb Ahrefs
- Cross-Check von Ideenquellen: Matching vs. Related Terms vergleichen; nur Schnittmenge mit hohem Opp-Score priorisieren.
- Volumen-Plausibilität: Volume by Country ausschließlich für
DE heranziehen; Abweichungen markieren.
- KD-Kontext: KD ist nicht linear; 40→50 ist ein stärkerer Sprung als 10→20. (Ahrefs KD-Definition beachten.)
- SERP-Sanity (optional): SERP Overview stichprobenartig prüfen (Brand/Job-Dominanz, YMYL-Einschläge).
8.2 Grenzen
- Single-Source Bias: Nur Ahrefs (gewünscht) → keine externen Volumen/KD-Vergleiche; durch heuristische Filter & manuelle SERP-Checks mitigieren.
- YMYL-Domänen: Versicherungs/Finanzthemen unterliegen Vertrauenssignalen – SERP kann volatiler sein.
- Intent-Heuristik: Regelbasiert → regelmäßig gegen SERP-Snippets validieren.
Jetzt möglich: n8n-Stichprobenreport: 20 zufällige Keywords mit SERP-Screenshot/Top-3-Titel pro Woche ausgeben (QA-Schleife).
9) n8n Referenz-Implementierung (High-Level)
- WF-01 Seed Intake: Webhook (Seeds, Kategorie-Prioritäten) → Set → Split In Batches.
- WF-02 Ideas: pro Seed
HTTP (Matching Terms) → HTTP (Related Terms) → Merge → Dedupe.
- WF-03 Metrics: Chunk Keywords (50–100/Stück) → HTTP (Overview) → HTTP (Volume by Country) → Combine.
- WF-04 Enrichment: Function (Intent-Rules, Business-Mapping, Normalisierung, OppScore).
- WF-05 Filter: IF KD/Volumen/Serp-Flags → zwei Pfade (drop/keep).
- WF-06 Clustering: Code Jaccard + Labeling.
- WF-07 Routing: Split → Google Sheets (Blog/Leistung Tabs) + CSV Export.
- WF-08 QA: (optional) HTTP SERP Overview für Stichprobe, Screenshot via externem Renderer, Versand per E-Mail/Slack.
Jetzt möglich: Pro WF einen n8n Subworkflow erstellen; zentrale ENV für Länder-Code DE, KD/Volumen-Thresholds, Bucket-Gewichte.
10) Praktische Parameter-Empfehlungen (V1 für Versicherungs-/Finanzumfeld)
- Seeds je Kategorie: 5–8 Head-Terms (BU, PKV, Haftpflicht, Hausrat, Finanzierung/Baufinanzierung …)
- Volumen-Schwelle: 80 (Blog) / 120 (Leistung); für Long-Tail-Guides bewusst niedriger.
- Max. KD: 45 (Blog) / 40 (Leistung); spätere Stufen: bis 55 mit Backlink-Plan.
- Intent-Gewichte: TX 1.2, IF 0.9, NAV 0.6 – je nach Funnel anpassbar.
- Batching: 50–100 Keywords pro Overview-Call (Ratenlimit/Units beachten; Enterprise-Plan).
Jetzt möglich: Schwellen im ENV zentralisieren; „Profil V1“ speichern und per Switch Node auswählbar machen (V1 konservativ / V2 aggressiv).
11) Risiken & Governance
- API-Units/Quota: Budgetieren; Nightly Runs; „Free Test Queries“ nur zu Dev-Zwecken.
- Versionierung: Jede Run-ID mit Datum/Seeds loggen; Delta-Reports (neu/entfernt/angepasst).
- Privacy & Compliance: Keine personenbezogenen Daten; nur SERP/Keyword-Daten.
Jetzt möglich: n8n-Logging in GSheet „runs_log“ + „delta_log“; Warnungen an Slack bei Unit-Peak.
12) Zusammenfassung – Top-5 Takeaways
- Einheitliche Pipeline: Matching + Related → Overview + Volume(DE) → Heuristik → Filter → Cluster → Score → Routing.
- Score statt Gefühl: OppScore (Volumen × Intent × Business ÷ (1+KD)) macht Priorisierung reproduzierbar.
- Intent trennt Routen: Transactional → Leistungsseite; Informational → Blog. Verhindert Kannibalisierung.
- KD ist nicht linear: 40→50 ist „teurer“ als 10→20 – Limits je Funnel-Stufe bewusst setzen.
- Leichtes Clustering reicht: Jaccard+Intent ist robust & transparent – ideal für n8n & Audits.
Jetzt möglich: Proof-of-Concept mit 2 Kategorien (z. B. BU & Hausrat) fahren; Ergebnisse mit Vertrieb/Service spiegeln und Gewichte feinjustieren.
13) Quellen & Hinweise
Offizielle Ahrefs-Dokumentation (API v3):
- API Einführung & Abdeckung: „Introduction | API“ (Site/Keywords Explorer, SERP Overview, Rank Tracker, Site Audit). Quelle: Ahrefs API Intro. :contentReference[oaicite:0]{index=0}
- Keywords Explorer → Overview (Metriken je Keyword-Set). Quelle: Overview endpoint. :contentReference[oaicite:1]{index=1}
- Keywords Explorer → Related Terms. Quelle: Related terms. :contentReference[oaicite:2]{index=2}
- Keywords Explorer → Volume by Country (DE). Quelle: Volume by country. :contentReference[oaicite:3]{index=3}
- Site Explorer → Organic Keywords (optional). Quelle: Organic keywords. :contentReference[oaicite:4]{index=4}
- Management → Project Keywords (kostenlose Listenabfrage). Quelle: Project keywords. :contentReference[oaicite:5]{index=5}
- Ahrefs KD-Definition & Skala (0–100, nicht linear; RD-basiert). Quelle: Keyword Difficulty. :contentReference[oaicite:6]{index=6}
- API v3 Überblick (Enterprise/Endpunkte) – Help Center. Quelle: About API v3. :contentReference[oaicite:7]{index=7}
Hinweis: Dieses Blueprint setzt ausschließlich die Ahrefs-API ein (Vorgabe). Für spätere Reifegrade können zusätzliche interne Signale (z. B. Conversiondaten) die Priorisierung weiter verbessern.