Canonical & Multilingual website (hreflang), best practice?

Zaw

Newbie
Joined
May 29, 2017
Messages
28
Reaction score
3
Hi there,

I'm trying to figure out how to use canonical & hreflang at the same time for a multilingual website.

I'm currently facing the following issue: "you should make sure to specify a self-referential canonical tag"

Let's suppose I have a blog post in English, and a URL for a french version as well, containing a message saying that the article is not available in french for the moment and displaying the English blog for the french page as well.

Let's suppose I'm on a french page version and I've got the following code for it:

<link rel="canonical" href="/blog/topic-title">
<link rel="alternate" href="https://www.website.com/blog/topic-title" hreflang="en">
<link rel="alternate" href="https://www.website.com/fr/blog/topic-title-fr" hreflang="fr">

This somehow, isn't great as the canonical should point to the french page. But what if I don't have a french page with french content, but only a french page with English content & a message saying that the content in French is not available for the moment, only in English.

Any idea as to how it could get out of the labyrinth?
 
Hello,

Will try to show this on example:

Let's suppose u got blog.com in EN and u have article on it the canonical and href lang to FR version should look like this:

<link rel="canonical" href="blog.com/topic-title">
<like rel="alternate" href="blog.com/fr/topic-title/" hreflang="fr">

and in the other side:

when u are in url: blog.com/fr/topic-title/

should look like this:

<link rel="canonical" href="blog.com/fr/topic-title/">
<like rel="alternate" href="blog.com/topic-title" hreflang="en">

Just remember if u are not using base href in your meta you should use absolute address in your links.
 
Last edited:
Hi @DeathClaw665,

Thanks for your answer. Seems quite clear but I've got a question related to your example:

when u are in url: blog.com/fr/topic-title/
should look like this:
<link rel="canonical" href="blog.com/fr/topic-title/">
<like rel="alternate" href="blog.com/topic-title" hreflang="en">

This seems logical, but would it also apply if the "blog.com/fr/topic-title/" has the same content than in English? As we currently don't have all the articles translated on our website, loads of the pages have the English content by default for whatever language you pick.

So, by taking the example above, it would mean that you're pointing to "blog.com/fr/topic-title/" as a master copy, but this page is already a duplicate content of the English version (almost the same, besides having warning message saying that it's not available in french for the moment).

Will this not be an issue?
 
Yoast MultiLang SEO does this on autopilot, so no need to worry about.
 
Yeah, unfortunately, I'm not using WordPress. Thus, can't reply on YoastSEO.

So, from the example I took previously, you'd still point the canonical to the French version by default from the french pages although it has already duplicate content? or you'd point it to the English version?
 
Yeah, unfortunately, I'm not using WordPress. Thus, can't reply on YoastSEO.

So, from the example I took previously, you'd still point the canonical to the French version by default from the french pages although it has already duplicate content? or you'd point it to the English version?

Would be much easier if u will send me URL on prv
 
Back
Top