High This Hint is very important, and definitely warrants attention. Issue This Hint represents an error or problem that needs to be fixed.

Canonicalized URL has incoming hreflang

This means that the URL in question is defined as a hreflang alternate, yet is canonicalized to another URL.

Why is this important?

Hreflang tags are interpreted by search engines as indexing instructions. An English page that has hreflang pointing at its French alternate is instructing search engines to index both the English version and the French version, and to consider each as equivalent in their respective languages.

If this English page was canonicalized to another URL (for argument's sake, we'll call it a Canadian page) then this would be an instruction to not index the English page, and to instead index the Canadian page.

So the hreflang is saying 'please index the English page', and the canonical is saying 'don't index the English page.'

This type of conflicting instruction serves to confuse search engines, to the point where they will ignore the canonical and/or hreflang, and make up their own mind about which are the right URLs to index.  

What does the Hint check?

This Hint will trigger for any URL which is defined as a hreflang alternate, yet is also canonicalized.

Note: This Hint is very similar to another Hint: Has outgoing hreflang annotations to canonicalized URLs. The difference being that this Hint is analysing the target page of a hreflang annotation (i.e. incoming hreflang) whereas the other Hint is analysing the page with hreflang on (i.e. outgoing hreflang).

Examples that trigger this Hint:

Consider the URL: https://example.com/us/page-a/

The Hint would trigger for this URL if it had a canonical tag that is not self-referential:

<link rel="canonical" href="https://example.com/us/page-b/" />

and if the URL is listed as an hreflang alternate, either on another page, or on the page itself via a self-referencing hreflang;

<link rel="alternate" href="https://example.com/us/page-a/" hreflang="en-us" />
<link rel="alternate" href="https://example.com/fr/page-a/" hreflang="fr-fr" />

How do you resolve this issue?

The problem with this sort of conflicting instruction is that it is not instantly obvious which page is causing the error. Either the hreflang is wrong or the canonical is wrong. This is what will cause search engines to guess, and they may not guess correctly.

The best solution is take the situation into your control, so that they do not need to guess. And this starts with figuring out which is the correct hreflang URL, which may require manual inspection.

Once you have established this, it should be straightforward to work out the next step:

  • If the hreflang URL is correct, then the canonical is incorrect, and should be changed to a self-referential canonical.
  • If the hreflang URL is not correct, then the outgoing hreflang annotations should be corrected so they point to the correct URL.

Further Reading

There's a version of Sitebulb for everyone!

No project limits. No crawl credits. We save you time and we save you money.

Sitebulb Desktop

Try Sitebulb's award-winning desktop crawler for Windows or Mac:

Try our fully featured 14 day trial. No credit card required.

Try Sitebulb Desktop for Free

Sitebulb Server

Everything you love about cloud crawling, paired with everything you love about Sitebulb:

We offer fully managed cloud server plans or a DIY server license.

Explore Sitebulb Server