To fix canonical issues, add <link rel="canonical" href="https://yoursite.com/preferred-url"> in every indexable page's <head>. Each normal page should self-canonicalise; true duplicates should point to the master URL. Use absolute HTTPS URLs consistent with redirects and your sitemap.
Missing canonicals let search engines guess which URL to index. Incorrect canonicals — pointing at the wrong page, the homepage, or HTTP URLs — actively harm SEO. This guide covers both problems and how to fix them platform by platform.
Check your website
See how your site handles how to fix missing or incorrect canonical tags — free, no account needed.
Business impact
Canonical tags consolidate your ranking power on the URL you care about. Wrong or missing tags are a common reason the wrong page ranks, or rankings split across duplicates — an easy win once corrected.
Why this happens
Missing: theme or CMS never outputs a canonical; custom sites omit it from templates. Incorrect: all pages point to the homepage; relative or HTTP URLs; canonical contradicts a 301 redirect; paginated pages all canonical to page 1; parameter URLs canonical to wrong targets. Fix by outputting one absolute HTTPS self-referencing canonical per page unless it is a genuine duplicate.
How to confirm the issue
Manually: View Source and search for rel="canonical", or use DevTools → Elements. The href should match the URL you want indexed.
With Plexa Trust: look for canonical-related SEO findings; re-scan after fixing.
Step-by-step fix
Add a self-referencing canonical to every indexable page's
<head>.Use absolute URLs:
https://www.yoursite.com/path.Point true duplicates (parameters, print views) at the master URL.
Ensure canonicals match your 301 redirects and sitemap URLs.
Remove canonicals that all point to the homepage.
Re-scan to confirm.
Platform-specific fixes
WordPress
Yoast or Rank Math outputs canonicals automatically — verify per page in the SEO panel.
For custom themes, add canonical support or use wp_head hook.
Check that canonical matches the pretty permalink, not a parameter URL.
Shopify
Shopify adds canonical tags automatically on product/collection pages.
If using custom themes, verify
{{ canonical_url }}is in theme.liquid<head>.
Custom HTML / PHP
Add to template head:
<link rel="canonical" href="FULL_HTTPS_URL">.Generate from the current request path, normalised to your preferred host.
Next.js / React
Use next/head or metadata API to set canonical per route.
Ensure SSR pages output canonical in initial HTML, not only client-side.
How to verify the fix
Self-canonicalise normal pages; cross-canonicalise only true duplicates.
Keep canonical, sitemap, and internal links aligned on the same URL format.
Re-scan after bulk CMS or migration changes.
Common mistakes
Every page canonicalising to the homepage.
Relative canonical URLs (
/pageinstead of full https://).Canonical pointing to HTTP while the site redirects to HTTPS.
Frequently asked questions
What is a self-referencing canonical?
A canonical tag on a page that points to that same page's preferred URL — the default for normal indexable pages.
Can canonical replace a 301 redirect?
No. Redirects are for retired URLs; canonicals are for duplicates that must stay accessible.
Why does Google ignore my canonical?
Signals may conflict — redirects, internal links, or sitemap pointing elsewhere. Align all signals.
One canonical per page?
Yes. Multiple canonical tags confuse crawlers; keep exactly one.
Should the homepage canonicalise to itself?
Yes, with its preferred HTTPS URL including or excluding www as you have chosen.
Do canonicals work across domains?
Yes, cross-domain canonicals are supported for syndicated content pointing to the original.
HTTP or HTTPS in canonical?
Always HTTPS on production sites, matching your enforced URL.
How do I confirm it worked?
View source on key pages, check Search Console canonical reports, and re-scan with Plexa Trust.
Think you've fixed it?
Run a free scan to verify the issue is resolved. Upgrade to Pro on Plexa Trust for the full audit, monitoring alerts, and score history.
Verify with a free scan