← ClaudeAtlas

canonical-duplicate-contentlisted

Resolve duplicate and near-duplicate URLs with the right tool — canonical tags, redirects, noindex, parameter handling or consolidation. Use whenever the user mentions canonical tags, rel=canonical, duplicate content, duplicate pages, "Google chose a different canonical", URL parameters, UTM parameters, trailing slashes, www versus non-www, pagination, print versions, syndicated content, or Search Console reporting "Alternate page with proper canonical" or "Duplicate without user-selected canonical".
keupera/seo-skills · ★ 0 · AI & Automation · score 72
Install: claude install-skill keupera/seo-skills
# Canonicals and Duplicate Content There's no duplicate content penalty. There's a much more mundane problem: Google picks one URL from a set to index, and if you haven't told it which, it picks for you, sometimes wrong, and the ranking signals split across the set in the meantime. Canonicals are a hint, not a directive. Google overrides them regularly, and when it does, that's information: it disagrees with your declaration for a reason you can usually find. ## Pick the right tool Choosing the wrong mechanism is the actual source of most problems here. | Situation | Tool | Not this | |---|---|---| | Same content, multiple URLs, all should stay reachable | `rel=canonical` | Redirect (breaks the use case) | | Same content, only one URL should exist | 301 redirect | Canonical (leaves both live) | | Page useful to users, worthless in search | `noindex, follow` | robots.txt disallow | | Infinite or worthless URL space | robots.txt disallow | noindex (can't be read if blocked) | | Several thin pages competing for one topic | Consolidate and 301 | Canonical between different content | | Content syndicated to another site | Cross-domain canonical, or ask for a link | Nothing | The most consequential confusion is between `noindex` and robots.txt. **Blocking a URL in robots.txt prevents Google reading it, which means it can't see your `noindex` or your canonical.** An already-indexed page blocked in robots.txt stays indexed indefinitely with no snippet. To remove a page: allow t