For websites targeting a global audience, the `hreflang` tag is a critical tool for telling search engines about localized versions of your content. However, its power is undermined when it sends conflicting signals. One of the most common and damaging mistakes is having an `hreflang` attribute that points to a non-canonical URL. This creates a “two-faced” page, where you are telling search engines that a page is an official alternate version, while simultaneously suggesting that a different URL is the master copy. This confusion can have a significant negative impact on your international SEO.

Think of it like this: you have two business cards for the same person, but each card has a slightly different address. Which one is correct? A potential client might get confused and go to the wrong location, or they might just give up. Similarly, search engines faced with conflicting signals may index the wrong page or split the ranking signals between the two versions, weakening both. For a broader look at hreflang, see our main guide on the hreflang category.

An illustration of two masks, symbolizing the importance of fixing not using canonical in hreflang.

Why Hreflang and Canonical Tags Must Agree

The rule is simple: every URL in your `hreflang` attributes must be a canonical URL. As explained in Google’s documentation on localized versions, the canonical tag (`rel=”canonical”`) is your way of telling search engines which version of a URL is the definitive one. The `hreflang` tag then builds on this by identifying the specific language and region for that definitive URL.

Code Example: The Conflict

Here is an example of the error. The `hreflang` tag points to a URL with a tracking parameter, but the canonical tag on that page correctly points to the clean URL.

<!-- On the US page --> <link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page?source=cpc" /> <!-- On the UK page (https://example.com/uk/page?source=cpc) --> <link rel="canonical" href="https://example.com/uk/page" /> 

Code Example: The Fix

The fix is to ensure the `hreflang` attribute points directly to the canonical URL.

<!-- On the US page --> <link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page" /> <!-- On the UK page (https://example.com/uk/page) --> <link rel="canonical" href="https://example.com/uk/page" /> 

How to Find and Fix These Hreflang Errors

Manually checking every `hreflang` and canonical tag on a large site is nearly impossible. The most efficient way to solve this is with a web crawler.

  1. Crawl Your Site: Use an SEO audit tool like Creeper to crawl your entire website. The tool will identify all `hreflang` tags and the canonical status of each URL.
  2. Filter for Errors: The crawler will produce a report that specifically flags every instance where an `hreflang` link points to a non-canonical URL.
  3. Update Your Hreflang Annotations: Armed with this report, you can systematically update your `hreflang` tags to ensure they all point to the correct canonical URLs.

The SEO Power of a Well-Structured Website

A well-structured website sends clear, consistent signals to search engines. By ensuring your `hreflang` and canonical tags are in perfect alignment, you eliminate confusion and consolidate your ranking signals, leading to better performance in international search results. For more on this, check out this guide to the hreflang tag from Moz.

An illustration of a checklist, symbolizing the importance of making sure your website is free of not using canonical in hreflang.

Frequently Asked Questions

What does it mean to not use a canonical in hreflang?

This error occurs when your `hreflang` tags for different language or region versions of a page point to URLs that are not the designated canonical versions. For example, an `hreflang` tag might point to a URL with a tracking parameter, while the canonical tag on that page points to the URL without the parameter. This sends conflicting signals to search engines.

Why is this a problem for SEO?

Search engines may become confused about which version of the page to index and show to users. This can lead to the wrong language version being shown in search results, or it can dilute link equity across multiple URLs, weakening your overall ranking potential. It creates a poor user experience and undermines your international SEO efforts.

How do I fix hreflang tags pointing to non-canonical URLs?

The fix is to ensure that every URL listed in your `hreflang` attributes is the one you have designated as the canonical URL for that page. You can use a web crawler like Creeper to audit your `hreflang` and canonical tags simultaneously. The tool will flag any inconsistencies, allowing you to update your `hreflang` annotations to point to the correct canonical URLs across your entire site.

Ready to fix your two-faced pages? Start your Creeper audit today and see how you can improve your website’s hreflang implementation.