1

Currently I have a website with multiple domains, each domain for a specific language. However, I also have sub folders with each language. For example:

www.en_site.example/en  
www.en_site.example/fr  
www.fr_site.example/en  
www.fr_site.example/fr  

And of course the www.en_site.example/fr domain is the same content as www.fr_site.example/fr

The meta tags in the English site

<link rel='alternate' href='https://www.en_site.example/en' hreflang='en' />
<link rel='alternate' href='https://www.en_site.example/en' hreflang='en-ca' />
<link rel='alternate' href='https://www.fr_site.example/fr' hreflang='fr' />
<link rel='alternate' href='https://www.fr_site.example/fr' hreflang='fr-ca' />
<link rel='alternate' href='https://www.en_site.example/en' hreflang='x-default' />
<link rel='canonical' href='https://www.en_site.example/en' />

The meta tags in the french site

<link rel='alternate' href='https://www.en_site.example/en' hreflang='en' />
<link rel='alternate' href='https://www.en_site.example/en' hreflang='en-ca' />
<link rel='alternate' href='https://www.fr_site.example/fr' hreflang='fr' />
<link rel='alternate' href='https://www.fr_site.example/fr' hreflang='fr-ca' />
<link rel='alternate' href='https://www.en_site.example/en' hreflang='x-default' />
<link rel='canonical' href='https://www.fr_site.example/fr' />

When I test the URLs in the SEO tool, the domain language URL with the same locale to the domain, it works. But when I change the locale it fails. Example:

Testing FR:
https://www.fr_site.example/fr -> It works
https://www.fr_site.example/en -> Returns error: "Missing return link" & "Non-self-referencing canonical URL in HTML"

Testing EN:
https://www.en_site.example/en-> It works
https://www.en_site.example/fr -> Returns error: "Missing return link" & "Non-self-referencing canonical URL in HTML"

I tried adding the URLs to the language but it complains that there are duplicate tags with the same language.

Am I missing some tags or am I doing it wrong?

0

I don't see anything wrong with Hreflang annotation, it could be the tools that is causing an issue, however, I never used this tool. Its worth to test is GSC to see if it does return any issues.

0

You shouldn't be using x-default because it is for a catch all page to direct users to the correct language. See: Introducing "x-default hreflang" for international landing pages

You should always use the country, or you should always omit it from the hreflang. It doesn't make sense to have a hreflang with the country and a duplicate without it. If your site is only useful to users in Canada, then you should include the country in the hreflang. If your website can be used by visitors from around the world, then you should omit it.

Your non-canonical URLs should only have a canonical tag and they should not have a hreflang.

www.en_site.example/en

<link rel='alternate' href='https://www.en_site.example/en' hreflang='en' />
<link rel='alternate' href='https://www.fr_site.example/fr' hreflang='fr' />
<link rel='canonical' href='https://www.en_site.example/en' />

www.en_site.example/fr

<link rel='canonical' href='https://www.fr_site.example/fr' />

or use a 301 permanent redirect to take users to the preferred URL.

www.fr_site.example/en

<link rel='canonical' href='https://www.en_site.example/en' />

or use a 301 permanent redirect to take users to the preferred URL.

www.fr_site.example/fr

<link rel='alternate' href='https://www.en_site.example/en' hreflang='en' />
<link rel='alternate' href='https://www.fr_site.example/fr' hreflang='fr' />
<link rel='canonical' href='https://www.fr_site.example/fr' />

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.