SEO & Redirects

What is a canonical tag?

A canonical tag is an HTML element placed in the <head> section of a webpage that specifies the preferred, canonical, URL for that page’s content. It is the primary technical mechanism through which website owners communicate to search engines which URL should be indexed, ranked, and credited with accumulated link juice when the same or similar content is accessible at multiple addresses.

The canonical tag takes a specific HTML form:

<link rel="canonical" href="https://example.com/preferred-url">
<link rel="canonical" href="https://example.com/preferred-url">
<link rel="canonical" href="https://example.com/preferred-url">

The rel="canonical" attribute identifies the element’s purpose, declaring a canonical relationship. The href attribute contains the absolute URL of the canonical version, the definitive address that search engines should treat as the authoritative source of the content.

The canonical tag was introduced by Google, Yahoo, and Microsoft in 2009 as a standardised mechanism for addressing duplicate content: a widespread and persistent SEO problem arising from the many ways the same content can be accessible at different URLs. Before the canonical tag site owners had limited tools for communicating URL preferences to search engines, 301 redirects were the primary option but redirects prevent users from accessing the non-canonical URL entirely. Canonical tags provide a softer signal, communicating the preferred URL while allowing both versions to remain accessible.

How canonical tags work

Canonical tags operate as hints to search engines rather than directives. This distinction between hint and directive is fundamental to understanding both what canonical tags can accomplish and where their limitations lie.

Hints vs directives: a 301 permanent redirect is a directive, the browser is given no choice but to follow the redirect to the canonical URL. The original URL cannot be reached, it always redirects. A canonical tag is a hint, search engines are strongly advised to consolidate signals to the canonical URL but they are not required to do so. A search engine that finds the canonical tag inconsistent with other signals, the canonical URL returns an error, the content at the canonical differs significantly from the current page, or multiple canonical tags point to different URLs, may choose to ignore the tag and make its own canonicalisation decision.

Signal consolidation: when search engines respect a canonical tag they consolidate ranking signals for the non-canonical URL to the canonical. Link juice from backlinks pointing to the non-canonical URL flows to the canonical. The canonical URL is the one that appears in search results, not the non-canonical. Crawl budget spent on the non-canonical is not wasted because the signals it discovers transfer to the canonical.

Self-referencing canonical tags: every page should include a canonical tag pointing to its own URL, a self-referencing canonical. This is not redundant. Self-referencing canonicals explicitly confirm that the current URL is the preferred version, preventing search engines from inferring incorrect canonicals based on other signals. A page at https://example.com/page should include <link rel="canonical" href="https://example.com/page"> to confirm this specific URL is canonical.

Absolute URLs required: canonical tags should always use absolute URLs, the complete address including protocol, domain, and path. https://example.com/page not /page or page. Relative URLs in canonical tags are interpreted relative to the current page’s base URL, which may produce unexpected results if the page is accessed at different addresses. Absolute URLs eliminate ambiguity.

HTTPS in canonical URLs: canonical tags should always specify the HTTPS version of the URL, https:// not http://. Even if a page is accessible over both HTTP and HTTPS the canonical should point to HTTPS. This reinforces the HTTPS canonical signal alongside forced HTTPS redirects and avoids any confusion between protocol versions.

When to use canonical tags

Canonical tags are appropriate in specific situations, when duplicate or similar content exists at multiple accessible URLs and when redirecting the non-canonical versions is not desirable or practical.

URL parameter variations: the most common canonical tag use case. Tracking parameters, UTM parameters appended to URLs for campaign tracking, create URL variations that serve identical content. example.com/page?utm_source=email&utm_medium=newsletter serves the same content as example.com/page but at a different URL. Adding canonical tags pointing to the clean URL on all parameterised variations consolidates their ranking signals to the clean URL.

Search engines, particularly Google Search Console, also allow URL parameter handling configuration that instructs the crawler to treat certain parameters as non-content-affecting. Canonical tags provide a page-level signal that complements this configuration.

Sorting and filtering parameters: e-commerce sites frequently serve the same product listing at multiple URLs based on sort order and filter state. example.com/products?sort=price, example.com/products?sort=name, example.com/products?color=red all serve variations of the same product listing. Canonical tags on filtered and sorted versions pointing to the default listing URL consolidate ranking signals to one authoritative listing page.

www vs non-www: if a 301 redirect from one variant to the other is not implemented, or is implemented but canonical tags are also needed for belt-and-suspenders signal reinforcement, canonical tags confirm the preferred variant. The canonical tag on the non-preferred variant points to the preferred variant. Ideally the redirect and canonical tag should both be in place, the redirect is the stronger signal and the canonical tag reinforces it.

Syndicated and republished content: when content from a site is republished on another site, news articles syndicated to partner sites, product descriptions used by multiple retailers, guest posts that appear on multiple blogs, the republished versions should include canonical tags pointing to the original source. The canonical tag tells search engines which version is original, concentrating ranking authority at the source rather than distributing it across all republications.

Printer-friendly and alternate format pages: pages with print-optimised versions at alternate URLs, example.com/page?print=1: should have canonical tags on the print version pointing to the standard version. Mobile and AMP versions served at different URLs should similarly canonicalise to the standard desktop version.

Session ID URLs: some older web applications append session IDs to URLs, example.com/page?sessionid=abc123. Each user gets a different session ID, the same page generates thousands of unique URLs. Canonical tags on all session ID variants pointing to the clean URL prevent search engines from indexing thousands of duplicate pages.

Canonical tags vs redirects

Canonical tags and 301 permanent redirects both communicate canonical URL preferences to search engines, but they work differently and are appropriate in different situations. Understanding when to use each, and why, is one of the most practically important distinctions in technical SEO.

Redirects are stronger: a 301 redirect is the strongest possible canonical signal. When a URL redirects to another URL search engines definitively understand the redirect destination as canonical. There is no ambiguity, the original URL cannot be accessed without following the redirect to the canonical destination. Link juice transfer through 301 redirects is more reliable than through canonical tags.

Redirects prevent access to non-canonical URLs: the fundamental trade-off. A redirect makes the non-canonical URL inaccessible, users and crawlers are always sent to the canonical destination. Canonical tags leave both URLs accessible, the non-canonical URL can be visited and bookmarked. This difference determines which mechanism is appropriate for each situation.

Use redirects when the non-canonical URL should not be accessible at all. Old URLs after a site migration, users who follow old links should reach the new canonical URL automatically. HTTP versions of pages, users should always be on HTTPS. www variants when non-www is canonical, users who type www should reach the non-www canonical. Retired product pages, the old URL should redirect to the most relevant current page.

Use canonical tags when the non-canonical URL needs to remain accessible for a legitimate reason but its ranking signals should consolidate to the canonical. URL parameters for tracking, UTM parameters must remain functional for analytics but should not dilute the clean URL’s ranking signals. Filter and sort parameters on category pages, the filtered view should be accessible to users but the clean category URL is canonical. Syndicated content, the republished version should be accessible on the republishing site but the original source is canonical.

Use both when belt-and-suspenders reinforcement is appropriate, a redirect handles the URL redirection while a canonical tag on the redirecting page reinforces the signal. This combination provides maximum clarity to search engines about canonical intent.

Canonical tags and redirect management

Canonical tags interact with redirect management in specific ways that require coordination between redirect configuration and canonical tag implementation.

Canonical tags on redirect source pages: pages on redirect source domains, old domains being redirected to a new primary domain, should generally not have canonical tags pointing to the old domain. The 301 redirect from the old domain to the new provides the canonical signal. A canonical tag on the old domain page pointing to itself, <link rel="canonical" href="https://old-domain.com/page">: conflicts with the redirect signal. If the old domain’s pages have canonical tags they should point to the new canonical URL, the same destination as the redirect, or be removed.

Canonical tags on destination pages: pages on the redirect destination domain should have self-referencing canonical tags pointing to the canonical URL on the destination domain. After a domain migration all pages on the new domain have canonical tags confirming their new URLs are canonical. No page on the new domain should have a canonical tag pointing back to the old domain, the migration direction should be consistent throughout.

Redirect chains and canonical confusion: redirect chains: where URL A redirects to URL B which redirects to URL C, can create canonical confusion if canonical tags on intermediate URLs are not consistent with the redirect chain. A canonical tag on URL B pointing to URL B while URL B redirects to URL C signals are inconsistent, the canonical tag says URL B is canonical while the redirect says URL C is. Canonical tags should always point to the final canonical destination, not to intermediate redirect hops.

URL parameter canonical tags in redirect contexts: when a page with URL parameters is also covered by a redirect rule, for example a redirect that handles the entire domain, the redirect fires before the canonical tag can be evaluated. If the redirect sends all traffic to the homepage regardless of path the canonical tag on the parameterised page is irrelevant, the redirect already handles the signal. Redirect rules must be designed to preserve relevant canonical signals rather than routing all traffic away from canonical pages indiscriminately.

Implementing canonical tags correctly

Placement in <head> only: canonical tags must be placed in the HTML <head> section, not in the <body>. Canonical tags in the <body> are invalid and ignored by search engines. CMS platforms and page builders sometimes incorrectly inject canonical tags into the body, verify correct placement through view-source inspection.

One canonical tag per page: each page should have exactly one canonical tag. Multiple canonical tags on the same page create conflicting signals, search engines receive contradictory information and may ignore all canonical tags on the page or make an arbitrary choice. If a CMS or plugin adds canonical tags automatically check that additional manual canonical tags are not also being added.

Canonical URL must be accessible: the URL specified in the canonical tag must return a 200 OK response, it must be a live, accessible page. A canonical pointing to a URL that returns 404, 301, or any other non-200 status is broken. Search engines cannot index a non-200 URL as canonical, the canonical signal is wasted. Audit canonical URLs periodically to ensure they remain live.

Canonical URL must serve similar content: the page at the canonical URL must serve content substantially similar to the page with the canonical tag. A canonical tag pointing to a completely different page, a category page canonicalised to the homepage when the content is distinct, misleads search engines about the relationship between the pages. Canonical tags should connect genuinely duplicate or near-duplicate content versions.

Consistent canonical URLs across all pages in a cluster: all pages that share the same canonical URL should use exactly the same canonical URL string. Mixed formats, some pages with trailing slash, some without, create ambiguity. The canonical URL format must be absolutely consistent across every instance.

Auditing canonical tags

Regular canonical tag audits ensure the configuration remains correct as sites evolve, new pages are added, URLs change, and content is reorganised.

Crawling tools: Screaming Frog, Sitebulb, and similar crawling tools extract canonical tags from every crawled page, showing the canonical URL specified on each page alongside the actual URL. Filtering for pages where the canonical differs from the URL identifies all pages with non-self-referencing canonicals, these should be reviewed to confirm the canonical relationship is intentional and correct.

Google Search Console URL inspection: the URL Inspection tool in Google Search Console shows what canonical URL Google has selected for any given URL, which may differ from the canonical tag specified if Google disagreed with the tag. Comparing Google’s selected canonical against the intended canonical reveals cases where canonical tags are being overridden.

Redirect audit for canonical consistency: auditing all redirects and comparing their destinations against the canonical tags on source and destination pages identifies conflicts. A redirect from URL A to URL B should be accompanied by either no canonical tag on URL A or a canonical tag pointing to URL B, not a canonical tag pointing to URL A or any third URL.

Related terms

Related terms

Ready to keep every link alive?

Ready to keep every link alive?

Ready to keep every link alive?