Self-Referencing Canonical: What It Is and Why Google Recommends It
What a Self-Referencing Canonical Tag Is
A canonical tag is an HTML element in a page's <head> that declares the "canonical" (preferred) version of that page's URL. A self-referencing canonical is simply a canonical tag that points to the page's own URL — the page says "my preferred URL is my own URL." For example, on https://sitemapfixer.com/learn/self-referencing-canonical, the self-referencing canonical would be:
This might seem redundant — why tell a page that its canonical URL is itself? The answer is that without this explicit declaration, Google must decide the canonical URL on its own. And Google's automatic canonical selection can choose an unintended URL variant, particularly when tracking parameters, session IDs, or trailing slash variations make your page accessible via multiple URLs.
The Problem Self-Referencing Canonicals Solve
Every page on a website is potentially accessible via multiple URLs. Consider a page at https://example.com/blog/post/ — all of the following URLs serve the same content:
• http://example.com/blog/post/ (wrong protocol)
• https://www.example.com/blog/post/ (www variant)
• https://example.com/blog/post (no trailing slash)
• https://example.com/blog/post/?utm_source=newsletter (UTM parameter)
• https://example.com/blog/post/?ref=twitter (referral parameter)
• https://example.com/blog/post/#section-2 (URL fragment)
Without a self-referencing canonical, Google sees all these URLs as potential duplicates of each other and must choose which one to show in search results. Google often chooses correctly, but not always — it might pick http:// over https://, or a URL with a tracking parameter, or the non-www version when you prefer www. A self-referencing canonical eliminates this ambiguity by explicitly declaring your preferred URL.
Correct Implementation of Self-Referencing Canonicals
The canonical URL must be your exact preferred URL. Get every detail right:
Protocol: Always use https:// if your site uses HTTPS. A canonical with http:// on an HTTPS site signals to Google that the HTTP version is preferred — the opposite of what you want.
www vs non-www: Be consistent. If your preferred URL uses www, all your canonicals should use www. If you prefer non-www, never include www in any canonical. This must also match your site-wide 301 redirect setup.
Trailing slash: Pick a convention (trailing slash or no trailing slash) and stick to it everywhere. Your canonical must match your chosen convention. https://example.com/page and https://example.com/page/ are different URLs — your canonical should declare exactly one of them as preferred, and that URL should redirect to itself (not to the other variant).
Absolute URL: Always use the full absolute URL in the canonical href, including the protocol and domain. Relative URLs in canonicals (like href="/blog/post/") are technically valid but error-prone — the browser resolves them from the current domain, but Googlebot may not handle edge cases correctly. Use absolute URLs.
How to Implement in WordPress, Next.js, and HTML
WordPress: Yoast SEO and Rank Math automatically add self-referencing canonical tags to every page and post. You don't need to do anything manually — the plugin generates the correct absolute URL based on your WordPress address settings. Verify by viewing the page source and searching for rel="canonical".
Next.js App Router: Use the alternates.canonical property in your page's metadata export:
Plain HTML: Add the tag manually in your <head> section:
Common Canonical Tag Mistakes to Avoid
Relative URLs: href="/page/" instead of href="https://example.com/page/". Use absolute URLs always.
Wrong protocol: href="http://" on an HTTPS site. This tells Google to prefer the insecure version.
Canonical pointing to a redirect: If your canonical URL redirects to another URL (e.g., /old-url redirects to /new-url), the canonical is broken. Always point canonicals to the final destination URL, not an intermediate redirect.
Canonical loop: Page A canonicalizes to Page B, and Page B canonicalizes to Page A. Google ignores both canonical signals. Fix by pointing both to one definitive URL.
Missing from paginated pages: Paginated pages (/page/2, /page/3) need self-referencing canonicals pointing to their own URL — not to the first page. Canonicalizing all paginated pages to page 1 tells Google to ignore all but the first page.
How to Audit for Missing Self-Referencing Canonicals
Run a site crawl with Screaming Frog (free up to 500 URLs) and look at the "Canonicals" tab — it shows every page, its declared canonical, and whether the canonical is self-referencing, pointing elsewhere, or missing. Filter for pages with missing canonical to find the gaps.
In Google Search Console, the "Alternate page with proper canonical tag" coverage report shows pages where Google discovered a canonical pointing to a different URL. If you see your own pages listed here unexpectedly, you have incorrect canonical implementations to fix.
Related Guides
- Canonical Tags: How to Fix Duplicate Content Issues
- Redirect Chains: How to Find and Fix Them
- Noindex Tag: How to Prevent Pages from Being Indexed
- Crawled - Currently Not Indexed: Causes and Fixes
- Canonical Checker: Verify Your Canonical Tags Are Correct
- GSC Errors Hub: Fix All Google Search Console Issues
- What Does Canonical Mean? Plain-English Explainer