scalpel@labs: ~/glossary/canonical-url.mdx5 sections

Canonical URL

A canonical URL is the version of a page that you designate as the primary one for search engines to index when the same or very similar content is reachable at more than one address.

extension: Scalpel SEOupdated: 2026-08-14read_time: 2 min
less canonical-url.mdx

Why it matters

The same content can often be reached at several addresses. A product might be available with tracking parameters, with or without a trailing slash, or over both HTTP and HTTPS. Search engines treat each address as a separate page unless you tell them otherwise. That splits ranking signals across duplicates and can leave the wrong version in results.

A canonical URL consolidates those duplicates into one address. Link equity and relevance signals combine onto the version you choose. That version is the one searchers see.

How it works

You declare the canonical version with a rel="canonical" link element in the page head, or with a Link HTTP header. Search engines treat it as a strong hint, not a directive, so the canonical you set should be consistent with your sitemap, internal links, and redirects.

Point every duplicate at the same absolute URL, and make a page reference itself when it is already the primary version. Conflicting signals, such as a canonical that points to a page which is blocked or redirected, cause search engines to ignore your choice and pick a canonical on their own.

What does not matter

The canonical URL does not need to be the address a visitor typed. It is a signal for indexing, not a redirect, so users still see the page they requested. Query parameters, session identifiers, and letter case in the path are common sources of duplication, but only the address you nominate as canonical is indexed.

Code example

<!-- On https://example.com/shoes?ref=newsletter -->
<link rel="canonical" href="https://example.com/shoes" />

The same intent expressed as an HTTP header:

Link: <https://example.com/shoes>; rel="canonical"

How Scalpel shows it

Scalpel SEO reads the canonical link and header for the current page, resolves it to an absolute URL, and flags common problems: a missing canonical, a canonical that points to a redirected or non-indexable page, and a mismatch between the canonical and the page address. Everything is checked in your browser, and nothing about the page you are auditing is sent to a server.

Sources