Canonical tags in practice: the six situations you will meet

A canonical tag tells search engines which address is the real one for a page. In theory it is one line. In practice six situations come up on a product site, and two of them are where people get it wrong. Here is the tag for each, and the check that tells you whether Google agreed.

By , founder of Porteur · Updated 15 September 2026 · Markdown

The default: every page points at itself

Start by giving every page a canonical to its own address, in full, with the protocol and the host. It costs nothing, it settles the variants you did not think about, and it is the behaviour every CMS and framework offers.

<link rel="canonical" href="https://yourproduct.com/guides/getting-started">
  • Absolute, not relative. A relative canonical resolves differently on a variant URL and can point somewhere you did not mean.
  • One per page. Two canonical tags is the same as none: Google ignores both.
  • In the head, rendered by the server. A canonical injected by a script is read by Google and missed by the crawlers behind the AI assistants.
  • Matching the form you link to internally: the same host, the same protocol, the same trailing slash.

The six situations, at a glance

SituationCanonical points atCommon mistake
An ordinary pageItselfNo canonical at all, so variants compete
A URL with tracking or sorting parametersThe clean URLLinking internally with the parameters attached
Page two of a listItselfPointing every page at page one, which hides the rest
A filtered view with real demandItselfCanonical to the unfiltered page, so the page you wanted cannot rank
Your article republished elsewhereYour URL, from their pageNo arrangement, so their copy outranks yours
The same page on two hosts you ownThe one you choseA staging site with canonicals still pointing at staging

Parameters, filters and tracking

Every distinct URL is a distinct page to a crawler, so ?utm_source=newsletter and ?sort=new create copies of a page you wrote once. The canonical folds them back together.

  • Tracking parameters: canonical to the clean URL. Use them on links you place elsewhere, never on links inside your own site.
  • Sorting and view parameters: canonical to the unfiltered page. Nobody searches for your list sorted by date.
  • Filters with genuine search demand: give the filtered view its own page, its own title and a self-referencing canonical. Then it can rank for what people actually type.
  • Session identifiers in URLs: remove them. No canonical saves a site that gives every visitor different addresses.
<!-- On https://yourproduct.com/guides?utm_source=newsletter -->
<link rel="canonical" href="https://yourproduct.com/guides">

Pagination, where most canonical mistakes happen

Google stopped using rel next and prev in 2019. Each page of a series is its own URL, and it should say so.

  • Page two carries a canonical to page two. Not to page one.
  • Give each page a title that differs, so the series does not read as one page repeated.
  • Link the pages to each other with real anchors, and make sure the items on page two are also reachable from somewhere else, so their depth does not depend on pagination alone.
  • A view-all page is an alternative for short lists: the parts canonical to it, and it carries everything.

Syndication and cross-domain canonicals

A canonical can point at another domain. That is how republishing is meant to work, and it only helps if the other site sets it.

  1. Agree it before you send the piece

    Ask the publisher for a canonical to your URL, or a noindex on their copy. Put it in the message where you agree the republication, not afterwards.

  2. Accept what you cannot control

    Many platforms will not set one. If theirs is the version Google keeps, you have traded a ranking for an audience. That can still be the right trade.

  3. Never canonical your own page to theirs

    It happens by copy and paste when a template is reused. It removes your page from the index and hands the ranking away.

  4. Publish first

    Let your version be crawled before the copy goes out. Being first does not guarantee the choice, and it helps.

The same page on two hosts you own

  • www and non-www, http and https: pick one host, redirect the other on every path with a 301, and let the canonicals point at the one you chose. Redirects settle this better than canonicals.
  • A staging or preview environment: it should be noindexed and password-protected, and its canonicals must not point at staging when the code ships to production. This is the accident that removes a whole site from the index.
  • A marketing site and an app on separate hosts: decide where each page lives. Two copies of the same landing page compete with each other, and the canonical is how you say which one wins.
  • A subdomain for the blog: fine, as long as each page is canonical to itself on its own host, and the sitemap on each host lists only that host's URLs.

When Google picks a different URL

Search Console tells you plainly. In the Page indexing report, Duplicate, Google chose different canonical than user means your declaration was read and overruled.

  1. Inspect the URL

    URL Inspection shows the user-declared canonical next to the Google-selected canonical. Those two lines are the whole diagnosis.

  2. Check your internal links

    If your menu, your sitemap and your breadcrumbs link the other version, Google is believing your links rather than your tag. Make them agree.

  3. Check the redirects

    A canonical pointing at a URL that redirects is a contradiction. The target must answer 200.

  4. Check the pages are really duplicates

    If they are not as similar as you assumed, Google keeps both and ignores the tag. That is usually correct and means you have two pages, not one.

  5. If the duplicate has no reason to exist, redirect it

    A 301 removes the choice. A canonical only suggests one.

The opposite line, Alternate page with proper canonical tag, is the system working: Google found your canonical, agreed with it, and left the copy out on purpose.

The checks before you ship

  • Every template renders exactly one canonical, absolute, from the server.
  • The canonical, the sitemap entry and the internal links all use the same form of the URL.
  • No canonical points at a URL that redirects, 404s or carries a noindex.
  • No canonical points at staging, at localhost, or at the page you copied the template from.
  • Paginated pages point at themselves; filtered views that should rank point at themselves too.
  • Spot-check three URLs a month in URL Inspection and compare the declared and the selected canonical.

Questions

Check my site, free

Paste your URL and the free check reads the canonical on every page it crawls, and tells you where your tags, your links and your sitemap disagree.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next