Skip to content
Browse all guides

Issue #174 · important

Issue 174

What is this issue?

This issue checks whether every indexable page on your website includes a self-referencing canonical tag that points to its own preferred URL.

A self-referencing canonical tag tells search engines "this page is the preferred version of itself." For this check to pass:

  • Every indexable page must have a canonical tag
  • The canonical URL should point to the same page (self-reference), not to a different page
  • The canonical URL should match the preferred URL format for that page

Example: If your page's preferred URL is https://example.com/blog/post, the canonical tag should be <link rel="canonical" href="https://example.com/blog/post">.

Why does it matter?

Self-referencing canonicals are important for:

  • Indexability: They explicitly tell search engines which URL should be indexed for each page
  • Duplicate content: They prevent search engines from choosing a different canonical when similar or duplicate pages exist
  • Rankings: They consolidate ranking signals to the preferred URL, even when other URL variants exist

When pages don't have self-referencing canonicals, search engines may:

  • Choose a different URL as canonical (e.g., with tracking parameters, different casing, or trailing slash variants)
  • Split ranking signals across multiple URL variants
  • Have difficulty determining the preferred version of a page

Resolving this issue improves your SEO health score by ensuring each page clearly declares its preferred URL.

How to fix it

  1. Audit your pages: Crawl your website to identify pages missing canonical tags or with canonicals pointing to different URLs.

  2. Add self-referencing canonicals: Add a canonical tag to every indexable page that points to that page's own preferred URL.

  3. Use absolute URLs: Make sure canonical URLs are absolute (starting with https://) rather than relative.

  4. Be consistent: Ensure the canonical URL matches the page's preferred format (protocol, trailing slash, casing, etc.).

  5. Update templates: Configure your CMS or framework to automatically generate self-referencing canonicals for every page.

  6. Avoid pointing to other pages: Unless the page is truly a duplicate, the canonical should point to itself, not to a different page.

  7. Test your changes: Recrawl your site to verify all indexable pages now have proper self-referencing canonical tags.

Examples

Example 1: Correct self-referencing canonical

Scenario: A page with a proper self-referencing canonical tag.

Passes because:

  • Page has a canonical tag
  • Canonical points to the same URL as the page itself
  • URL format is consistent
<!-- URL: https://example.com/blog/post -->
<link rel="canonical" href="https://example.com/blog/post" />

Example 2: Missing canonical tag

Scenario: A page without any canonical tag.

Fails because:

  • No canonical tag is present
  • Search engines must guess the preferred URL
  • Other URL variants may be chosen as canonical
<!-- URL: https://example.com/blog/post -->
<!-- No canonical tag present -->

Corrected version:

<link rel="canonical" href="https://example.com/blog/post" />

Example 3: Canonical pointing to different page

Scenario: A page with canonical pointing to a different URL.

Fails because:

  • Canonical points to a different page
  • This suggests the page is a duplicate of another
  • Not appropriate unless the page is truly a duplicate
<!-- URL: https://example.com/blog/post?utm_source=twitter -->
<link rel="canonical" href="https://example.com/blog/post" />

Note: This is actually correct for tracking parameters. The issue would be if a unique page pointed to a different unique page.

How PixyScan detects this

PixyScan identifies missing or incorrect self-referencing canonicals through these steps:

  1. Fetches the page: PixyScan requests the URL and follows redirects to get the final URL.

  2. Extracts the canonical: The system parses the HTML and extracts the canonical URL from the <link rel="canonical"> tag.

  3. Normalizes URLs: PixyScan normalizes both the final URL and canonical URL by:

    • Standardizing protocol and host casing
    • Handling trailing slashes consistently
    • Resolving relative URLs to absolute URLs
  4. Compares URLs: The system checks whether the canonical URL matches the final URL after normalization.

  5. Flags issues: PixyScan triggers warnings when:

    • A page doesn't have a canonical tag
    • The canonical points to a different URL (not self-referencing)
    • There's a URL normalization mismatch between the page and its canonical

The detection uses only HTTP response data and raw HTML—no JavaScript execution is used.

References