How to Fix Keyword Cannibalization
You fix keyword cannibalization by picking one winning page per keyword and merging, canonicalizing, or retargeting every page that competes with it. Google splits links, clicks, and relevance across the twins, so neither ranks as well as one page would. Most stores fix the whole list in a weekend of decisions.
Short answer: find every keyword where two of your URLs rank, pick the page with the better history and conversion path, 301 the same-intent losers into it, canonicalize the near-duplicates, and retarget the pages that have a real second intent.
What You Need
- Access to Google Search Console for the store.
- A spreadsheet with four columns: keyword, URLs, winner, fix.
- The Shopify admin, for redirects under Content > Menus and the search engine listing on each page.
- A backlink checker with a free tier, to see which twin has the links.
Step 1: Find Every Query Your Pages Are Splitting
You find keyword cannibalization in Search Console first, since it shows you the exact queries where two of your URLs are taking impressions from each other. Open the Performance report, click a query that matters, and switch the table to Pages. One query, two or more URLs, and mediocre positions across all of them is the signature.
In Search Console
The fastest pass is the queries that are already close to paying. Google’s Performance report documentation notes that the chart’s position is the topmost result from your whole site while the table’s position is per URL, so a query that shows position 8 in the chart and positions 11 and 14 in the table is two pages trading places. The page-two keywords in your Search Console quick wins are where to start, since a keyword stuck at position 11 across two URLs is often a position 5 keyword on one.
Also export the full Queries table once and sort by impressions. Any query with 50 or more impressions a month is worth a Pages check, and the export caps at 1,000 rows, so filter to the folder or collection you are cleaning up before you download.
With a site: Search
A site: search is the second check, and it shows you which pages Google treats as candidates. Google’s search operators help says to put site: in front of a domain to limit results to it, so search site:yourstore.com plus the keyword. The pages Google returns first are the ones it considers for the query, and four near-identical blog posts in that list tells you exactly what happened over the years.
Step 2: Write Down Every Pair Before You Touch Anything
You write down every cannibal pair before fixing one, since fixing them one at a time is how a page gets merged into B on Monday and B gets merged into C on Thursday. The spreadsheet is the whole plan. Fill the keyword and URL columns for every pair in Step 1, and leave the winner and fix columns empty until Step 3.
| Keyword | URLs competing | Monthly impressions | Positions |
|---|---|---|---|
| best sunscreen for oily skin | /blogs/news/oily-skin-sunscreen, /collections/oily-skin-sunscreen | 1,400 | 11 and 14 |
| mineral sunscreen | /collections/mineral-sunscreen, /collections/all/mineral | 900 | 9 and 22 |
| heated vest battery life | /blogs/news/battery-life, /blogs/news/how-long-do-heated-vests-last | 300 | 13 and 17 |
From there, you can see patterns the single pairs hide. A tag page competing with every collection is one fix, not twenty. Three blog posts on one question are a merge, not three rewrites.
Step 3: Pick the Winner for Each Keyword
You pick the winner by history, links, and conversion path, in that order, and the winner is usually the page that has ranked longer and sells something. Check the backlink checker for which twin has referring domains. Check Search Console for which one has the longer click history. Then ask which page a shopper would rather land on.
For a buying keyword, the collection wins over the blog post almost every time, even when the post has more words. The post can keep its traffic on an informational angle, and the collection takes the commercial query. That split is what the ceiling on how many keywords one page can target is really about: one page per keyword, one keyword set per page.
When the Blog Post Wins
The blog post wins when the keyword is a question, since Google shows articles for “how long does a heated vest battery last” and collections for “heated vest.” Check the live results for the keyword before you decide. If page one is all guides and the collection is the one sitting at position 14, the collection is the cannibal, and the fix is to retarget it to the buying phrase and let the post keep the question.
The same read settles the post-versus-product-page pairs. A product page that chases “best sunscreen for oily skin” will lose to the buying guides that rank for it, so the product page takes “oily skin sunscreen SPF 50” or the product name, and the guide links to it in the first half of the post.
Just know that the winner is sometimes neither page. Two thin posts that split a query can lose to a third, new page that answers it properly, with both old URLs redirected into it.
Step 4: Merge and Redirect Same-Intent Pages
You merge and redirect when two pages serve the same intent, which is the fix for most blog-on-blog cannibals. Fold the weaker page’s useful content into the winner, then point the weaker URL at it with a permanent redirect. Google’s canonicalization guide explains that consolidation “helps search engines to be able to consolidate the signals they have for the individual URLs” into one, and it lists redirects as a strong signal for which URL becomes canonical.
The redirect has to be permanent. Google’s redirect documentation says the indexing pipeline uses a permanent redirect as a signal that the target should be canonical, and that a temporary redirect carries no such signal. A 302 leaves the old page in the index, which puts you back where you started.
On Shopify
On Shopify, the redirect only works once the old page is gone, which trips up almost everyone the first time. Shopify’s URL redirect help says you can redirect only from broken URLs, so delete or hide the losing post or collection first, then add the redirect under Content > Menus > View URL redirects. A standard store can hold 100,000 redirects, so there is no reason to skip one.
Also move the internal links. Every menu item, blog link, and collection description that pointed at the loser should point at the winner now, since a redirect moves the old authority while the internal links tell Google the new structure. A merge with clean redirects and a menu still full of old links confuses Google for months.
Step 5: Canonicalize or Differentiate the Rest
You canonicalize the pairs that must both exist and differentiate the pairs that only look like rivals, and those two fixes cover everything a redirect cannot. Filtered collection variants, size and color pages, and print-friendly versions need to stay live for shoppers, so a canonical tag on each one points Google at the main page without removing anything.
Differentiation is the fix when a real second intent exists. Two pages can share a topic if one answers the question and the other sells the product, since those are different searches under the surface. Retarget the losing page to the second query, rewrite its title, H1, and first paragraph to match, and reading search intent correctly is what separates a clean split from a relabeled cannibal.
The warning is that differentiation only works when the second intent is real. Two product pages for the same product in two colors do not have different intents, and neither do two blog posts that answer one question from two angles. Those are merges wearing a disguise.
Step 6: Fix the Shopify Cannibals Your Theme Created
You fix the Shopify-specific cannibals by cleaning up tag pages, nested product URLs, and duplicate collections, since Shopify creates all three without you writing a word. These are the pairs most stores never notice, and they can outnumber the content cannibals ten to one.
Tag pages come first. Every product tag can render at /collections/all/tag-name on many themes, and Shopify’s own tags help says “tags aren’t used by search engines, so don’t use tags to try to improve search results.” A tag page that outranks the real collection is a cannibal with no copy, and whether Shopify product tags help or hurt SEO comes down to keeping those pages out of the index.
Nested product URLs are the second. Shopify renders every product at /products/handle and at /collections/name/products/handle, and when the theme links the nested version from the collection grid, your internal links vote against the canonical tag. That is the most common Shopify canonical URL problem, and the fix is one line in the theme: link products with their plain product URL.
Duplicate collections are the third. An automated collection for “sale” and a manual one for “clearance” with the same products and the same title are two pages chasing one query. Pick one, hide the other, redirect it, and move on.
Step 7: Wait Six to Eight Weeks, Then Measure
You wait six to eight weeks before judging any cannibalization fix, since Google has to recrawl both URLs, drop one, and re-rank the survivor. A dip in week two is the normal shape of that process, not proof the merge failed. Write the winner’s position down on the day you fix it and check it again at week eight.
The payoff for getting it right is measurable. Backlinko’s CTR research found the #1 result takes 27.6% of clicks and the top three take 54.4%, while position 10 gets a tenth of what position 1 gets. Merging two page-two cannibals into one page-one result is not a tidiness win. It is a traffic multiple.
Measure in the table, not the chart. The chart’s position is the best URL from your whole site, so it can look unchanged while the two pages swap places underneath it. The table row for the winner is the number that should climb, and the loser’s row should disappear from the query within a few weeks of the redirect.
Keep a record of each fix as it lands. Consolidations that worked show up plainly in the before-and-after positions, and the record makes the case for finishing the rest of the list instead of stopping at the first three.
Step 8: Keep It From Coming Back
You keep cannibalization from coming back with a keyword map, which is a plain list pairing one keyword with one URL for everything you target. Before anything new gets written or built, the keyword gets checked against the map. Thirty seconds of lookup prevents the whole disease.
Planning content in topic clusters makes the map nearly automatic, since a cluster is by definition a set of questions with no overlaps, each owning its page. Scattered publishing off a keyword list with no clusters is where cannibals come from, and planned coverage is where they stop. The same map is the first thing I build when a store wants to build topical authority on a subject, and it is where my Shopify SEO services start on every new engagement.
One keyword, one URL, written down, checked before every new page. That rule is worth more than the whole cleanup.
What to Do If It Doesn’t Work
The Winner Dropped After the Merge
The winner dropping after a merge usually means the redirect went the wrong way or the internal links still point at the old URL. Check that the old URL returns a 301 to the winner in an incognito window, then search Search Console’s Links report for pages still linking to the loser. If both are clean at week eight and the position is still down, the merged content lost the part of the loser that was ranking, so put it back.
Google Keeps Ranking the Page You Did Not Pick
Google ranking the loser means Google disagrees with your winner, and Google usually has a reason. Look at which page has the referring domains and the longer history, and if the loser has both, swap the direction of the merge. A canonical tag is a hint Google can ignore, while a redirect is a decision it follows, so a stubborn pair is a case for the redirect.
Your Weekend Cannibalization Checklist
- Open the Search Console Performance report, click a query that matters, and check its Pages tab.
- Run a site:yourstore.com search plus the keyword to see which pages Google treats as candidates.
- Write down every pair in a spreadsheet before fixing anything.
- Pick the winner per keyword by history, links, and conversion path, with collections winning buying keywords.
- Delete or hide the loser, then 301 redirect it, since Shopify only redirects broken URLs.
- Canonicalize near-duplicates and retarget pages with a real second intent.
- Clean up tag pages, nested product URLs, and duplicate collections.
- Wait six to eight weeks, then compare the winner’s position to the day you fixed it.
Want Your Cannibals Found and Sorted?
Fixing keyword cannibalization is choosing winners: one page per keyword, losers merged, canonicalized, or retargeted, and a keyword map so it never regrows. Few SEO fixes return more for less effort, since the strength already exists on your site. It is just split.
If you want the audit done for you, book a call. I will pull your Search Console, list every keyword your pages are splitting, and hand you the winner-by-winner fix plan your developer can run in a day. For anything bigger than a one-call fix, my Shopify SEO services are built for it.
