Knowledge Base · SEO

Canonical tag

A canonical tag is a marker in a page’s head telling search engines which version of the content is the main one when the same or very similar content exists at several addresses. An ordinary page usually exists in 4 variants - with and without www, over HTTP and HTTPS - and the canonical stops ranking signals scattering between them.

Why duplicates arise at all

Rarely does anyone create them deliberately. Most often they appear on their own - the same page reachable with and without www, over HTTP and HTTPS, with and without a trailing slash. To a search engine those are four different addresses even though the user sees one page.

Online stores generate them in bulk through filters and sorting. The same product list ordered by price and by name produces two addresses with near-identical content.

A third source is campaign tracking parameters. A link from an ad or a newsletter carries additions to the address that change nothing in the content but create a new address in the search engine’s eyes.

The consequence is always the same: instead of one strong page you have several weak ones competing with each other, and none collects the full signal.

How it is used

The canonical sits in the head and points at the address you consider primary. Every page should carry one, including a page pointing at itself - that is called a self-referencing canonical and is the safest default.

The address in the canonical must be full and absolute, with the protocol and domain. Shortened paths work but are a frequent source of errors when a site moves.

It is important to understand the canonical is a hint, not a command. Google weighs it alongside other signals - internal links, the sitemap and content similarity. If those signals contradict the canonical, it can be disregarded.

The most common mistakes

The most expensive is a canonical pointing from every page to the home page. It happens when the tag is placed in a shared template with a fixed address. The result is Google dropping every sub-page from the index, because it was told they are duplicates of the home page.

The second is a canonical chain - page A points to B, B points to C. Google follows chains, but unreliably. Always point directly at the final address.

The third is a mismatch with other signals: the canonical points one way while the sitemap and internal links point another. The system then chooses for itself, and rarely the way you intended.

The fourth is a canonical on a page simultaneously blocked in robots.txt. If the crawler cannot read the page, it cannot see the tag either.

Canonical and hreflang

On multilingual sites the canonical and hreflang must agree. Each language version carries a canonical pointing at itself, while hreflang lists the other versions.

A common error is the Bosnian and English versions both carrying a canonical pointing at the same address. That erases one version from the index, so the English content never gets a chance to rank in an English-speaking market.

Checking is simple: open the source of each language version and confirm the canonical points at that same address rather than at the translation.

How to check it on your own site

Open the source of a few sub-pages and look for the canonical tag. Compare the URL it names against the address in the browser bar - they must match, including the protocol and any trailing slash.

Then check pages generated with parameters: on-site search results, catalogue filters, links from campaigns. Every such address should carry a canonical pointing at the clean version without parameters.

In Search Console the indexing report has a category for pages excluded because of a canonical. If pages that should be indexed appear there, you have a misconfigured tag and that is a priority fix.

Last updated: 17 August 2026

Need this applied to your own site?

Send the address and we will tell you where you stand - no obligation.

Send an enquiry