·content SEO / keyword cannibalization / content consolidation / landing revenue / e-commerce analytics

Keyword Cannibalization: Decide What to Keep by Revenue

When two of your own pages fight over the same keyword, most tools tell you to keep the higher-ranking one. But decide by rank alone and you can delete a page that ranks lower yet carries the revenue. In our sample store, a page ranking 2.6 earned zero landing revenue while a page ranking 32 earned over ¥120,000. Here's how to resolve cannibalization by landing revenue instead of rank.

Keyword Cannibalization: Decide What to Keep by Revenue

"Two of my own pages are fighting over the same search result." Have you spotted that and thought about merging one into the other? At this point most tools look at rank, backlinks, and authority, and tell you "keep the higher-ranking one." But decide what to keep by rank alone and you can wipe out a page that ranks lower yet carries the revenue. This article lays out how to resolve your own pages fighting each other (keyword cannibalization) by "landing revenue" rather than rank, using real data from a sample store.

TL;DR#

  • When two of your pages fight over the same keyword, the search engine hesitates over which to rank, and both can stall short of the top.
  • The common fix is "keep the higher-ranking one." But rank says nothing about how much revenue a page actually carries.
  • In our sample store, a page ranking 2.6 earned zero landing revenue while a page ranking 32 earned over ¥120,000 — a clean reversal.
  • So decide what to merge by rank and by "the landing revenue that starts on that page." That way you don't accidentally delete a page that ranks low but leads on revenue.

1. Why your own pages fight over the same keyword#

Bottom line: keyword cannibalization is a state where several of your own pages compete for one search keyword and split the search real estate between them.

When you build a blog post and a product page — or several similar product pages — around the same theme, they all try to surface for the same keyword. The search engine wants to settle on one "best page on this site for this term," so when there are multiple candidates, its evaluation gets split. As a result, every page stalls at a middling rank, or the wrong one shows up.

The symptoms look like this:

  • The page shown for a keyword swaps from day to day
  • Every page stops just short of the first page and never breaks through
  • A newly built page drags down the rank of an existing strong page

When you notice this in-fighting, most people think "let me merge one into the other and consolidate the signal into one page." The idea of consolidating is right in itself — Google also recommends picking one canonical URL to consolidate duplicate content [1]. That said, consolidating and deleting are separate calls; when to delete an old article is covered in Three conditions for deleting old content. The cannibalization problem isn't about deletion — it's about how you decide which page to keep.

2. Decide by rank and you can delete the page that carries revenue#

Bottom line: decide what to keep by rank or authority alone and you risk deleting a page that ranks lower yet carries the revenue.

Quadrant chart placing pages on two axes, search rank and landing revenue. The ceramic mug set (rank 2.6, ¥0 landing revenue) is highlighted in coral in the "high rank but thin revenue" quadrant, while the bamboo toothbrush set (rank 27, ¥109,734) and linen care post (rank 32, ¥122,783) are highlighted in teal in the "low rank yet drives revenue" quadrant

Most tools that claim to fix cannibalization (Search Console or rank trackers) look at search rank, backlinks, and authority and tell you "keep the stronger one." Each of those measures how you look in search. But how much revenue a page ultimately carries isn't in any of them.

Look at the sample store's data and rank and revenue move completely independently. The ceramic mug page ranks 2.6 — a strong position — and it picks up clicks. Yet the landing revenue that starts on that page (revenue that begins with a visitor entering there and ends in a purchase) is ¥0. Meanwhile, the bamboo toothbrush page ranks 27 and the "how to care for linen" post ranks 32 — near the bottom — with almost no clicks from Google search. Even so, their landing revenue is ¥109,734 for the toothbrush and ¥122,783 for the linen post. The linen post's revenue even includes ¥39,892 that came via AI.

Two reversals are happening here. There's a page that ranks high but earns zero, and a page that ranks near the bottom but leads on revenue. Had you decided "what to keep" by rank alone, you might have kept the top-ranking ceramic mug and deleted the bottom-ranking linen post. But the page actually carrying revenue was the one you were about to cut. The thinking for not accidentally breaking a revenue-carrying page — during a cannibalization merge, but also during any rewrite or cleanup — is laid out in Conditions for a rewrite that doesn't break your winning pages.

What a rank tool shows you is only "how high in search," never "how much revenue this page carries."

3. Look at landing revenue and the "page to keep" flips#

Bottom line: look at two pages competing on the same keyword through landing revenue, and you can find you should keep the opposite page from the one rank picked.

Horizontal bar chart comparing landing revenue for two pages competing on "organic cotton." The blog organic cotton guide (rank 3.0) earns ¥36,073, while the product page organic cotton T-shirt (rank 4.3-5.5), highlighted in amber, earns ¥458,683 — roughly 13 times more

The sample store has two pages competing on the same theme, "organic cotton." One is the blog's "organic cotton guide," ranking 3.0. The other is the "organic cotton T-shirt" product page, ranking 4.3-5.5. Look at rank alone and the blog sits higher. Resolve cannibalization by rank and the call becomes "keep the higher-ranking blog and merge the product page into it."

But look at landing revenue and the picture flips. The blog's landing revenue is ¥36,073. The product page's landing revenue, across two search queries combined, is ¥458,683. The blog ranks higher, yet the product page carries roughly 13 times the revenue. Had you merged the product page into the blog on the strength of rank, you'd have weakened your single biggest revenue-carrying page with your own hands.

You might wonder how a blog post earns revenue at all — the guide itself doesn't sell anything. When a reader enters the site on that post and buys a product elsewhere during the same visit, that purchase is credited back to the post they entered on. Why does the split happen at all? The blog gathers readers at the "what even is organic cotton?" stage. They came to learn, so they don't buy on the spot. The product page, meanwhile, is where readers "looking for something to buy" land, and it leads straight into a purchase. Even on the same keyword, when the pages catch readers with different intent, the revenue they carry differs enormously. So it makes sense to decide what to merge into by "which one carries the revenue," not by rank. Deciding which pages to work on first by revenue — beyond cannibalization, across any set of articles — is covered in Setting rewrite priority by revenue.

RevenueScope helps

By now it's clear you should decide the merge target by landing revenue, not rank. What's left is how to get that landing revenue in front of you. Try to do it yourself and you hit a wall. Landing revenue has to be produced per page, but GA4's pageviews don't have "the revenue that started on this page" attached to them. On top of that, a purchase happens after a visitor wanders across pages, so you have to decide which page counts as the entry point (attribution) and re-aggregate it yourself. Lining this up by hand, page by page and keyword by keyword, every time, is heavy going.

Flow chart for deciding a merge target. From "two pages compete on one keyword," a branch asks "decide what to keep by what?" Choosing "rank only" leads to "judged by rank alone, risk of cutting the revenue page" (coral); choosing "rank + landing revenue" leads to "judged by rank + landing revenue, keep the one earning" (teal) and on to "merge the weaker / split by search intent"

RevenueScope takes that aggregation off your hands. get_content_actions lines up every content page by landing revenue (attributed to the entry page a visit started on — the page that brought the visitor in — all channels, bots excluded) from high to low, and puts search rank right beside it on the same screen. You can tell apart "a page that ranks high but earns thin" from "a page that ranks low yet carries revenue," all in one view (figures shown are demo data). When you're stuck on a cannibalization call, you can choose what to keep by landing revenue instead of gut feel.

"How to care for linen" in the table below works the same way as the organic cotton guide above — the post itself sells nothing, but revenue from a purchase made elsewhere during that same visit gets credited back to it as the entry point.

PageAvg. positionLanding revenue (90d)
Organic cotton t-shirt (product)4.3-5.5¥458,683
How to care for linen (blog)32¥122,783
Bamboo toothbrush set (product)27¥109,734
Organic cotton guide (blog)3.0¥36,073
Ceramic mug set (product)2.6¥0

Actual output from the sample store (a fictional site with sample data)

The thing to read in this table is that the order by rank and the order by landing revenue don't match at all. The mug ranking 2.6 earns ¥0; the linen post ranking 32 earns ¥122,783. Had you decided the merge target by rank alone, you might have deleted a top-tier revenue page. With landing revenue in view, you can make the call "this page ranks low, but we keep it."

One thing to be clear about. What RevenueScope gives you is the landing revenue that starts on a page. Because landing revenue is attributed to the entry page, purchases made after wandering are counted toward that entry page rather than the product page where the purchase actually happened. It does not produce per-page conversion rate (CVR). Search rank covers Google search only and lags by two to three days. It doesn't calculate gross margin or inventory. What RevenueScope takes over is lining up rank and landing revenue on the same screen so you can pick "the one to keep" more easily. Which page you merge into is up to you.

FAQ#

Frequently asked questions#

Q. Can't I just keep the higher-ranking page in a cannibalization case?

A. Rank is one clue, but decide by it alone and you're on thin ice. In the sample store, a page ranking 2.6 earned ¥0 in landing revenue while a page ranking 32 earned over ¥120,000 — a reversal. There are pages that rank high but earn nothing, and pages that rank low but carry revenue. Delete one in a merge and you lose the revenue with it, so it's safer to decide what to keep by looking at "the landing revenue that starts on that page."

Q. What's the difference between landing revenue and per-article conversion rate (CVR)?

A. CVR is the rate — "what share of visits to this page bought." Landing revenue is the amount — "how much ultimately sold with this page as the entry point." Readers often don't buy on the spot from a learning-stage article, so the better the article, the lower its CVR tends to look. When you're deciding a merge target, comparing by the actual revenue amount carried — rather than cutting by rate — makes you less likely to get the call wrong. How CVR and landing revenue diverge is covered in detail in Which to read by, CVR or landing revenue.

Q. Once I decide to merge, how do I actually combine into one?

A. Google lists three ways to specify a canonical URL: redirects, rel="canonical", and the sitemap [1]. Redirects and rel="canonical" carry the most weight. Which page you consolidate toward should match the "one to keep" you decided by landing revenue. The point is to make the revenue-carrying page — not the higher-ranking one — the canonical URL.

Summary#

When two of your own pages fight over the same keyword, the search engine's evaluation splits and neither page breaks through. The idea of merging one into the other to consolidate the signal is right, but the trap is in how you decide which page to keep.

Most tools tell you to "keep the stronger one" by rank or authority. But rank says nothing about how much revenue a page carries. In the sample store, a page ranking 2.6 earned ¥0 in landing revenue while a page ranking 32 earned over ¥120,000 — and a lower-ranking product page carried roughly 13 times the revenue of a higher-ranking blog.

So decide what to merge by rank and by "the landing revenue that starts on that page." That way you don't accidentally delete a page that ranks low but carries revenue. Line up rank and landing revenue on the same screen, and you can choose what to keep by revenue instead of gut feel.

See which ads actually drive revenue, at a glance

Free up to 5,000 sessions/month, AI analyst included. No credit card required. Up and running in 5 minutes.

Ready to analyze yoursite.com

No credit card·Live in 5 minutes

References#