Blog/Canonical Tag: What It Is, Why It's Missing, and How to Fix It
·7 min read

Canonical Tag: What It Is, Why It's Missing, and How to Fix It

Missing or wrong canonical tags cause duplicate content penalties and wasted crawl budget. Here's exactly what to set, why, and how to check yours in 30 seconds.

Check your site right now

Free SEO audit in 30 seconds — find all the issues covered in this guide.

Audit for free →

What a canonical tag actually does

A canonical tag is a single line of HTML that tells Google: *this is the original version of this page*. Without it, Google may treat multiple URLs showing the same content as separate pages competing against each other.

It sits in your tag and looks like this:

That's it. One tag, one URL, one clear signal.

The problem: most sites either have it missing, set it wrong, or accidentally point it at the wrong page — and they have no idea until their rankings start quietly dropping.


Why missing canonical tags hurt your SEO

The duplicate content problem

Without canonical tags, Google may see these as separate pages:

  • https://yoursite.com/product
  • https://yoursite.com/product?ref=homepage
  • https://yoursite.com/product?sort=price
  • http://yoursite.com/product (HTTP vs HTTPS)
  • https://www.yoursite.com/product (www vs non-www)
  • All showing the same content. Google doesn't know which one to rank. It splits authority between them instead of concentrating it on one URL. Result: none of them rank as well as they should.

    The crawl budget problem

    Google allocates a crawl budget to each site — a limit on how many pages it'll crawl per day. On large sites, without canonical tags, Google wastes that budget crawling duplicate versions of the same pages instead of discovering new content.

    The link equity problem

    When other sites link to your content, they might link to different URL variants. Without canonical tags, that link equity is split. With canonical tags, it all consolidates to the canonical URL.


    The 5 most common canonical tag mistakes

    1. Missing entirely

    The most common issue. No canonical tag at all. Google has to guess, and it frequently guesses wrong.

    Check: Use getmetafix.com — it flags missing canonical tags in the first 5 results.

    2. Pointing to the wrong URL

    
    

    Canonical tags must use absolute URLs with the full protocol and domain. Relative URLs are technically valid but create ambiguity. Always use the full URL.

    3. Non-canonical pages pointing to themselves

    If you have a paginated series (/blog?page=2, /blog?page=3), they should each have canonical tags pointing back to the root (/blog), not to themselves. Self-referencing canonicals on paginated pages waste the signal.

    4. Canonical and noindex together

    
    

    Noindex tells Google not to index the page. Canonical tells Google this is the authoritative version. These conflict. Google will follow one and ignore the other — but you can't predict which. Remove noindex if you want the canonical to be respected.

    5. Canonical pointing to a redirect

    The canonical URL must be a live, crawlable page. If it redirects, Google may not respect the signal. Always check that your canonical URL returns a 200 OK status and doesn't redirect.


    How to fix canonical tags on every platform

    Shopify

    Shopify automatically adds canonical tags to product and collection pages. The problem is the generated URLs often include tracking parameters that get flagged as duplicate pages.

    For Shopify, the main fix is usually in your theme.liquid file — checking that the canonical is using the clean URL, not a parameter-laden variant:

    
    
    

    Shopify's {{ canonical_url }} Liquid variable strips most tracking parameters automatically. If you're using a custom theme that overwrites this, that's the first place to check.

    WordPress

    With Yoast SEO or Rank Math installed:

    1. Go to the post/page edit screen

    2. Click the Yoast/Rank Math panel

    3. Find 'Advanced' settings

    4. Set 'Canonical URL' to the correct full URL

    Without a plugin, add this to your in header.php:

    $canonical = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

    echo '';

    ?>

    Plain HTML

    Add directly to each page's section:

    
    
    

    Your Page Title

    The canonical URL should be exactly the URL you want Google to index — clean, without tracking parameters, using HTTPS.

    Next.js (App Router)

    // In your page.tsx or layout.tsx
    

    import type { Metadata } from 'next';

    export const metadata: Metadata = {

    alternates: {

    canonical: 'https://yoursite.com/your-page',

    },

    };

    Next.js will render this as in the automatically.


    Self-referencing vs cross-domain canonicals

    There are two types of canonical tags:

    Self-referencing canonical: The page points to itself. This is the standard case for most pages — it tells Google this URL is the canonical version of itself, and discourages URL variants from competing.

    
    
    

    Cross-domain canonical: A page on one domain points to content on another domain as the authoritative version. This is used when the same content is published in multiple places (e.g., a blog post syndicated to Medium).

    
    
    

    For most sites, you only need self-referencing canonicals. Cross-domain canonicals are an advanced use case for content syndication.


    How to check if your canonical tags are correct

    The fastest way: run a free audit at getmetafix.com. It checks your canonical tag alongside 11 other SEO signals and flags anything missing, wrong, or conflicting.

    The manual way: right-click any page → View Source → search for canonical. You should see:

    
    

    Check for:

  • Uses full HTTPS URL
  • URL matches what's in your browser address bar (or the clean version without parameters)
  • No conflicting noindex tag on the same page
  • The canonical URL itself returns 200 OK (not a redirect)

  • Canonical tags and hreflang (international SEO)

    If your site has multiple language versions, canonical tags work alongside hreflang tags — but they don't replace each other.

    • Canonical: Tells Google which URL is the authoritative version of a page's content
    • hreflang: Tells Google which language/region variant to show to which user

    Common mistake: setting a canonical from a French page to the English page. Don't. Each language version should self-canonicalise, and use hreflang to link the variants together.

    
    


    The quick fix checklist

  • Every indexable page has a canonical tag
  • Canonical uses the full HTTPS absolute URL
  • No noindex + canonical conflict on the same page
  • Canonical URL returns 200 OK (no redirects)
  • Paginated pages: ?page=2 canonicals point to the root, not themselves
  • URL parameters (tracking, sorting, filtering) stripped from the canonical URL
  • Run getmetafix.com on your site. Free, 30 seconds, no account needed — it flags canonical issues alongside everything else that's quietly costing you Google traffic.

    Fix your site's SEO in 30 seconds

    Free audit. AI-generated fixes for $29.

    Audit for free →