SEO in itself can already get quite complicated, but with multiple languages in a single Joomla site this can become even more complicated. There are simply more issues to consider, adding up to the complexity of the matter. This blogpost is all about this. First I will discuss the general issues that you should consider and then I will discuss how to implement these into Joomla. Finally I will shortly discuss some multi-language extensions.
One thing that you may worry about is whether the same content being shown in your site, though in separate languages, would not be considered as duplicate content by Google. Luckily Google states that this is not the case, so no need to worrie here. You simply have to make sure Google and humans understand your translations and the multilingual set-up of the site. The following guidelines are crucial fort his:
Some of these point need further explanation, let’s start:
Make sure you know whether you are targeting countries or languages. This is an extremely important choice to make. If you make the wrong choice, you may end up with a site that is set-up completely incorrect. As an example: if you target French readers and you do this on a domain with a .fr domain, like www.example.fr, you may miss out on French readers in Canada… Mistakes like this are very hard to solve once the site is live!
You should make sure users can see from the URL which language the page is for. The URL is made up of domain, folders/subfolders and URL parameters:
The rel=”alternate” tag is probably the most important configuration item in multilingual SEO: to keep Google happy, you should make sure that you specify which page is a translation of which other page and vice-versa. This means that if you have a translation of a page, it should specify the source-page this page is a translation of, while also the source page specifies the page it is translated into. Even more, this should also count for all other languages the page is translated into. Finally, Google also requires you to self-reference the page. All this is done through the rel="alternate" hreflang="xx-XX" tags, with the languages specified. This sounds complicated, but basically all copies of a translation should reference each other. Let’s explain this with an example:
Say we have a site called www.example.com with four translations: English, French, German and Dutch. EVERY translation should include the following code in the <head> section:
<link rel="alternate" href="http://example.com/en" hreflang="en-GB" />
<link rel="alternate" href="http://example.com/de" hreflang="de-DE" />
<link rel="alternate" href="http://example.com/fr" hreflang="fr-FR" />
<link rel="alternate" href="http://example.com/nl" hreflang="nl-NL" />
You could even have the same situation for variations of a language, like English, which has American, British, Australian, etc. variations. Also, you can also use this technique if your content is on different websites! By the way, if you have a page that is not translated, or only in one or two languages of the four, simply exclude the not-translated URL.
Finally, note that you can also use alternative options for this: instead of in the <head> section, you can also specify these variations in your sitemap. Especially if you have completely separate domains this can be easier to implement sometimes.
Once your site has been set-up correctly you should also set-up Google Webmaster Tools to reflect the multilingual situation. As a start, Google advises you to to register all 4 variations as separate sites! So make sure to perform the registration separately for www.example.com/en and www.example.com/nl, etcetera (including www and non-www versions). This will allow you to submit separate sitemaps for each translation and optionally also specify Geographical Targets if you have country-specific distinctions (do not set Geographical Targets if you have language-specific distinctions otherwise you may restrict your French site to France only).
Basically we now know what we should aim for, and luckily, in Joomla, this is not that hard. First of all, simply follow the basic guidelines for a multilingual site (install languages, set-up an all-languages default menu and separate menu’s per language, assign languages, publish language switcher, etc.). Since this blogpost focusses on the SEO aspects, I advise you to check online for tutorials, like this one here).
The good news is: once you have done so, largely your site set-up should be pretty good already. I will simply discuss the items that have SEO consequences. One thing I need to mention at this stage: Joomla currently generates the rel=”alternate” tags for the translations of the current page. However, the current page does not include a self-referencing rel=”alternate” tag as is required. I reported this as an issue (https://github.com/joomla/joomla-cms/issues/6923) and this will probably be fixed in the near future (Update: fixed in Joomla 3.4.2).
Now let’s walk through the relevant parameters in Joomla:
First we have the System-language Filter plugin. This plugin controls how the site behaves and has several parameters. The default settings are actually fine and perfect for SEO, though sometimes they are changed:
Next to the Language Filter plugin we also have the System - Language Code plugin:
It is sometimes used to add localized versions of the language strings to the <head> section of the page. This is explained here. The output is applied as follows:
Finally we also have the Language Switcher module, but you can simply set it as you want, there are no real SEO issues with that module.
There are quite a few extensions for multilingual Joomla websites. There are many small ones and a few more popular ones:
You see, there is a lot to consider when it comes to multilingual sites. Use this blogpost as a guideline, but also check other sources, as there may sometimes be opposed opinions, and I certainly do not claim to own the absolute truth here. I checked quite a few online resources while creating this blogpost, so feel free to check those and others as well:
Finally, If you are located in the Netherlands, Perfect Web Team organizes an expert session on multilingual sites on June 26th 2015, register here.
Joomlaseo.com is fully built and written by Simon Kloostra, SEO Specialist and Webdesigner from the Netherlands. I have also published the Joomla 3 SEO & Performance SEO book. Next to that I also sometimes blog for companies like OStraining, TemplateMonster, SEMrush and others. On the monthly Joomla Community Magazine I have also published a few articles.