Skip to content

How to fix missing or wrong canonical tags

SEO2 min readFixes 4 checks duplicate-content, canonical-self-or-valid, canonical-chains, canonical-present

A canonical tag tells Google which URL is the original when the same content is reachable at several addresses. Without it, ranking signals are split.

Step by step, with screenshots: Alternate page with proper canonical tag: what it means and when to act →

Check your own site

Runs these 4 checks and the other 189, free, in about 45 seconds.

Or run only this check with the free Canonical checker, the free Meta tag checker or the free Website change monitor.

What it is

A canonical tag is a line in the page's head, <link rel="canonical" href="…">, that tells search engines which URL is the main version of a page when the same content is reachable at several addresses. Tracking parameters, filters, trailing slashes, http and www variants all create such duplicates.

Without a canonical, Google picks one version itself and may split links and signals between the copies. With a wrong canonical, for example one that points to another site, to the home page or to a URL that returns 404, you ask Google to drop the page you want to rank. Google treats the tag as a strong hint, not an order.

OK looks like this: one canonical tag per page, pointing at the page's own clean URL on the same scheme and host, and that URL answers 200. getReport checks that the tag exists, is unique and points somewhere valid.

What a passing site looks like

  • No crawled page is a near copy of anotherwarning · −3 ptseffort M
  • Canonical tag points to a valid URLfail · −5 ptseffort S
  • Every canonical tag points at a final, working pagewarning · −2 ptseffort S
  • Canonical tag is presentwarning · −2 ptseffort S

1. Near-duplicate pages

Why it matters. When two pages carry almost the same text, Google picks one to show and may pick the one you did not want. Links and signals get split between both addresses instead of adding up.

How to fix it.
  1. Merge pages that say the same thing into one and redirect the other address to it with a 301.
  2. If both must stay, such as colour variants of a product, point the canonical tag of each variant at the main page.
  3. Where pages only share a long template block, give each page its own opening text so the page's own content outweighs the shared part.

2. Canonical target

Why it matters. The canonical tag asks Google to index that URL instead of this one. If it points to another site, appears twice or leads to an error page, your ranking signals are given away or ignored.

How to fix it.
  1. Point the canonical at this page's own clean URL (same scheme and host, no tracking parameters), and make sure it returns 200.
  2. Keep exactly one canonical tag; if a plugin and the theme both add one, disable one of them.

3. Canonical chains

Why it matters. A canonical tag tells search engines which address is the main version of a page. When that address redirects, fails or points somewhere else again, the signal is mixed, and Google may ignore it and pick the main version itself.

How to fix it.
  1. Point each canonical tag straight at the final address, the one that answers 200 and names itself as canonical.
  2. After moving pages, update canonical tags along with the redirects.
  3. In WordPress, the SEO plugin sets canonicals from the page's own address; check any custom canonical field on the pages listed.

4. Canonical tag is missing

Why it matters. Without a canonical URL, search engines may index duplicate versions of this page (with and without trailing slash, with UTM parameters) and split its ranking signals.

How to fix it.
  1. Add <link rel="canonical" href="https://your-site.com/page/"> in <head>.
  2. In WordPress, Yoast or Rank Math add this automatically: check it is not disabled for this page.

Questions people ask

Should a canonical URL be absolute or relative?

Absolute. Google accepts relative canonical URLs but recommends full ones such as https://www.example.com/shoes/, because a relative path is resolved against whatever address the page was reached on. On an http, non-www or staging copy, a relative canonical then points at that copy instead of the live page. Write the scheme, host and path in full, exactly as the URL you want indexed, with or without the trailing slash as that URL has it.

How do I check which canonical Google chose?

Open Search Console's URL Inspection tool, enter the page and look under Page indexing: it lists the user-declared canonical (yours) and the Google-selected canonical. When they differ, Google found stronger signals for the other URL, such as internal links, redirects or the sitemap pointing there, so align those with your canonical tag.

What is a canonical URL?

A canonical URL is the single address you want search engines to treat as the original for a piece of content, for example https://www.example.com/shoes/ rather than the same page with ?utm_source=newsletter. You declare it with the canonical tag, and keep internal links and the sitemap on that same URL.

Filed under Technical SEO. Copy is generated from the same catalogue that scores every report, so what you read here is what the report says.