Nodea — logo

Canonical tag

The canonical tag (technically the <link rel="canonical"> element) is an HTML tag placed in the <head> that tells search engines which URL is the preferred — canonical — version among several pages with identical or very similar content. It lets the search engine know which version to index and which one to assign the accumulated link authority to, instead of spreading it across duplicates.

How the canonical tag works

The tag contains an href attribute with the full, preferred URL of the page. It is placed on every variant of a given piece of content, all pointing to the same canonical version. A page can point to itself as canonical (a self-referencing canonical), which is a recommended best practice. A canonical is a strong hint to the search engine but not an absolute command — Google may ignore it if other signals (such as the sitemap or internal links) point elsewhere. That is why all signals should be consistent.

Practical application

The canonical tag most often solves the problem of duplicate content generated by different URLs leading to the same page: sorting and filter parameters in stores, session IDs in URLs, versions with and without a trailing slash, product variants across categories, and pages available under both HTTP and HTTPS. Canonicalization concentrates authority on one address and stops duplicates from competing in the SERP.

Canonical is used where both versions should remain accessible to users — unlike a 301 redirect, which permanently moves traffic. In pagination, language versions or syndicated content, the canonical works together with other mechanisms such as the hreflang attribute or meta robots directives. Implemented correctly, it is one of the pillars of managing indexation on large sites, especially e-commerce stores.

Powiązane pojęcia

Najczęstsze pytania

How is a canonical tag different from a 301 redirect?

A 301 redirect physically moves both the user and the crawler from one URL to another — the old page stops being accessible. A canonical tag leaves both versions working for users and merely suggests to the search engine which one to index and assign authority to. A canonical is a hint, while a 301 is a hard directive.