tezvyn:

Design a system to detect keyword cannibalization

Curated by the Tezvyn teamSource: yoast.comadvanced
Design a system to detect keyword cannibalization
WHAT IT TESTS

Whether you can distinguish search-intent overlap from keyword duplication at scale.

A GOOD ANSWER COVERS

Query-page-position data, intent clustering, and rank volatility.

RED FLAG

exact-keyword deduplication without modeling intent or CTR.

WHAT THIS TESTS: This question tests whether you can design a production-grade detection system that goes beyond string matching. Interviewers want to see if you understand that cannibalization is an intent problem, not a keyword problem. They are looking for data modeling skills, specifically how you join Search Console data with internal content metadata, and whether you account for Google's query interpretation rather than just surface-level term duplication. The scope is large-site architecture, so they also care about computational efficiency and how you avoid false positives.

A GOOD ANSWER COVERS: First, define the data model. You need Search Console data at the query-page level including queries, landing pages, impressions, clicks, average position, and click-through rate over time. Second, explain intent clustering. Group pages by the queries they rank for, but cluster semantically similar queries using embeddings or at least n-gram overlap, because exact match misses synonyms and long-tail variants. Third, identify the cannibalization signal. Look for queries where multiple unique URLs from the same domain appear in the results, especially when those URLs swap positions across days or when their combined CTR is lower than expected for their average rank. Fourth, add severity scoring. A query with two pages at positions 3 and 5 is different from two pages at 18 and 22; the former is active cannibalization, the latter is just poor targeting. Fifth, outline the action layer. Flag pages for merging, canonicalization, or re-optimization based on which page has stronger backlinks, conversion value, and content depth.

COMMON WRONG ANSWERS: A red flag is suggesting you simply find pages sharing the same meta keywords or title tags. Another is ignoring temporal dynamics; cannibalization often shows up as URL swapping in Search Console, not static overlap. Some candidates propose deleting the lower-performing page without analyzing whether it serves a distinct segment of the intent spectrum. Proposing a single global rule, like one page per keyword stem, ignores that large sites legitimately target the same term with different intent layers such as transactional versus informational.

LIKELY FOLLOW-UPS: How would you reduce false positives for sites with faceted navigation or parameterized URLs? How do you handle seasonal queries where Google legitimately rotates product and blog content? What is your merge versus noindex decision framework? How would you validate that a fix actually worked?

ONE CONCRETE EXAMPLE: Suppose an e-commerce site has two URLs ranking for readability ranking factor and does readability rank. A good system clusters these queries under the same intent vector, notices that URL A and URL B swap between positions 4 and 9 weekly, and sees that their combined CTR for the cluster is 2.1 percent despite an average position of 5.5. The system flags this as high-severity cannibalization and recommends merging the weaker post into the stronger one, then redirecting.

Source: yoast.com

Read the original → yoast.com

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.

Design a system to detect keyword cannibalization · Tezvyn