Learn
Canonical Tag Issues: Common Mistakes and Fixes
A practical guide to canonical tag problems: what the tag does, the rules it must follow, why Google sometimes ignores it, and how to debug a bad canonical.
Run a fresh DomainLens audit and use the report as your priority list.
What the canonical tag does
The rel="canonical" tag tells search engines which URL is the master version of a page when the same or very similar content is reachable at more than one address. Google consolidates ranking signals onto the canonical URL and generally indexes that one instead of the duplicates — so it is how you point link equity and crawl attention at the version you want to rank.
It is a hint, not a command. Google usually respects a clear, consistent canonical, but if your other signals disagree with it, Google will pick its own canonical and quietly ignore yours — which is where most canonical problems begin.
The rules a valid canonical must follow
- One canonical per page: a single rel="canonical" in the HTML head (or HTTP header), never several.
- Absolute URL: use the full https://… address, not a relative path.
- Points to an indexable 200 URL: the target must not be redirected, noindexed, or blocked.
- Self-referential by default: a page that should rank should canonicalise to itself.
- Consistent with your other signals: internal links, sitemap, and hreflang should all agree with the canonical.
The most common canonical mistakes
- Canonicalising every paginated page to page 1, which hides the deeper items from indexing.
- Pointing the canonical at a URL that redirects or is noindexed, which invalidates the hint.
- A site-wide canonical accidentally pointing every page at the homepage — a catastrophic template bug.
- Multiple conflicting canonical tags on one page, so Google ignores all of them.
- Canonical that disagrees with the sitemap, internal links, or hreflang, sending mixed signals.
When Google ignores your canonical
Because the canonical is a hint, Google can override it — and the URL Inspection tool will then show a "Google-selected canonical" different from your "user-declared canonical". That mismatch is the clearest sign something is wrong.
It usually happens when your signals contradict the tag: the canonical says URL A, but internal links, the sitemap, or the stronger content all point Google toward URL B. Google trusts the weight of evidence over a single tag, so the fix is to make every signal agree, not to keep re-declaring the canonical.
How to debug a canonical problem
- Run the page through URL Inspection and compare the user-declared and Google-selected canonical.
- View the rendered HTML and confirm there is exactly one canonical, absolute, pointing where you intend.
- Check the canonical target returns 200 and is not redirected or noindexed.
- Confirm internal links, the XML sitemap, and hreflang all reference the same canonical URL.
- If the canonical is set by JavaScript, verify it survives into the rendered DOM the crawler indexes.
How DomainLens checks canonicals
DomainLens reads the rendered canonical and shows its target alongside the page’s status code and indexability, so a canonical that points to a redirect, a noindexed URL, or somewhere unexpected surfaces as a conflict rather than a silent problem.
Read it together with the duplicate-content and indexability checks: the tool tells you where the canonical points; you confirm that is genuinely the URL you want Google to rank and that every other signal agrees.