SEO

Keyword cannibalization check

Find out whether two or more of your own pages or blog posts cover the same ground and compete for the same keyword, cannibalizing each other and splitting clicks, and whether to merge them, differentiate them or leave them alone.

  • Are two of our pages competing for the same keyword?
  • Should we merge our two SQL tutorials?
  • Find queries where our URLs keep swapping

The playbook

Cannibalization is when two or more of your own URLs rank for the same query. Google picks one, often inconsistently, and neither page performs as well as a single consolidated page would.

Steps

  1. Pull query + page pairs. google_search_console.query with dimensions: ["query", "page"], a 90-day window ending 3 days ago, rowLimit: 1000. A long window matters here, since flip-flopping between URLs only shows up over time.

  2. Group by query. Keep queries returning two or more distinct pages with meaningful impressions (set a floor, e.g. each page above 50 impressions, and state it).

  3. Rank the severity. Worst first:

    • Both pages rank on page one for the same query β†’ clearest, most costly case.
    • Pages alternate across the period, neither stable β†’ classic ambiguity signal.
    • One page dominant, another with trivial impressions β†’ usually benign; don't over-report it.
  4. Classify the intent overlap. Fetch what each competing page primarily ranks for overall. Two pages sharing one query but otherwise serving different query sets is normal overlap, not cannibalization. Only pages whose overall query sets substantially overlap need consolidating.

  5. Report. Per conflict: the query, competing URLs, impressions/clicks/position for each, and a recommendation: consolidate and redirect, differentiate the targeting, or leave alone. Include "leave alone" cases explicitly so the reader knows they were considered.

Gotchas

  • Overlap is not automatically a problem. A category page and a blog post both surfacing for one broad term is often fine. Recommending a merge on thin evidence destroys working pages.
  • Never recommend a redirect without checking the traffic on both URLs. Redirecting the page that actually earns the clicks is a self-inflicted outage.
  • Search Console attributes to the canonical URL. If two URLs share a canonical you'll see one page, not two. Absence of cannibalization here doesn't prove absence in the index.
  • This needs a long window. Over 7 days, normal fluctuation looks like cannibalization.

Install

Install Sequel skills into your agent

Pick your app and Sequel installs itself: a one-click link where the client supports it, that client’s own few steps where it doesn’t. The playbooks come with the server: your agent sees that this playbook exists and reads it when a question matches.

Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex, Grok, Muse, dots and any other MCP app

Already have an MCP client?

https://api.sequel.sh/mcp

Add it as a remote (streamable HTTP) server and sign in when prompted. Skills come with it; nothing else to install. Manual setup per client

Choose your app

  • Claude

    One click, opens in the app

  • Cursor

    One click, opens in the app

  • VS Code

    One click, opens in the app

  • ChatGPT

    Turn on developer mode, then add Sequel. About two minutes.

  • Claude Code

    Run one command, then sign in with /mcp.

  • Codex

    Run one command, then sign in.

  • Gemini CLI

    Run one command, then sign in with /mcp auth.

  • Grok

    Add Sequel as a connector and sign in.

  • Grok Bot

    Paste this to the bot. It registers Sequel and asks you to sign in.

  • Muse

    Muse writes its own connector. One message is the whole setup.

  • dots

    Add Sequel in ChatGPT; your dot picks it up with no extra step.

  • OpenCode

    Add Sequel as a remote server from the OpenCode CLI.

  • Other MCP app

    Any client that speaks remote MCP can connect with this URL.

More like this

Other SEO skills

Analyze high-ranking landing pages

See which pages perform best in organic search: the landing pages that earn the most clicks and impressions, the queries behind each one, and how they compare with competitor estimates from Ahrefs.

Audit internal links to important pages

Audit the site's own internal linking: crawl navigation and body links between the site's pages to find valuable pages with too few inbound internal links, orphan pages, and the handful of cross-links that would lift striking-distance rankings.

Audit or draft an llms.txt

Check whether the site has an llms.txt, whether it follows the spec and points at the pages that matter, and if it is missing draft one from the pages Search Console shows people actually find, so AI assistants get a curated map of the site instead of guessing.

Audit redirect chains and loops

Follow every redirect on the URLs Search Console still sends traffic to, on the sitemap, and on backlinked pages, to find chains, loops, redirects to the homepage, and temporary redirects that should be permanent, so link equity and crawl budget stop leaking.

Audit referring domain quality

Grade the domains linking to a site by authority, traffic and link count, spot concentration risk and link-farm patterns, and separate the referring domains that carry weight from the ones that are noise.

Audit titles and meta descriptions

Compare the title and meta description of each top page against the queries it actually ranks for in Search Console, and find missing, duplicate, truncated or misaligned metadata on the pages where a rewrite would earn the most clicks.

FAQ

Frequently asked questions

What is keyword cannibalization?
When two or more pages on your site rank for the same query, they compete for the same ranking slot. Google must pick one, and it may pick the wrong one or oscillate between them, keeping both below where a single consolidated page would rank. You see it as position instability and split impressions.
How do I identify keyword cannibalization?
Pull Search Console query data with page as a secondary dimension. Queries where more than one page appears in the same report period are candidates. Confirm by checking whether the pages target the same intent: a blog post and a product page ranking for the same query is usually cannibalization; a cluster page and a pillar page may be intentional.
What do I do when two pages cannibalize each other?
Canonical the weaker page to the stronger, or merge them if both have useful content. Update internal links to point to the surviving page. If they serve genuinely different intents, differentiate the content and targeting so Google stops treating them as substitutes.
Does cannibalization always hurt rankings?
Not always. Two pages ranking for the same broad query is sometimes fine if they target different subtopics or stages of the funnel. The signal to act is position instability on a query that matters β€” positions swapping week to week between two URLs is the clearest sign Google is confused.
Can an AI agent detect keyword cannibalization?
Yes. With Search Console connected, the agent pulls query-page data, groups queries with multiple ranking pages, and returns the cannibalized query list with the conflicting URLs. Sequel provides the connection over MCP and includes a keyword-cannibalization-check playbook.

Put this playbook to work

Connect a source, ask the question, and the agent follows these steps. Free to start.