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:

  1. Consolidate — merge the two products into one + 301 redirect the loser to the winner. Use the 404 Hunter tool to apply the redirect.
  2. Differentiate copy — keep both but rewrite descriptions so each targets a distinct subset of the keyword cluster.
  3. 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.