Hello,
I have a live multilingual site, with English as the default language, and 5 other ones.
All links in the html <head> section of the articles are fine for the rel="alternate" hreflang="..." attributes:
<link href="https://mysite.com/url-en" rel="alternate" hreflang="en-GB">
<link href="https://mysite.com/de/url-de" rel="alternate" hreflang="de-DE">
<link href="https://mysite.com/fr/url-fr" rel="alternate" hreflang="fr-FR">
<link href="https://mysite.com/es/url-es" rel="alternate" hreflang="es-ES">
<link href="https://mysite.com/pt/urf-pt" rel="alternate" hreflang="pt-BR">
<link href="https://mysite.com/zh/url-zh" rel="alternate" hreflang="zh-CN">
All above URLs (url-de, url-fr, url-es, url-pt & url-zh) are UTF-8 with the right characters (ü, è, é, á, ó, â, 更, 统, 腺, 支, etc).
The problem is with the canonical link.
Below the rel="alternate" links, the rel="canonical" link is not UTF8 - for instance in Chinese (zh):
<link href="https://mysite/zh/%E6%9B%B4%E5%A4etc" rel="canonical">,
hence with ASCII encoding and all the "%" followed by two hexadecimal digits.
I don't understand why the canonical link is not correct (ASCII) when the line right above is ok (UTF-8): rel="alternate" for zh shows the right characters (更, 统, 腺, 支, etc).
I have tried in vain:
- Online search: old posts, Joomla forums, Stack Overflow, github, etc
- Browsers issue (Firefox, Chrome, Edge, cookies etc)
- Joomla setup: SEF & multilingual
- MySQL: all tables seem ok, with UTF-8 encoding
- Quick search on "canonical" in Joomla's code (not a pro but I have developed a component a few years ago) - no clue
Any help would be appreciated.
Thanks!
Advertisement
Multilingual: "alternate" links are ok (UTF-8) but not the "canonical" link (ASCII)
Moderator: General Support Moderators
Forum rules
Forum Rules
Absolute Beginner's Guide to Joomla! <-- please read before posting, this means YOU.
Forum Post Assistant - If you are serious about wanting help, you will use this tool to help you post.
Windows Defender SmartScreen Issues <-- please read this if using Windows 10.
Forum Rules
Absolute Beginner's Guide to Joomla! <-- please read before posting, this means YOU.
Forum Post Assistant - If you are serious about wanting help, you will use this tool to help you post.
Windows Defender SmartScreen Issues <-- please read this if using Windows 10.
-
- Joomla! Fledgling
- Posts: 3
- Joined: Mon Nov 04, 2024 10:39 pm
Advertisement
- pe7er
- Joomla! Master
- Posts: 25262
- Joined: Thu Aug 18, 2005 8:55 pm
- Location: Nijmegen, Netherlands
- Contact:
Re: Multilingual: "alternate" links are ok (UTF-8) but not the "canonical" link (ASCII)
Welcome to Joomla forum!
I have experience with multilingual websites but not with the Chinese language.
How did you configure your "Unicode Aliases"?
Check Global Configuration > Site > SEO (at the bottom) > "Unicode Aliases"
Is it enabled to allow non-ASCII characters in URLs?
I have experience with multilingual websites but not with the Chinese language.
How did you configure your "Unicode Aliases"?
Check Global Configuration > Site > SEO (at the bottom) > "Unicode Aliases"
Is it enabled to allow non-ASCII characters in URLs?
No: Joomla transliterates aliases which contain non–latin-1 characters using the transliteration engine provided by the Joomla language pack for the content's selected language, e.g. über becomes ueber for en-GB (English, Great Britain).
Yes: Joomla does not transliterate aliases; the alias is used as is, e.g. über remains as–is.
Kind Regards,
Peter Martin, Global Moderator
Company website: https://db8.nl/en/ - Joomla specialist, Nijmegen, Netherlands
The best website: https://the-best-website.com
Peter Martin, Global Moderator
Company website: https://db8.nl/en/ - Joomla specialist, Nijmegen, Netherlands
The best website: https://the-best-website.com
-
- Joomla! Guru
- Posts: 552
- Joined: Sat Aug 20, 2005 3:15 pm
- Contact:
Re: Multilingual: "alternate" links are ok (UTF-8) but not the "canonical" link (ASCII)
Hi
1 - What you see is not really important, the URL in the canonical tag is simply URL-encoded and Google will know how to handle it
2 - Do you know what produces this canonical tag?
Joomla by default does not insert a canonical, unless you have entered a domain name in the options of the Joomla SEF system plugin. If you did that, then remove the domain name: the Joomla-generated canonical is not useful, it was not meant for "SEO" canonicalization and is not able to determine which URL is canonical.
And you don't need a canonical tag if you don't have duplicate content.
1 - What you see is not really important, the URL in the canonical tag is simply URL-encoded and Google will know how to handle it
2 - Do you know what produces this canonical tag?
Joomla by default does not insert a canonical, unless you have entered a domain name in the options of the Joomla SEF system plugin. If you did that, then remove the domain name: the Joomla-generated canonical is not useful, it was not meant for "SEO" canonicalization and is not able to determine which URL is canonical.
And you don't need a canonical tag if you don't have duplicate content.
4SEO, 4AI, 4Command, 4Podcast, 4Video, SEO and content extensions for Joomla 3, 4 & 5 - https://weeblr.com
I don't reply to PM anymore. Thanks for using our extensions.
I don't reply to PM anymore. Thanks for using our extensions.
-
- Joomla! Fledgling
- Posts: 3
- Joined: Mon Nov 04, 2024 10:39 pm
Re: Multilingual: "alternate" links are ok (UTF-8) but not the "canonical" link (ASCII)
Hi Pe7er and shumisha,
Thanks for your help.
@Pe7er:
"Unicode Aliases" is set to yes.
From what I've seen, Joomla transliteration in articles works fine with all languages I use, except Chinese.
For instance with de, fr, es & pt, aliases keep their "special characters: ü, è, é, á, ó, â...", and get rid of spaces, colon signs (:) etc, and add hyphens to what would be a clean URL.
It's not the case with Chinese: article aliases are just the copy of the title! sometimes with one hyphen here or there, but with all spaces, colons etc.
The good news is that my Chinese articles get their url from one word menu items, thus no problem accessing them thru menu navigation. But no chance to access them thru aliases that have non-valid url characters.
My conclusion: Joomla not yet ready for development in China
@shumisha:
Considering all this complexity, with your info about how canonical links matters for our preferred search engine, I have removed the domain name in the SEF plugin.
I will see what influence it has on "Why pages aren’t indexed" in Google Search Console:
"Duplicate without user-selected canonical"
"Duplicate, Google chose different canonical than user"
What also bothers me is that the hreflang tag testing tools (https://technicalseo.com/tools/hreflang/) recommended by Google (https://developers.google.com/search/do ... n-mistakes) give me errors like :
- “Self-referencing: Missing” for the url tested
- "Missing return link” for every url quoted in ‘alternate hreflang’ in the url tested (i.e. all other languages).
- plus obviously a mismanaged “x-default”.
All this while scrupulously using the Joomla multilingual standard.
Conclusion: I think Joomla still has some room for improvement in its multilingual & SEO management, but Google knows this and correctly interprets what it needs for its search results.
Thanks for your help.
@Pe7er:
"Unicode Aliases" is set to yes.
From what I've seen, Joomla transliteration in articles works fine with all languages I use, except Chinese.
For instance with de, fr, es & pt, aliases keep their "special characters: ü, è, é, á, ó, â...", and get rid of spaces, colon signs (:) etc, and add hyphens to what would be a clean URL.
It's not the case with Chinese: article aliases are just the copy of the title! sometimes with one hyphen here or there, but with all spaces, colons etc.
The good news is that my Chinese articles get their url from one word menu items, thus no problem accessing them thru menu navigation. But no chance to access them thru aliases that have non-valid url characters.
My conclusion: Joomla not yet ready for development in China
@shumisha:
Considering all this complexity, with your info about how canonical links matters for our preferred search engine, I have removed the domain name in the SEF plugin.
I will see what influence it has on "Why pages aren’t indexed" in Google Search Console:
"Duplicate without user-selected canonical"
"Duplicate, Google chose different canonical than user"
What also bothers me is that the hreflang tag testing tools (https://technicalseo.com/tools/hreflang/) recommended by Google (https://developers.google.com/search/do ... n-mistakes) give me errors like :
- “Self-referencing: Missing” for the url tested
- "Missing return link” for every url quoted in ‘alternate hreflang’ in the url tested (i.e. all other languages).
- plus obviously a mismanaged “x-default”.
All this while scrupulously using the Joomla multilingual standard.
Conclusion: I think Joomla still has some room for improvement in its multilingual & SEO management, but Google knows this and correctly interprets what it needs for its search results.
-
- Joomla! Guru
- Posts: 552
- Joined: Sat Aug 20, 2005 3:15 pm
- Contact:
Re: Multilingual: "alternate" links are ok (UTF-8) but not the "canonical" link (ASCII)
Hi
A correct and valid canonical would be good, when needed. But the one Joomla generates through the SFE plugin is not good enough and you are better off removing it, regardless of your issue with URL encoding.Considering all this complexity, with your info about how canonical links matters for our preferred search engine, I have removed the domain name in the SEF plugin.
In my many years with Joomla and Joomla multilingual sites, I have found that Joomla's implementation is very good and does not show the problems you mention.I think Joomla still has some room for improvement in its multilingual
That's unlikely and will definitely would not happen with a site done "according to Joomla ML standard". It looks more like you have issues in your menu configuration. I'd suggest reviewing all that, and especially the fact you have proper home menu items in each languages, and proper associations where needed.What also bothers me is that the hreflang tag testing tools (https://technicalseo.com/tools/hreflang/) recommended by Google (https://developers.google.com/search/do ... n-mistakes) give me errors like :
- “Self-referencing: Missing” for the url tested
- "Missing return link” for every url quoted in ‘alternate hreflang’ in the url tested (i.e. all other languages).
- plus obviously a mismanaged “x-default”.
All this while scrupulously using the Joomla multilingual standard.
4SEO, 4AI, 4Command, 4Podcast, 4Video, SEO and content extensions for Joomla 3, 4 & 5 - https://weeblr.com
I don't reply to PM anymore. Thanks for using our extensions.
I don't reply to PM anymore. Thanks for using our extensions.
Advertisement