Interne Verlinkung mit Embeddings
Wie wir hunderte übersehene SEO-Potenziale aufgedeckt haben
SEO / LLMO / GEO > Interne Verlinkung mit Embeddings
Vor ein paar Wochen sind wir auf einen Artikel von Moz gestoßen, der eine ziemlich clevere Methode beschreibt: Interne Verlinkung mit Embeddings.
Unser erster Gedanke: "Klingt komplex."
Unser zweiter: "Aber das Potenzial ist riesig."
Also haben wir die Methode getestet – zunächst auf unserer eigenen Website, dann bei einem Kundenprojekt. Das Ergebnis? Hunderte übersehene Verlinkungsmöglichkeiten, obwohl wir dachten, bereits gründlich gearbeitet zu haben.
Noch besser: Die Methode hat nicht nur fehlende Links aufgedeckt, sondern auch Keyword-Kannibalisierungen sichtbar gemacht und geholfen, eng verwandte Konzepte besser voneinander abzugrenzen.
In diesem Artikel zeigen wir Ihnen Schritt für Schritt, wie Sie dies auch für Ihre Website umsetzen können – inklusive der Stolperfallen, die wir durchlaufen mussten.
Warum Embeddings ein Game-Changer für interne Verlinkung sind
Die meisten SEOs arbeiten bei interner Verlinkung mit Keyword-Matching: "Wo kommt das Wort 'SEO' vor? Da könnte ich verlinken."
Das Problem: Semantisch verwandte Inhalte werden übersehen, wenn sie nicht die exakt gleichen Keywords verwenden.
Die Lösung: Vektoreinbettungen (Vector Embeddings) analysieren die semantische Ähnlichkeit von Inhalten – nicht über Keywords, sondern über mathematische Repräsentationen des Texts.
Konkret bedeutet das:
- Ein Artikel über "KI im Marketing" wird als verwandt erkannt zu "ChatGPT für Unternehmen" – auch ohne identische Keywords
- Die Ähnlichkeit wird über Cosine Similarity gemessen (Wert zwischen 0 und 1)
- Je höher der Wert, desto ähnlicher der Content
Das Ergebnis: Sie finden Verlinkungspotenziale, die Sie mit klassischen Methoden niemals entdeckt hätten.
Was Sie brauchen
Bevor es losgeht, hier die Tool-Liste:
- Screaming Frog SEO Spider (mit Custom JavaScript Feature)
- OpenAI API Key (für die Vektoreinbettungen)
- Python-Skript von Britney Muller (Google Colab)
- Google Sheets oder Excel
Die gute Nachricht: Sie müssen kein Python-Experte sein. Das Skript macht die ganze Arbeit für Sie.
Schritt für Schritt-Anleitung
Schritt 1: OpenAI API Key besorgen
Gehen Sie auf die OpenAI Website und erstellen Sie einen API Key.
Wichtig: Sie brauchen eine bezahlte Version. Die kostenlose Version funktioniert nicht für diesen Zweck.
Schritt 2: Screaming Frog konfigurieren
Hier wird's technisch – aber keine Sorge, wir führen Sie durch jeden Schritt.
Konfigurationsdatei laden
Zur Vereinfachung haben wir eine fertige Screaming Frog Konfigurationsdatei zum Download erstellt. Laden Sie die Datei herunter und benennen Sie um in "new9-28-2025-vector-embeddings.seospiderconfig"
So importieren Sie die Datei in Screaming Frog:
- Screaming Frog öffnen
- Gehen Sie zu Configuration > Profiles > Load
- Wählen Sie die .seospider Datei aus
OpenAI API Key eintragen
- Öffnen Sie in Screaming Frog: Configuration > API Access > OpenAI
- Fügen Sie Ihren API Key ein
- Klicken Sie unten rechts auf Connect
Custom JavaScript für Embeddings einrichten
Jetzt kommt der wichtige Teil:
- Gehen Sie zu Configuration > Custom > Custom JavaScript
- Klicken Sie auf "Add from Library"
- Wählen Sie: "(ChatGPT) Extract embeddings from page content" > OK
Wichtiger Hinweis: Sie müssen auch hier Ihren OpenAI API Key im JavaScript-Code eintragen, selbst wenn Sie die Konfigurationsdatei geladen haben.
Test-Crawl durchführen
Bevor Sie die ganze Website crawlen: Testen Sie erst eine einzelne URL!
Crawlen Sie eine Test-URL
- Prüfen Sie im Tab "Custom Extraction", ob Zahlen erscheinen
- Wenn ja: Alles läuft, Sie können die komplette Website crawlen
Troubleshooting: Falls Sie einen insufficient_quota Error bekommen:
- Stellen Sie sicher, dass Sie ein kostenpflichtiges OpenAI-Konto nutzen
- Prüfen Sie Ihr API Budget unter OpenAI Usage Settings
- Setzen Sie ein monatliches Limit von mindestens 10 USD
Schritt 3: Die entscheidenden CSV-Dateien exportieren
Nach dem Crawl exportieren Sie zwei Dateien:
Export: All Inlinks
- Gehen Sie zu Bulk Export > Links > All Inlinks
- Speichern Sie die Datei als all_inlinks.csv
Was steht drin? Jeder einzelne interne Link deiner Website – bei größeren Sites kann diese Datei auch mal 50+ MB groß werden.
Export: Custom JavaScript (Embeddings)
- Gehen Sie zu Custom JavaScript
- Nutzen Sie den Filter "(ChatGPT ) Extract embeddings from page content"
- Exportieren Sie die Datei als custom_javascript_all.csv
Was steht drin? Die Vektoreinbettungen für jede gecrawlte URL.
Schritt 4: Python-Skript ausführen (ohne Python-Kenntnisse!)
Jetzt kommt das Python-Skript von Britney Muller zum Einsatz. Es automatisiert die komplette Datenaufbereitung.
Google Colab Skript von Britney Muller
So gehen Sie vor:
- Öffnen Sie das Skript in Google Colab
- Klicken Sie oben auf "Kopie erstellen" (damit Sie eine eigene Version haben)
- Klicken Sie auf den "Play"-Button
- Scrollen Sie nach unten zu "Choose Files"
- Laden Sie zuerst all_inlinks.csv hoch
- Laden Sie dann custom_javascript_all.csv hoch
- Warten Sie, bis das Skript durchläuft
- Laden Sie die Ergebnis-Dateien herunter:
internal_link_opportunities.xlsx (Excel-Version mit Formatierung)
internal_link_opportunities.csv (CSV-Version)
Hier sehen Sie den Bereich, wo sie Ihre csv-Dateien hochladen:
Die Stolperfalle: Englische Spaltennamen!
Hier kommt jetzt die entscheidende Info für deutschsprachige Screaming Frog Nutzer:
- Das Python-Skript erwartet englische Spaltennamen
- Screaming Frog liefert in der deutschen Version deutsche Namen
Die Lösung:
Öffnen Sie die Datei all_inlinks.csv und ändern Sie die Spaltenüberschriften manuell:
| Deutsch (Screaming Frog) | Englisch |
| Quelle | Source |
| Ziel | Destination |
| Link Position | Link-Position |
Speichern Sie die Datei, laden Sie sie erneut ins Python-Skript hoch – und dann läuft alles glatt durch.
Schritt 5: Die Ergebnis-Tabelle verstehen
Jetzt haben Sie Ihre Excel-Datei mit allen internen Verlinkungspotenzialen. So lesen Sie sie:
| Spalte | Englisch |
| Target URL | Die Zielseite, um die es geht |
| Links to Target URL | Alle Seiten, die bereits auf die Target URL verlinken |
| Related URL 1-5 | Die 5 semantisch ähnlichsten Seiten (nach Cosine Similarity) |
| URL X links to A? | "Exists" = verlinkt bereits / "Not Found" = Verlinkungspotenzial! |
Das erhalten Sie: Vorschau der Ergebnis-Tabelle
Schritt 6: Verlinkungen strategisch aufbauen
Jetzt wird's praktisch. So gehen Sie vor:
Priorisierung nach Traffic
- Nicht alle Seiten haben die gleiche Priorität. Starten Sie mit Ihren Traffic-stärksten Seiten.
- Warum? Weil diese den größten SEO-Hebel haben:
- die haben bereits Rankings
- die haben bereits Autorität
- die ausgehenden Links geben mehr "Link Juice" weiter
Tool-Tipp: Exportieren Sie aus Ihrer Webcontrolling Software (Google Analytics, etracker, matomo etc.) Ihre Top 100 Seiten nach Traffic und gleichen Sie sie mit Ihrer Ergebnis-Tabelle ab.
Verlinkungen natürlich einbauen
❌ Nicht so:
"Hier ist ein Link zu unserem Artikel über Stockfotos."
✅ Besser so:
"Neben kostenlosen Stockfoto-Quellen sollten Sie auch die rechtlichen Aspekte bei der Nutzung beachten – besonders im Social Media Kontext."
Faustregel: Der Ankertext sollte beschreiben, was der Nutzer auf der Zielseite findet.
Bonus: Was wir darüber hinaus gelernt haben
1. Keyword-Kannibalisierung wird sichtbar
Wenn mehrere Seiten eine extrem hohe Cosine Similarity (>0,90) haben, behandeln sie wahrscheinlich das gleiche Thema.
Praxis-Tipp: Prüfen Sie, ob Sie diese Seiten zusammenlegen oder klarer differenzieren sollten.
2. Content-Gaps werden offensichtlich
Wenn eine wichtige Seite nur wenige semantisch ähnliche Inhalte hat, fehlt Ihnen möglicherweise Supporting-Content.
Beispiel: Eine Produktseite ohne Tutorial-Artikel, FAQ oder Use Cases.
3. Die Methode funktioniert auch mehrsprachig
Wenn Sie mehrsprachige Websites betreuen: Die Vektoreinbettungen funktionieren sprachübergreifend – allerdings sollten Sie sie pro Sprache getrennt analysieren.
Ressourcen & Downloads
- Original-Artikel: How I found internal linking opportunities with vector embeddings (Moz)
- Screaming Frog Config: Wichtig: Dateiendung nach dem Download ändern in .seospiderconfig
- Python-Skript: Google Colab Cleanup Script von Britney Muller
Fragen? Lassen Sie uns reden.
Wir haben diese Methode mittlerweile bei einem Dutzend Kundenprojekten eingesetzt – von lokalen Dienstleistern bis zu B2B-Unternehmen mit komplexen Content-Strukturen.
Sie brauchen Unterstützung bei der Umsetzung? Melden Sie sich bei uns!
Wer schreibt hier?
Dirk Pache - der erste Mitarbeiter der Firma ...
Gründer und Inhaber
Bekennender 96 Fan, Freund von Wortspielen, Kalauern und weiteren Synonymen
Weitere Beiträge zum Thema SEO/LLMO
- Interne Verlinkung mit Embeddings
- Google Query Groups: Das Ende der Keyword-Listen
- LLMO-Erfolg messen: KPI und Tools für die AI-Ära
- LLMO-Strategie 2025: Branchenspezifische Ansätze
- AI Overview-Optimierung: 7 Sofortmaßnahmen für Ihre Webseite
- LLMO vs klassisches SEO: Was Sie wissen müssen
- SE Ranking: Ein SEO-Tool für kleine und mittlere Unternehmen
- Was sind Google AI Overviews – und warum verändern sie SEO grundlegend?
- Lokales SEO: Tipps und Strategien, um in regionalen Suchergebnissen sichtbar zu sein
- SEO-Learnings aus unseren top rankenden Blogbeiträgen
- Bildoptimierung für Google - der Bilder-SEO-Leitfaden!