A self-referencing canonical is a canonical tag on a page that points to that page’s own URL. It tells search engines that this address is the main version of the content, which protects the page against duplicate copies created by tracking codes, parameters and other URL variations.
How a self-referencing canonical works
A canonical tag sits in the head of a page’s HTML. On a page at https://www.example.co.uk/kitchen-worktops/, a self-referencing canonical reads: <link rel="canonical" href="https://www.example.co.uk/kitchen-worktops/">.
Its value shows when the same page is reached at a different address. A newsletter link adds UTM parameters (?utm_source=newsletter); a social platform appends its own click ID; a sort option adds ?sort=price. Each is technically a separate URL. Because the tag on every version still names the clean URL, search engines know which one to index and where to gather signals such as links. Without it, Google has to guess, and may index a parameter version or spread signals across several copies, a common form of duplicate content.
Like any canonical, it is a hint rather than a command. Google weighs it with other signals, including internal links, redirects and the XML sitemap. When those all agree, the hint is usually followed.
Why it matters
Most sites create duplicate URLs without their owners noticing. Shop platforms, booking systems, site search and marketing tools all add parameters. A self-referencing canonical on every indexable page is a cheap safeguard that keeps the right address in search results. It also makes the setup easier to audit: once every normal page points to itself, any page that points elsewhere stands out as a deliberate exception to check.
At the time of writing (October 2026), most mainstream platforms add one by default, including WordPress with a standard SEO plugin, Shopify, Squarespace and Wix. Problems usually come from custom themes, page builders or plugins that override the default, or from settings changed during a redesign.
Common mistakes
- A canonical that uses a different form of the URL from the one you link to: http instead of https, a missing trailing slash, or the non-www host when the site uses www.
- Relative canonicals (“/kitchen-worktops/”) that resolve wrongly on staging copies or alternative hosts. Use the full absolute URL.
- A staging or development site copied live with canonicals still pointing at the staging domain.
- Canonicals that include the very parameters they should strip, because the template builds the tag from whatever address was requested.
- A canonical that names a URL which redirects, returns an error or is set to noindex, usually left behind after URLs change. The canonical should always name a live, indexable page that returns a 200 status.
- Two canonical tags on one page, typically one from the theme and one from a plugin.
How to act on it
Pick one example of each important page type (home, service or category, product, blog post) and view its source. There should be exactly one canonical tag, giving the full https URL that matches the address in your menus and XML sitemap. Then add a harmless parameter such as ?test=1 to each URL, reload, and check the canonical still points to the clean version.
For a whole-site check, a crawler such as Screaming Frog lists every page whose canonical is missing, points elsewhere or does not match the crawled URL. In Google Search Console, the URL Inspection tool shows both the canonical you declared and the one Google selected. Sorting out canonicals across templates is routine work in my technical SEO service.
