Most intermediate SEOs treat Share of Voice as a straightforward metric: your brand’s impression share versus competitors for a static keyword set.That’s table stakes.
Diagnosing Query Cannibalization with Google Search Console Performance Data
Query cannibalization rarely announces itself with a dramatic traffic cliff. It shows up as a slow leak: impressions climb, clicks flatline, average position wobbles between two URLs, and nobody can explain why. Google Search Console’s Performance report is the best free instrument for seeing this pattern, but only if you stop treating the query table as a flat list of keywords and start treating it as a query-to-URL graph. Intermediate SEOs already know how to filter queries by clicks and impressions. The next step is reading the relationships between rows.
Open the Performance report and add both Query and Page as dimensions. This immediately changes the diagnostic value. A query with 20,000 impressions may look healthy in the default view, but when page is layered in, you might see three blog posts, one category page, and a product page all receiving impressions for the same intent. If those URLs trade positions across a 28-day window, Google is not confident about which page deserves to rank. That uncertainty is often self-inflicted: overlapping title tags, internal anchors using the same keyword, or content updated on one URL while another still carries authority.
Export the query-page matrix or use the Search Console API if you need more rows. In a spreadsheet or BigQuery, calculate each URL’s share of impressions and clicks for a given query. Calculate weighted average position. A useful heuristic is to flag queries where the top two URLs split impressions within a 70/30 to 40/60 range and both rank inside the top ten. Another flag is high impression volume with low click-through rate on the ranking URL. If a page ranks second but earns a 2% CTR while your site average for position two is 8%, the SERP may be answering the query directly, or the wrong page is ranking. Both are actionable.
Intent is the deciding factor. Two URLs ranking for “running shoes” and “best running shoes for flat feet” may be correct if one is a category page and the other is a guide. But if both target the same commercial intent, consolidation usually wins. Check the live SERP. Inspect title tags, H1s, schema, and internal links. Then look at GSC again. Which URL does Google consistently choose when impressions are high? That is your signal. You can either improve the preferred URL and redirect or canonicalize the weaker one, or differentiate the weaker page toward a distinct long-tail cluster. Do not blindly delete pages based on a single week of data. GSC has sampling, anonymization, and reporting lag. Use 28-day and 90-day comparisons, and segment by device and country before making irreversible changes.
Striking-distance queries fit the same diagnostic framework. Filter for positions five through fifteen, sort by impressions, and cluster queries by intent rather than optimizing them one by one. If a cluster points to a single URL, update that page to cover the subtopics more completely. If the cluster splits across multiple URLs, choose a canonical target and strengthen internal links to it. This turns query data into an information architecture decision, not just a content brief.
For larger sites, automate the query-page matrix with the GSC API or BigQuery export. Build a weekly view that tracks impressions, clicks, CTR, and average position for priority query groups. Set alerts for sudden impression shifts from one URL to another. When you spot overlap, decide whether to consolidate, differentiate, or deoptimize. Consolidate when intent is identical. Differentiate when the query language overlaps but user goals diverge. Deoptimize when a page should not compete at all, such as a support article outranking a commercial page.
The real power of Search Console diagnostics is that it shows you how Google interprets your site’s structure, not just how your pages perform. Query data reveals the search engine’s current best guess about which URL answers which intent. Your job is to align content, internal links, and technical signals with that guess, or deliberately reshape the guess through consolidation and optimization. Do that consistently, and search performance analysis stops being a monthly reporting chore. It becomes a feedback loop for architecture, content, and authority.


