Skip to content

Vector Embeddings for SEO

SEO Use Cases for Vector EmbeddingsGus PelogiaFresh

Overview

Vector embeddings are numerical representations of content that allow you to measure similarity between pages at scale. This SOP covers 5 practical SEO use cases.

Simple explanation: Embeddings create a content "fingerprint" - cosine similarity measures how close these fingerprints are.

Prerequisites

  • [ ] ChatGPT API access (for code generation)
  • [ ] Google Colab account (free)
  • [ ] OpenAI API key
  • [ ] Screaming Frog (for bulk embedding extraction)
  • [ ] Basic spreadsheet skills

The Tool Stack

Prompting ChatGPT for Code

Master prompt template:

I need a Python code for Google Colab.

I will upload a CSV with:
- Column A: [describe data]
- Column B: [describe data]

I want the code to:
1. [specific action]
2. Use cosine similarity to measure similarity
3. Output results to a new CSV file

The input CSV filename will be: input.csv
The output CSV filename should be: output.csv

No Coding Required

Gus didn't write a single line of code - ChatGPT generated everything. You just need to specify inputs, outputs, and desired behavior.

Problem: Thousands of blog posts need "Related Articles" sections but manual matching is impossible.

Solution:

CSV format:

URLEmbeddings
/how-to-pace-yourself[0.123, 0.456, ...]

Output: Each URL with top 3 most similar URLs

Verification: Check if matches make sense (e.g., "How to pace yourself" matches with "How to organize your desk", "How to plan your day")

Use Case 2: CTA Matching

Problem: Articles have generic CTAs instead of topic-relevant ones.

Solution:

  1. Create taxonomy of available CTAs (predefined tags)
  2. Generate embeddings for each article
  3. Match articles to most relevant CTA

Scoring guidance:

  • Score 0.40+ = Good match
  • Score < 0.40 = Tag may not be relevant

Results: In testing, properly matched CTAs increased click-through rates compared to generic CTAs.

Use Case 3: Hreflang Mapping

Problem: 50,000+ pages across 20 countries need language variant matching.

CSV format:

LocaleURLEmbeddings
en-US/product[0.123, ...]
fr-FR/produit[0.456, ...]

How it works:

  1. Embeddings capture meaning, not just words
  2. "Running shoes" in English matches "Chaussures de course" in French
  3. Outputs matched pairs across locales

Use Case 4: Content Gap Analysis

Problem: Identify pages competitors have that you don't.

Method:

  1. Crawl both sites (Colab can crawl directly)
  2. Generate embeddings for all pages
  3. Compare: which topics exist on competitor but not on your site?
  4. Use competitor traffic as proxy for opportunity

Example output:

Competitor PageBest Match on Your SiteGap Score
/google-search-operators/boost-organic-traffic0.28

Low score = content gap opportunity

Use Case 5: AI Answer Matching (Experimental)

Theory: Compare your content to AI Mode/Overview answers to understand relevance gaps.

CSV format:

URLPage ContentAI Answer
/page[text][AI response text]

Insights:

  • Identifies if your page content matches what Google thinks is the answer
  • May explain why certain pages rank over others for AI results
  • Still experimental - needs more testing

Screaming Frog Embedding Features

Screaming Frog now has built-in vector embedding analysis:

  • Duplicate detection - Find semantically similar pages
  • Off-topic detection - Find pages that don't fit your site's topics
  • Requires OpenAI API key

Models Used

ModelUse Case
text-embedding-3-largeChatGPT/OpenAI workflows
text-embeddings-004Gemini/Google workflows

These are default models - no special configuration needed.

Verification Checklist

  • [ ] API keys configured
  • [ ] Google Colab accessible
  • [ ] CSVs formatted correctly
  • [ ] Code runs without errors
  • [ ] Sample outputs verified for quality
  • [ ] Results make semantic sense

Troubleshooting

Colab code errors

Paste error back to ChatGPT with context. It will fix it.

Embeddings not extracting

Check Screaming Frog configuration and API key.

Matches don't make sense

Verify you're using the right embedding model and check for data quality issues.

See Also

Knowledge extracted from Search 'n Stuff Conference talks