Duplicate content and keyword cannibalization are SEO issues that rarely show up as a single broken page. They split one topic across several URLs. Google then hesitates over which URL should rank, and an AI system may cite a weaker copy — or skip the brand because the facts do not agree.
This guide is the follow-up to common SEO and GEO issues that hurt rankings. Use that page for the wider audit, and the indexing and crawl guide when the URL is missing from the index. Use this one when the site is indexed, but the wrong URL ranks, rankings bounce between pages, or ChatGPT, Perplexity, and Google AI Overviews quote an outdated or parameterised version of your content.
What counts as duplicate content
Duplicate content means the same, or nearly the same, text is available at more than one URL. Search engines may index both, fold them together, or keep the one you did not intend to rank.
Exact duplicates are usually technical SEO issues:
- HTTP and HTTPS, or www and non-www, both returning 200
- Trailing-slash and non-trailing-slash variants
- Parameter URLs from tracking, filters, or print views (
?utm_source=,?sort=,?lang=) - Staging, tag, or attachment URLs left open to crawlers
- The same article published on the site and copied unchanged onto a partner blog
Near-duplicates are a content problem. City doorway pages that swap only the place name, product pages that repeat the manufacturer description, and blog posts that restate an older guide with a new title all compete. Google’s help documentation treats this as a ranking and canonical-selection problem, not a penalty you can “fix” with a tag alone.
A bilingual Hong Kong site is not duplicate content when the English and Traditional Chinese pages are real translations that reference each other with hreflang. It becomes a duplicate-content issue when both languages share one title and description, or when one language is a thin machine translation of the other.
Keyword cannibalization
Keyword cannibalization happens when two or more of your own URLs target the same query. Impressions split. Rankings jump from one URL to the other week to week. Neither page collects enough relevance to hold a stable position.
Typical patterns:
- A service page, a blog post, and a glossary entry all titled around “SEO issues” or “GEO Hong Kong”
- A new article written because the old one “was not ranking,” without redirecting or updating the old URL
- Category archives that rank instead of the article you built to answer the query
- English and Chinese URLs competing in the same language index because hreflang is missing or not reciprocal
Cannibalization is not the same as a topic cluster. A hub page plus separate articles for distinct questions — what GEO is, how AI search ranking works, how to compare providers — should not be merged. Merge or differentiate only where the search intent is the same.
Why these SEO issues become GEO issues
Generative engine optimization depends on retrieval of a specific passage. Duplicate content and cannibalization make that retrieval unreliable.
- The wrong URL gets cited. A model that fetches the live web can land on a parameter URL, an old syndicated copy, or a tag archive. The citation then points somewhere you do not control, or somewhere with a weaker title.
- Facts conflict. Two near-duplicate pages with different prices, dates, or addresses lower confidence. AI answers tend to prefer a competitor page whose facts appear once and match public profiles.
- No page is the best passage. If three URLs each explain half of the topic, none of them is the clearest source. Content formats AI platforms cite only help after one URL owns the explanation.
- Language mixes. A Traditional Chinese prompt may retrieve the English page, or the reverse, when hreflang and on-page language do not agree. The answer looks off, and the brand looks less local.
Fixing GEO issues in this category is mostly an SEO cleanup: one preferred URL per intent and language, with the other URLs consolidated.
Canonical tags, redirects, and hreflang
Three signals tell Google — and anything else that respects HTML hints — which URL is the source of truth.
301 redirects are for exact duplicates you do not need to keep. Point HTTP to HTTPS, non-www to www (this site’s production host is www), and retired articles to the page that replaced them. Redirect chains belong in the same cleanup; each extra hop makes the preferred URL less obvious.
Canonical tags are for URLs that must remain reachable but should not compete. A self-referencing canonical on the preferred URL, and a canonical on the duplicate pointing at that preferred URL, is the usual pattern. Do not canonical an English page to its Chinese counterpart, or the reverse, if both should rank in their own language. That erases one language from search.
Hreflang connects translations. Each language URL should list itself and the other language, and the return tags must match. A one-way hreflang annotation is a common SEO issue on bilingual Hong Kong sites: the English page references Chinese, but the Chinese page does not reference English, so Google may ignore the pair. Hreflang does not replace a canonical. Each language still needs a canonical to its own URL. Missing return tags, wrong codes, and clusters that point at a redirect are covered in the hreflang errors guide.
After a cleanup, confirm in Google Search Console that the indexed URL matches the one you linked internally. Internal links should use that canonical URL, not a redirected alias.
How to find cannibalization and duplicates
Work from queries, not from a page-by-page feeling that “this looks similar.”
- In Search Console, open a query that matters and list every URL that earned impressions. Two or more URLs on the same query is the cannibalization signal.
- Search
site:yourdomain.com "distinct phrase"for sentences that appear more than once. - Export titles. Duplicate titles and near-identical H1s are the fastest on-page SEO issues to spot.
- Crawl canonicals. Flag URLs whose canonical points at a redirected, non-200, or different-language URL.
- Check hreflang reciprocity for every English and Traditional Chinese pair.
- Ask the same prompt in Google AI Overviews, Perplexity, and ChatGPT. Note the URL in the citation, not only whether the brand name appears. A citation to the wrong URL is a GEO issue even when the brand is mentioned.
For local facts that disagree across listings, use the checks in local SEO and GEO for Hong Kong. Listing mismatches are a related entity problem, not a duplicate-URL problem.
What to merge, redirect, or rewrite
| Situation | Preferred fix |
|---|---|
| Exact URL variants (protocol, host, slash, parameters) | 301 to one canonical URL, and block or canonical the parameters |
| Old article replaced by a new guide | 301 the old URL; do not leave both live |
| Two live articles with the same intent | Merge the stronger evidence into one URL, redirect the other |
| Same intent, but different searchers (definition vs. checklist) | Rewrite titles and openings so each query is unambiguous |
| English and Traditional Chinese pairs | Keep both, with reciprocal hreflang and unique titles |
| Syndicated copy on another site | Ask for a canonical back to you, or add a clearly original section on your URL |
| Tag, search, or calendar archives ranking | Noindex the archives, or stop linking to them as if they were articles |
Do not add a new page to “target the keyword harder” while the older page is still indexed for that query. That is how cannibalization starts.
A fix order that protects AI citations
- Choose one primary URL per intent, per language. Write that choice down before changing tags.
- Redirect exact duplicates and retired URLs with 301s.
- Set self-referencing canonicals on the URLs you want indexed.
- Merge near-duplicates that answer the same question. Keep the URL with the impressions, or the URL already cited in AI answers, unless it is the worse page — then redirect it after the better page is live.
- Give each survivor a single title, a single H1, and an opening paragraph that answers the query. That is the passage you want models to lift.
- Add reciprocal hreflang on bilingual pairs. Keep canonicals language-specific.
- Update internal links, the sitemap, and any ads or email URLs that still point at the old address.
- Re-test the prompts from step 6 of the audit after Google has recrawled. How to rank in AI search covers what to look for in each product.
Publishing another article does not repair a canonical that points at the wrong host, or two titles fighting for one query.
Questions teams ask
Is duplicate content a Google penalty?
Google usually filters duplicates rather than penalising the whole site. The practical SEO ranking problem is that the wrong URL ranks, or the pages are so similar that none of them is a strong result. A penalty is more likely if the duplicates are doorway pages built only to capture queries.
What is keyword cannibalization?
It is self-competition: multiple URLs on your site are eligible for the same query, so rankings and clicks are divided. The fix is one URL per intent, not more mentions of the keyword.
Can canonical tags solve GEO issues?
They solve the cases where a duplicate URL is being retrieved instead of the page you maintain. They do not make a thin page quotable. After the canonical is correct, the preferred page still needs a clear answer, stable facts, and an author — the same signals described in the broader SEO and GEO issues guide.
Should English and Chinese pages be canonicalised to one URL?
No, when both are genuine translations aimed at different queries. Canonicalise only the technical duplicates inside each language. Connect the languages with hreflang. Canonicalising Chinese to English, or the reverse, drops one language from results and often from AI answers in that language.
Why does AI cite an old URL after we published a new one?
The old URL is still live, still internally linked, or still the page with the clearer paragraph. Models and search engines both prefer the URL that already looks canonical. Redirect it, or update it in place, instead of launching a third version.
What to do this month
- Pick ten queries that should bring rankings or AI citations.
- List every URL on your site with impressions for those queries.
- Redirect or merge any set that shares the same intent.
- Correct canonicals and reciprocal hreflang on the URLs you keep.
- Check AI citations again and confirm they point at those URLs.
Duplicate content and keyword cannibalization are fixable SEO issues. Until they are fixed, GEO work tends to amplify the wrong page: the model cites whatever copy it can reach, not the page you hoped would represent the brand.