Tool · tool guide

Search Console Cannibalization: Measure Page Splits

Measure Search Console cannibalization with query-page shares, a concentration formula, synthetic CSV rows, and clear rules for consolidation decisions.

Published Updated 11 min readBy William Zhu & InfiniSynapse Data Team

Author credentials: William Zhu is cofounder of InfiniSynapse (GitHub @allwefantasy · auto-coder). Desk: shipping SEO Health and the /en/tool/ visibility pages. No personal LinkedIn published. About: team / editorial standards.

Publisher credentials: InfiniSynapse has public profiles on GitHub, YouTube, and X. A 2026 WAIC Future Tech OPC excellence award covers the Agentic Data Infra entry (WAIC; third-party recap: Xinhua / Caohejing). That award does not review this page or SEO Health. Method CLI: infinitegrowth on npm. Archive: recognition and scope notes.

Search Console Cannibalization: Measure Page Splits
On this page

By William Zhu · Cofounder, InfiniSynapse · Published: 2026-09-08 · Last updated: 2026-10-02 · Last verified: 2026-09-14 · Reviewed by the InfiniSynapse Data Team.

Reviewed by: InfiniSynapse Data Team · method review 2026-09-14. First-party CLI gates; no Queries.csv or Pages.csv was supplied for a share split.

Trust / COI: About · Corrections. SEO Health is a commercial product from this team. No customer Search Console export was used.

TL;DR

Two URLs on one visible query are a share problem only after both export files exist. A cannibalization dashboard starts at the Queries-plus-Pages pair, not at a merge ticket.

Direct answer: A cannibalization dashboard shows one query's impressions split across pages. Export Queries and Pages first. Do not merge on a screenshot.

Treat Search Console cannibalization as that query-page split, replayed. You need the same window on both files, visible query text, at least two pages, and a human intent check after the shares. This desk supplied neither file. We did not compute HHI on fake rows. A teaching CSV is not a property.

The split desk pinned infinitegrowth@0.1.1 while -V still printed 0.1.0. Official developer URLs were fetched with InfiniSynapse-P3-desk/2026-09-14. No login. No property. The four local gates still exited 1. Those exits do not prove two pages competed.

What you will learn

  • Why Search Console cannibalization waits for Queries and Pages together
  • What the first-party manual names as the minimum pair
  • Why justice.gov HHI is a formula reference, not a Google score
  • How a split differs from a matrix
  • Where this page stops and a striking-distance review begins

What a cannibalization dashboard is

A cannibalization dashboard shows one query's impressions split across pages. Export Queries and Pages first. Do not merge on a screenshot.

It is Search Console page shares. It is not product sales, channel margin, or store overlap. Two URLs on one query stay a candidate until you open both pages.

Columns on the cannibalization dashboard

ColumnWhat it holds
QueryVisible query text from Queries.csv
URLPage from the same export window
ImpressionsPage impressions for that query
ClicksPage clicks for that query
PositionAverage position on that query-page row
Page sharePage impressions ÷ query impressions

This desk has no impressions to divide. Leave the columns empty until both files exist. Do not fill them from a teaching CSV.

What Search Console cannibalization means

Key definition: Search Console cannibalization is the job of measuring how one visible query distributes impressions across pages, then deciding whether that split deserves a merge, coexistence, or a later watch. It is not a penalty label. It is not an official Google health score.

The Search Analytics page dimension is the official reminder that page is a dimension you request, not a story you infer. This page copies that boundary. It does not claim we queried a property.

Google’s duplicate-content documentation is the official keep-URL reminder. Distinct intent can justify two URLs. Near-duplicates may not. That guide does not grade this desk.

Eight lights on one URL cannot measure a query-page split. Search Console cannibalization work starts in two CSVs, not in a slogan. Tech amber is a clue. It is not a substitute for a dated pair.

SEO Health remains the deterministic evidence foundation for file gates, role detection, and header checks. Once a dated Queries-plus-Pages pair exists, teams may send those rows to an InfiniSynapse Server API long-task workspace to sequence consolidation tickets; the API does not invent shares or override an unauthorized exit.

A split is not automatically harm

Different locale, format, or funnel stage can keep two URLs on one query. Search Console cannibalization that merges on row count alone has skipped the page review. The concentration number is a flag for inspection, not a verdict.

HHI is a formula, not a penalty

The U.S. DOJ HHI explanation is the concentration formula we cite: sum the squared page shares. We cite it as mathematics. We did not run it on a property. Search Console cannibalization that treats HHI as a Google penalty has left the evidence.

Observed sample: missing Queries and Pages

This desk used the first-party contract from seo-health manual gsc and four local CLI runs. Login is required and consumes credits. The accepted source is Performance → Export → ZIP → unzip → pass a directory or CSV. Do not pass the ZIP. UTF-8. At most eight files. At most 4MB. Roles are Queries, Pages, Dates, Devices, and Countries. Headers are Clicks, Impressions, CTR, and Position in English or 中文. The manual suggests at least 28 days. Fewer than seven date points skip anomaly detection. Queries plus Pages is the minimum pair.

We supplied neither file. Search Console cannibalization that needs a query-page split therefore has a sample size of zero exported rows. That limit is the finding. It cannot establish which queries split across which URLs.

InputExit codeMessage observed
Missing path1ENOENT: no such file or directory
dummy.zip1只支持 CSV 文件
Empty directory1目录下没有找到 CSV 文件
1-row fixture CSV1read 1 CSV, then 分析失败:unauthorized
URLFirst statusTitle presentNotes
developers.google.com/webmaster-tools/v1/api_reference_index200Search Console API Reference74863 bytes; Last-Modified Tue, 23 Jul 2024

A synthetic teaching split can demonstrate 0.60 / 0.40 shares in a classroom. This rewrite does not reprint that table as the desk. We did not compute HHI on fake rows. The unauthorized read of a one-row fixture is not a cannibalization finding. Search Console cannibalization still needs your pair.

Grouped bars for CLI exit codes beside whether Queries or Pages files were present

Figure: Two series from the same desk. Exit code is not a page share. File presence is not an HHI.

CLI gates without a property file

seo-health help gsc documents gsc [options] <path> with --lang default zh and --format json. seo-health help login documents --token from the web app. We did not send a token.

seo-health gsc dummy.zip
seo-health gsc empty-dir/
# exit code 1 · 目录下没有找到 CSV 文件

A Search Console cannibalization record should keep the command, the exit code, and the missing-file note. dbt data tests are the warehouse reminder that a missing relation fails before a share is computed. They do not decide which URL should win.

Why the minimum pair was not supplied

Queries without Pages cannot name the second URL. Pages without Queries cannot name the term. Search Console cannibalization that starts from one role has already changed the grain. This desk started from zero roles.

Google Cloud BigQuery introduction is the warehouse context we keep for later joins, not a bulk export we started. AWS Glue Data Quality is the completeness rule: both keys must exist. Snowflake querying is the SQL reminder that a share is a division, not a feeling. Microsoft Power Query is the load path for the same two CSVs.

How we fetched official surfaces

The API reference answered 200. That is a documentation fetch, not a searchanalytics.query call. We did not request dimensions. We did not receive rows. Search Console cannibalization owners who quote #dimensions and skip the missing pair are incomplete.

SciPy entropy is a second concentration-adjacent formula family. We did not run it. Citing it does not invent a split.

What this desk cannot establish

This sample size is four CLI failures and one official 200. It cannot establish a property-level conflict list. It does not prove two pages harmed each other. Close the file when those limits are still visible.

A concentration review framework

Keep both files on the same window

Export one ZIP, unzip it, and keep Queries and Pages from that unzip. Name the start and end dates on both. Search Console cannibalization that mixes windows manufactures a split.

Compute shares only after the pair exists

page_share = page impressions ÷ query impressions. HHI is the sum of squared shares. Use full precision, then round for display. This desk has no impressions to divide. Search Console cannibalization arithmetic that starts from a screenshot is already late.

Review intent before you merge

Open both URLs. Check locale, format, canonical, and funnel stage. A low HHI can still be healthy coexistence. A high HHI can still be two honest documents. Search Console cannibalization needs that page review after the number, not instead of the number.

Leave anonymized queries out

Unknown query text cannot enter a query-specific share. Do not distribute hidden impressions across visible terms. Search Console cannibalization that guesses the phrase has left the export.

How this job compares to a query-page matrix

A matrix asks which queries map to which pages and whether margins survive. A concentration review asks whether one query’s page shares are split enough to inspect. Search Console cannibalization is the second job. The GSC query page report page owns the first.

The Striking Distance Keywords page owns position bands after a real file exists. This desk has zero exported position values. Do not invent a 5–15 band to justify a merge.

Return to analyze Search Console with AI after the pair exists. Use it when Search Console cannibalization is already honest about the missing grain.

Credits do not flip unauthorized. An owner who starts InfiniSynapse before both files exist is buying a story about missing evidence.

Search Console cannibalization also stays off the striking-distance sibling until Position is a real column. This desk logged the field name from the manual and then stopped. A merge ticket that cites a 5–15 band from an empty directory is a different error than a missing pair, and it is still an error.

If the pair later arrives, keep Devices and Countries as optional slices. They can explain a split that looks violent in the all-device total and quiet on mobile. They cannot replace Queries or Pages. Search Console cannibalization that slices first and never materializes the pair is still empty.

One side up, the other side down

After the pair exists, mark a transfer only when one URL's impressions rise, another URL's impressions fall, and the query total barely moves. A rise on one URL together with a rise in the query total is not a transfer. This cannibalization dashboard does not compare ads with organic results.

Do not merge from the dashboard alone

A 301 or a canonical comes after you open both URLs. Different intent, locale, or funnel stage means change the titles and leave both pages. The cannibalization dashboard does not apply a redirect.

Failure modes that invent a conflict

Screenshot confidence. Two URLs in the Performance UI are not a share table. Reproduce the export, then the unzip, then both roles.

HHI theater. Publishing justice.gov as if Google scored the site does not prove harm. Keep the DOJ page as a formula citation.

Unauthorized as diagnosis. Exit code 1 after reading one fixture CSV means the analyze step refused a token. It is not a split.

Synthetic-to-real drift. A classroom 0.52 HHI can teach the sum of squares. Publishing it as a customer conflict does not prove a merge.

Update fan fiction. A core-update week is not a cannibalization diagnosis. If you need history, use your own dated pair. Do not invent a recovery percentage.

Record the package version. A later CLI can change the ZIP message. This desk used 0.1.0. It cannot stand in for a logged-in property. If you need the live split, export the pair and keep the file hash beside the ticket. Do not paste a Performance GIF into this page as if it were HHI.

When two people repeat the same four CLI inputs, they should see the same exit codes unless a package bump landed between them. That repeatability is the point of a Search Console cannibalization desk. Narrative merge lists are a different job.

Store the unzip path next to the ticket. A second analyst should be able to open the same two CSVs, replay the share division, and reach the same candidate list before anyone argues about intent. If the files are absent, the replay stops at the CLI table. That stop is a valid Search Console cannibalization result for this desk.

Cluster guides for this job

This page keeps the split test. Narrower jobs live on sibling pages.

Job you actually haveGuide to open next
Full export-to-decision lifecycleanalyze Search Console with AI
Query-page matrix and margin checksGSC query page report
Position-band review after a real file existsStriking Distance Keywords

Inspect both files before you merge a URL

Confirm Queries and Pages share one unzip and one window. Then open the candidate pages. Do not merge on a screenshot.

Run SEO Health Checker

Use only authorized, sanitized data. Do not paste secrets.

If a signed-in workspace must narrate one dated pair after the gates pass, use the InfiniSynapse task workspace for that pair’s window and no other grain.

Frequently Asked Questions

What is a cannibalization dashboard?

A cannibalization dashboard shows one query's impressions split across pages. Export Queries and Pages first. Do not merge on a screenshot.

Why did this desk not compute HHI?

Because HHI needs page shares, and page shares need Queries plus Pages. We supplied neither. Search Console cannibalization that prints an index from a teaching CSV is a classroom demo, not this desk.

Do two pages on one query prove cannibalization?

No. Two pages prove a split candidate. Intent, locale, and canonical still need a human. Search Console cannibalization is the review, not the row count.

Can I use justice.gov HHI as a Google score?

No. The DOJ page explains a concentration formula used in competition analysis. It does not prove Google penalized a site. Keep it as math.

What files does the CLI manual treat as the minimum pair?

Queries.csv and Pages.csv, by filename or header. Dates, Devices, and Countries are extra roles. Search Console cannibalization that skips one of the pair has already changed the question.

When should I open a striking-distance review instead?

After the pair exists and the question moves from page share to position band. This desk has zero exported positions. Use the sibling when your file has that column.

Conclusion

Use Search Console cannibalization when the job is to measure a visible query’s page split before anyone files a merge. The 2026-09-14 desk shows a ZIP rejected, an empty directory rejected, a one-row fixture unauthorized, and no Queries or Pages on disk. Close the file when the command, the exit code, the missing pair, and the unused HHI formula are still visible. A bounded CLI table is more useful than an unsupported conflict claim.

WZ

William Zhu · Cofounder, InfiniSynapse · GitHub @allwefantasy

Desk-validated SEO Health methods. Corrections: zhuhl@infinisynapse.com · corrections policy.

Cannibalization Dashboard: Search Console Shares