How to fix missing or wrong canonical tags
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.
- Merge pages that say the same thing into one and redirect the other address to it with a 301.
- If both must stay, such as colour variants of a product, point the canonical tag of each variant at the main page.
- 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.
- Point the canonical at this page's own clean URL (same scheme and host, no tracking parameters), and make sure it returns 200.
- 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.
- Point each canonical tag straight at the final address, the one that answers 200 and names itself as canonical.
- After moving pages, update canonical tags along with the redirects.
- 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.
- Add <link rel="canonical" href="https://your-site.com/page/"> in <head>.
- 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.