Cannibalization Risk detector
Lives on SEO Tools → Content tab. Self-joins the product embeddings table to surface pairs whose cosine similarity crosses a high threshold — duplicates or near-duplicates that may be competing for the same keyword.
Threshold presets
- ≥95% — exact / near-exact duplicates (rare in healthy catalogs)
- ≥92% — near-duplicates (default)
- ≥88% — high overlap
- ≥85% — moderate overlap (noisier; useful for cluster discovery)
What to do with a pair
Three options, in order of impact:
- Consolidate — merge the two products into one + 301 redirect the loser to the winner. Use the 404 Hunter tool to apply the redirect.
- Differentiate copy — keep both but rewrite descriptions so each targets a distinct subset of the keyword cluster.
- Block one in robots.txt — last resort. Tells Google which page is canonical for the topic.
Color coding
- ≥95% — red (consolidate)
- ≥92% — orange (consider consolidating)
- <92% — amber (review)
Why semantic beats keyword
Yoast / SEMrush cannibalization tools use keyword-overlap signals. They miss two products that target identical intent with completely different copy. Embeddings catch what keyword-matching misses.
Plan
Free-tier accessible. No external search-data usage.
Limitations
The query is an O(N²) self-join (HNSW doesn't accelerate self-joins). Catalogs over 5,000 products may see slower response times. Hard cap of 50 returned pairs.