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

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:

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:

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

Jetzt möglich: n8n Function-Node für Intent-Rules und Score-Berechnung (gewichtbar je Geschäftsbereich).

Phase D – Filterung (Qualität & Machbarkeit)

Jetzt möglich: n8n IF-Nodes: IF KD > 45 → Drop; IF Volumen_DE < 80 → Drop; sonst → weiter.

Phase E – Clustering (Themen & SERP-Nähe)

  1. Lexikalische Vor-Cluster: Token-Jaccard ≥ 0.5, z. B. Gruppierung nach Stamm („haftpflicht“, „hausrat“, „bu“).
  2. Intent-Kohärenz: gleiche Intent-Klasse zusammenhalten (separate Cluster für Info vs. Transaktion).
  3. 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

Jetzt möglich: n8n: Zwei Outputs erzeugen (Blog-Backlog vs. Leistungs-Backlog) mit jeweils Top-n Clustern und Keywords.

Phase G – Reporting/Export

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)

  1. Vorverarbeitung: Kleinschreibung, Stemming (de-minimal), Entfernen von Stoppwörtern.
  2. Token-Set-Signatur: für jedes Keyword Menge signifikanter Token.
  3. Jaccard-Ähnlichkeit: Cluster, wenn J ≥ 0.5 und gleicher Intent.
  4. Cluster-Label: häufigstes Token-2-gram (z. B. „hausrat versicherung“) + Intent Suffix.
  5. 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

8.2 Grenzen

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)

  1. WF-01 Seed Intake: Webhook (Seeds, Kategorie-Prioritäten) → SetSplit In Batches.
  2. WF-02 Ideas: pro Seed HTTP (Matching Terms)HTTP (Related Terms)MergeDedupe.
  3. WF-03 Metrics: Chunk Keywords (50–100/Stück) → HTTP (Overview)HTTP (Volume by Country)Combine.
  4. WF-04 Enrichment: Function (Intent-Rules, Business-Mapping, Normalisierung, OppScore).
  5. WF-05 Filter: IF KD/Volumen/Serp-Flags → zwei Pfade (drop/keep).
  6. WF-06 Clustering: Code Jaccard + Labeling.
  7. WF-07 Routing: Split → Google Sheets (Blog/Leistung Tabs) + CSV Export.
  8. 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)

Jetzt möglich: Schwellen im ENV zentralisieren; „Profil V1“ speichern und per Switch Node auswählbar machen (V1 konservativ / V2 aggressiv).

11) Risiken & Governance

Jetzt möglich: n8n-Logging in GSheet „runs_log“ + „delta_log“; Warnungen an Slack bei Unit-Peak.

12) Zusammenfassung – Top-5 Takeaways

  1. Einheitliche Pipeline: Matching + Related → Overview + Volume(DE) → Heuristik → Filter → Cluster → Score → Routing.
  2. Score statt Gefühl: OppScore (Volumen × Intent × Business ÷ (1+KD)) macht Priorisierung reproduzierbar.
  3. Intent trennt Routen: Transactional → Leistungsseite; Informational → Blog. Verhindert Kannibalisierung.
  4. KD ist nicht linear: 40→50 ist „teurer“ als 10→20 – Limits je Funnel-Stufe bewusst setzen.
  5. 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):

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.