# Canonical URLs

> For the complete documentation index, see [llms.txt](https://attensira.com/llms.txt).
> Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.

> A canonical URL is the one address you want search engines to treat as a page's main version. How to set it, which signals win, and what our crawler data shows.

- Canonical page: https://attensira.com/glossary/canonical-urls
- Family: glossary
- Last updated: 2026-10-04
- Author: Karl-Gustav Kallasmaa (https://attensira.com/about)
- Claims as data: https://attensira.com/claims.json?slug=canonical-urls

**In short:** A canonical URL is the single address you want search engines to treat as the main version of a page that can be reached at several URLs, for example with and without www or with tracking parameters. You signal it with a redirect, a rel=canonical link or your sitemap. Google treats these as strong or weak hints, not commands.

**One homepage, two addresses, two counts**

| Where it is read | What it counts | AI-crawler requests |
| --- | --- | --- |
| Bot board, one row per URL | https://attensira.com/ only | 8,562 |
| Evidence query (ai_fetches) | the homepage, www and non-www together | 17,323 |
| Gap between the two | mostly the www address the board files apart | 8,761 |

_Source: attensira.com AI-crawler traffic, two Attensira MCP reads, as of 2026-10-04 (n=143,601 AI-crawler requests, 5 Sep to 4 Oct 2026)._

## Key facts

- Defined in: [RFC 6596 (April 2012)](https://www.rfc-editor.org/rfc/rfc6596.txt)
- Strongest signal: A 301 or 308 redirect
- rel=canonical is: A strong hint, not a directive
- Sitemap listing: [A weak signal; list canonical URLs only](/glossary/xml-sitemaps)
- Use absolute URLs?: Yes, Google advises absolute paths
- In Attensira: [Traffic › Pages: one row per cited URL](https://docs.attensira.com/traffic/pages)

## What do duplicate URLs look like in real data?

Like extra pages. The two numbers above are both counts of AI crawlers fetching attensira.com's homepage over the 30 days to 4 October 2026, read over the Attensira MCP, and they differ by about two to one. Neither is wrong. The bot board keeps https://attensira.com/ and https://www.attensira.com/ as separate rows, so / shows 8,562 requests for one host. The evidence query counts both hosts as one page and shows 17,323. The two methods also count slightly differently, so read the 8,761 gap as mostly, not exactly, the www address. Same page, same window, two answers, because one report counts addresses and the other counts pages.

Citations split the same way. Links in stored ChatGPT answers often carry `?utm_source=chatgpt.com`, a parameter ChatGPT appends itself, so one page can be cited under its bare address, its www address and a tracked copy of each. Any report that counts URLs literally turns every variant into another page. Pick one count per report, and give crawlers one address to fetch.

## What is a canonical URL?

It is the one address you want search engines to treat as the main version of content that can be reached at several. The [canonical link relation](https://www.rfc-editor.org/rfc/rfc6596.txt) was defined in RFC 6596 in April 2012 as the preferred address from a set of resources that return the same content.

Duplicates arise constantly and mostly by accident:

- `www` and non-`www`, `http` and `https`;

- trailing slashes and letter case;

- tracking and session parameters (`?utm_source=...`, `?ref=...`);

- sort, filter and pagination parameters;

- the same article under several paths or locales;

- printer-friendly and AMP-style copies.

## How do you tell search engines which URL is canonical?

Google [documents](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls) three signals, in order of strength:

| Signal | Strength | Use it when |
| --- | --- | --- |
| A redirect (301 or 308) | strong | the duplicate should not exist for visitors at all, e.g. non-www to www |
| <link rel="canonical" href="..."> | strong | the duplicate must stay reachable, e.g. a filtered or tracked URL |
| Listing only the canonical in your sitemap | weak | always, as a supporting signal |

All three are hints. If you specify nothing, Google picks the version it thinks best, and it may pick differently from you when your signals disagree. Make them agree: redirect what should not exist, self-canonicalise every real page with an absolute URL, and list only canonical URLs in your [XML sitemap](/glossary/xml-sitemaps). Search Console's URL inspection shows both your declared canonical and the one Google chose. See [Google Search Console](/glossary/google-search-console).

## What does declaring a canonical look like as a change you approve?

Two lines in the page head: one canonical link to the address you want counted, and the same address in the sitemap. The crew drafts it as a pull request on your repository; nothing merges until you approve it.

**Pull request example-co/website#109:** Point every pricing variant at one canonical URL

```diff
# app/pricing/head.tsx
  <title>Pricing | Example Co</title>
+ <link rel="canonical" href="https://www.example.com/pricing" />
```

```diff
# public/sitemap.xml
- <loc>https://example.com/pricing?ref=nav</loc>
+ <loc>https://www.example.com/pricing</loc>
```

_Example: a canonical tag and sitemap entry for a fictional site. Not a reading._

## Why do canonicals matter for AI search?

Three reasons, all visible in our own data.

**Signals split.** Every citation, link and mention that lands on a duplicate is credited to a different address. Reports, and possibly engines, see two weaker pages instead of one stronger one.

**Reports disagree unless they normalise.** A tool that counts URLs literally shows one homepage as two pages, and two of our own reports differ by about two to one on the same page for that reason. Attensira's page report lists one row per cited URL, so a page cited at two addresses shows up as two rows you can see side by side.

**Engines cite what they fetched.** If a crawler can reach your page at several addresses, different answers may cite different ones. A redirect means there is only one to fetch. See [crawling and indexing](/glossary/crawling-indexing).

## What are the objections to fixing canonical URLs?

**"rel=canonical guarantees the URL."** It is a strong hint. Conflicting signals, such as a canonical pointing at a page that redirects, can override it.

**"Tracking parameters are harmless."** For analytics, maybe. For indexing and citation counts, each one is another URL. Canonicalise parameterised URLs to the clean one.

**"A relative canonical is fine."** Google advises absolute URLs. A relative path resolved against the wrong base points the page somewhere unintended.

**"Block the duplicates in robots.txt instead."** Then crawlers cannot see the canonical tag on them, and links pointing at them are stranded. Redirect or canonicalise; do not hide. See [robots.txt](/glossary/robots-txt).

## How does Attensira help?

Attensira's [Pages report](https://docs.attensira.com/traffic/pages) lists every URL of yours that AI answers cited, one row per exact URL, so a split between addresses is visible. The crew can then fix the redirects, canonical tags and sitemap in your repository as a pull request or in your CMS as a draft, after your approval. [GitHub](/features/github) shows how a fix arrives as a pull request you can review line by line.

## FAQ

### What is a canonical URL?

It is the one URL you want search engines to index and show for content that exists at several addresses, such as with and without www, with tracking parameters, or with different sort orders. Choosing it consolidates the duplicates' signals onto one address.

### Is rel=canonical a directive or a hint?

A hint. Google calls a rel=canonical annotation a strong signal that the specified URL should become canonical, and says none of the methods are required: if you specify nothing, Google picks the version it considers best.

### Which canonicalization signal is strongest?

A redirect. Google lists a redirect as a strong signal that the target should become canonical, a rel=canonical annotation as a strong signal, and inclusion in a sitemap as a weak signal. When they disagree, Google may choose a URL you did not intend.

### Must the canonical URL be absolute?

In practice, yes. Google advises using absolute paths rather than relative ones in the rel=canonical element. A relative canonical resolved against the wrong base is a common way to point a page at the wrong address by accident.

### Do canonicals matter for AI assistants?

They matter for which address gets cited and counted. ChatGPT often appends a tracking parameter to the links it attaches, and crawlers request a homepage at both its www and non-www host. Each variant is a separate URL in any report unless something normalises it to the canonical.
