CanonicalTag.com logo, a canonical tag referenceCanonicalTag.comThe canonical tag, explained
rel=canonical, explained

The canonical tag, explained for the people who have to fix it

A canonical tag is one line in a page's head that names the URL you want search engines to index when the same content answers at several addresses. This reference explains what that hint does, why Google sometimes overrules it, and how to set it correctly on the platform you actually run.

Most searched

Start where the questions are


The Search Console statuses, setup questions and duplicate-URL problems people bring here most.

Why every site has duplicate URLs

Duplicates are a byproduct of how the web works. The same article answers over HTTP and HTTPS, with and without www, with and without a trailing slash, and with whatever tracking parameters a campaign appends. Stores multiply the count: every sort order, filter and color choice mints a new address for the same page. None of these URLs is wrong on its own. The cost is dilution: links and signals spread across addresses a search engine then has to reconcile.

That reconciliation is canonicalization. Google groups duplicates into a cluster, weighs the signals attached to each member, and selects one URL to show and to credit with the cluster's links. Your tag, written as <link rel="canonical" href="..."> inside the head, is your nomination for that job. Redirects, sitemap entries, internal links and HTTPS all feed the same decision, and the outcome is only as clear as their agreement.

A strong hint, never a command

Google's documentation rates rel="canonical" as a strong signal, in the same class as a permanent redirect, and rates sitemap inclusion as a weak one. Strong is not binding. When your signals disagree, or the URL you nominated is a poorer version of the page, Google selects a different one and reports the override in Search Console. That is why most problems here are contradictions: a tag pointing one way while redirects, internal links or a noindex rule point another. The fix is to make the signals agree, not to repeat the tag.

The same logic explains why a self-referencing canonical, a tag on each page naming its own clean URL, is recommended rather than required. Google says a site without any declared canonical preference will likely do fine. Its value is defensive: it settles the question before a stray parameter, a capitalized path or a host variant raises it, and gives any audit a baseline.

Three ways into the reference

Alternate page with proper canonical tag is the Search Console status people meet most, and it usually means the tag is working exactly as written. The Page indexing report files it among reasons pages are not indexed, which alarms people more than it should. Duplicate without user-selected canonical means Google found duplicates and nobody stated a preference, so Google picked a representative on its own; when that pick matches yours, nothing needs fixing. The status most worth a closer look is Duplicate, Google chose different canonical than user: you did declare a preference, and Google weighed the evidence differently.

The second way in starts with the URL, since many duplicates are created at the server before any tag is read. A canonical domain decision, one host on HTTPS, is enforced with redirects rather than tags, while campaign and filter addresses have to stay reachable and therefore need a canonical instead. Conflicts belong on this path too. A page carrying a canonical and a noindex rule asks Google to consolidate it and drop it at once. A theme and a plugin printing multiple canonical tags may lead Google to discard every one.

The third way in is the platform. WordPress writes a canonical on single posts and pages but leaves archive pages, the home page and taxonomy pages without any canonical at all, and those gaps are exactly what a WordPress SEO plugin exists to close. One widely used example, Yoast SEO, adds a self-referencing tag to essentially every indexable page type and removes the core tag, so each page ends up with exactly one.

Hosted systems vary more than people expect. Shopify generates canonicals automatically and folds product URLs reached through a collection into the plain product URL, so most stores never need to touch the setting. Site builders are far less uniform, and a few do nothing at all by default: Webflow writes no tag until a global canonical URL is entered in its site settings. Every platform page says what the system does by default, where the override lives, and what tends to break after an update.

Topic hubs and free tools

The longer guides sit under three hubs. Canonical Tag Fundamentals covers what the tag is, what a canonical URL means, how canonicalization works and the exact syntax. Implementing Canonical Tags covers adding the tag, checking it, and the mistakes that quietly undo it. Duplicate Content and Indexing Signals covers the neighboring controls, from redirects and robots directives to hreflang and keyword cannibalization, each explained through its interaction with the canonical. Alongside the guides, five free tools answer narrower questions:

None of them can report the URL Google selected. That answer lives only in the indexed result of the URL Inspection tool. Declared is not the same as selected: View Source or a checker shows what a site says about itself; Search Console shows what Google decided after weighing everything. Most canonical work is closing the distance between those two answers.

The whole reference

18 issue pages and 21 platform guides


Google Search Console Statuses

5 pages

The canonical states you see in the GSC Page indexing report, what each one means, and how to respond.

Duplicate Without User-Selected CanonicalAlternate Page With Proper Canonical TagGoogle Chose a Different CanonicalSubmitted URL Not Selected as CanonicalUser-Declared vs Google-Selected

Conflicts & Edge Cases

6 pages

How the canonical tag interacts with noindex, pagination, hreflang, redirects, and other signals.

Self-Referencing CanonicalsCanonical and NoindexCanonicals and PaginationCross-Domain CanonicalsMultiple Canonical TagsCanonical to a Bad Target

CMS & Website Platforms

13 pages

Setting and controlling the canonical tag in the major content management systems, site builders, and SEO plugins.

WordPressYoast SEOWixSquarespaceWebflowRank MathAll in One SEODrupalJoomlaGhostHubSpot CMSBloggerFramer

Ecommerce Platforms

4 pages

Canonical tags on hosted and self-hosted ecommerce platforms, where product and category URLs multiply.

ShopifyMagento / Adobe CommerceWooCommerceBigCommerce

URL Variants & Duplicate URLs

7 pages

Where duplicate URLs come from in the first place: host and protocol variants, redirects, parameters, product variants, AMP and mobile URLs, and non-HTML files.

Canonical RedirectsCanonical DomainNon-Canonical URLsCanonical HTTP HeaderURL ParametersProduct VariantsAMP and Mobile URLs

Code & JavaScript Frameworks

4 pages

Emitting canonical tags from your own code: plain PHP, Next.js, React, Nuxt, and other frameworks where nothing is automatic.

Next.jsReactPHPNuxt

Check a live page

The free canonical tag checker fetches any public URL and reports its canonical, redirects and robots directives.

Top