Concept · workflow · in production
Embedding-Driven Related Content
Automatically surfaces related content by comparing semantic meaning via vector embeddings, improving discoverability and user engagement across our portfolio's growing content bases.
What it is
Embedding-driven related content automatically surfaces relevant articles, products, or documentation by comparing their semantic meaning, moving beyond keyword matching or manual tagging. This approach uses vector embeddings to represent the semantic meaning of text (pages, articles, products). Instead of relying on explicit tags or categories, content is transformed into high-dimensional numerical vectors. When a user views a piece of content, its vector is compared against all other content vectors in the database. The items with the closest vector similarity are then presented as "related." This approach captures nuanced relationships that human curation or simple keyword matching often miss, especially as content volume grows. It's a fundamental shift from explicit metadata to implicit semantic understanding, powered by large language models (LLMs) and vector databases.
Why it matters
For a portfolio with hundreds or thousands of pages, like those generated via Programmatic SEO or extensive documentation, manual curation of related content becomes unsustainable and prone to error. Editorial curation is labor-intensive and doesn't scale. Keyword-based systems often return irrelevant results due to polysemy or lack of semantic depth. Embedding-driven systems provide a dynamic, always-on relevance engine that improves content discoverability and keeps users engaged. This directly impacts metrics like time on site and page views per session, contributing to better SEO performance and user satisfaction. It also frees up operational bandwidth that would otherwise be spent on content linking, allowing the team to focus on core product development or new content generation.
How TV applies it
At Total Ventures, we're building this capability into several portfolio companies. For a documentation-heavy product, we embed each doc page using a model like `text-embedding-ada-002` or a smaller, fine-tuned open-source model. These embeddings are stored in a vector database, often integrated with our existing Firebase setup, or a dedicated service like Pinecone or Supabase's pgvector. When a user lands on a specific documentation page, we query the vector database with that page's embedding to retrieve the top N most similar pages. This powers the "Related Articles" section. This same pattern is applied to blog posts and even product listings to suggest complementary items. We use a lightweight API layer, often running on Vercel, to handle the embedding generation and similarity search logic. For content generation and initial embedding, we might leverage AI Agent Orchestration where a Claude Code agent handles the embedding process as part of a content publishing workflow. The goal is to ensure that a user always has a clear path to discover more relevant content, whether it's another article, a product feature, or a related concept.
Common failure modes
The primary failure mode is poor embedding quality, which leads to irrelevant suggestions. This can happen if the embedding model isn't suitable for the content domain or if the text chunks being embedded are too small or too large, losing context. Another common issue is the "cold start" problem: new content won't have related suggestions until it's been embedded and indexed. We mitigate this by integrating embedding generation into our content publishing pipeline. Over-reliance on a single embedding model without domain-specific fine-tuning can also be a pitfall; general-purpose models might miss industry-specific nuances. Finally, neglecting to refresh embeddings as content evolves or new models emerge can degrade relevance over time. Regular re-indexing or a scheduled re-embedding process, often triggered by a cron job on Vercel, is crucial. This is particularly important for dynamic content or when we iterate on our content strategy, such as refining our approach to SEO Content Gap Analysis.
FAQs
- How do you handle new content without existing related links?
- New content is embedded as part of its publishing workflow. Once indexed in the vector database, it immediately becomes discoverable for similarity searches.
- What if the related content isn't truly relevant?
- This points to embedding quality. We iterate on embedding models or chunking strategies, and sometimes fine-tune models with domain-specific data to improve relevance.
- Is this expensive to run?
- Embedding generation can be, but similarity search on indexed vectors is efficient. We manage costs by caching and processing embeddings in batches for less dynamic content.
Want to see how Total Ventures applies this in production?
See the brand portfolio →
