Canonicalized hreflang annotation URL
This means that the URL in question has at least one outgoing hreflang annotation which 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 French 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 French page, and to instead index the Canadian page.
So the hreflang is saying 'please index the French page', and the canonical is saying 'don't index the French 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 contains hreflang annotations, where at least one of the hreflang URLs is canonicalized.
Note: This Hint is very similar to another Hint: Canonicalized URL defined as hreflang alternate. The difference being that this Hint is analysing the page with hreflang on (i.e. outgoing hreflang) whereas the other Hint is analysing the target page of a hreflang annotation (i.e. incoming hreflang).
Examples that trigger this Hint:
Consider the URL: https://example.com/page-a/
The Hint would trigger for this URL if it included an hreflang annotation:
where this hreflang page had a canonical tag that is not self-referential:
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.