How to Develop a Multi-Language Website for Correct Search Engine Optimization
In this article, we explain how to develop a multi-language website for correct search engine positioning. What should you consider in SEO for a multi-language website?
Many sites need to be presented in different languages to their users. Of course, it is a good idea to offer content in the language of each region, but you must take into account several fundamental practices for good SEO on multi-language pages and, above all, not be penalized by Google for offering duplicate content.
How to properly make a multi-language site
Very simple, you have to separate the content in a structured way into different HTML documents or pages. Remembering that a website is made up of several pages, it is perfectly possible that some are in one language and others in other languages.
However, it is important that you have an organization easily understood by the search engine on duty. That is, it is not about creating pages in a crazy way in the same folder with each of the languages, but making it easy for Google and other engines to recognize the language that corresponds to each part of the web.
Mainly you can organize the contents in different ways:
- In different directories: the page could have an example.com/es directory for Spanish and one example.com/fr for French, example.com/en for English.
- In different subdomains: the page could have a main domain www.example.com in English and then the other languages could be in addresses such as es.example.com or fr.example.com
- In different domains: each page with a country domain ending that you touch: example.com for English, example.es for Spanish, example.fr for French.
What is the best solution for multi-language?
It depends on various reasons, so there is no one solution that is always the best in all multi-language sites. Some of the criteria that you can take into account are the following:
- Directory division can be fine because it allows us to work with a single domain and possibly lower costs. Furthermore, the domain authority is shared for all translations.
- The division by subdomains is interesting because it is also inexpensive (once you have purchased a domain you can generate all the subdomains you want, although this depends rather on the hosting company we have, on many occasions they charge us as separate accommodation for each domain) and for improving the content organization. For practical purposes, a subdomain is like an independent website, so for Google, they will be like different projects. However, it is easier for domain authority to be shared in some way.
- The division by top-level domains (.com, .es, .fr ...) is more expensive because it does or does not require that you have purchased several different domains. But already put to invest, you could have each website of each domain in a different geographical position, closer to the place of your target audience, which can also positively influence SEO for that specific region.
In my opinion, the average term of subdomains is the most appropriate in many cases, since it allows having a very defined organization, under the same umbrella, but keeping projects well separated. We achieve a clear and defined structure and keep projects separate.
The case of different top-level domains may be fine for multinationals that want to maintain a different website in each country, where there may even be different information in each region, with different content and adapted to such a market. That is, projects as more independent, each managed by the team from that country.
The case of directories I do not see as recommended, because there is not such a clear division, although it may be enough if you take into account other important details to separate the content. We will explain them below.
So is this the only thing we have to take into account to make multi-language sites? The truth is, no. Now we will see how to further separate the content and inform Google of the versions of each language, to avoid SEO problems.
As I said, it is important that Google knows how to identify each page, be it directory or domain, so that it understands them for what they are: different versions of a website for each language.
For this, there are some important tags that we must incorporate on the website. They are the hreflang tags, which are placed at the head of the page.
It's just a little extra marking, so using them doesn't have any mystery or difficulty. They have this form:
<link rel="alternate" href="https://example.com" hreflang="en" /> <link rel="alternate" href="https://es.example.com" hreflang="es" /> <link rel="alternate" href="https://fr.example.com" hreflang="fr" />
You should put a series of these hreflang tags on each page of your site, indicating the corresponding URL for each of the language versions where the same content can be found. That is, we link each version of the page between all languages in the same way. That would be the configuration for the home, but you could have an "about" page (about us) that would have the labels like this:
<link rel="alternate" href="https://example.com/about" hreflang="en" /> <link rel="alternate" href="https://es.example.com/about" hreflang="es" /> <link rel="alternate" href="https://fr.example.com/about" hreflang="fr" />
This configuration can also be done through your sitemap, something I see more useful for cases where you have a directory structure:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> <loc>https://example.com</loc> <xhtml:link rel="alternate" hreflang="en" href="https://example.com" /> <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es" /> <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr" /> </url> <url> <loc>https://example.com/es</loc> <xhtml:link rel="alternate" hreflang="en" href="https://example.com" /> <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es" /> <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr" /> </url> <url> <loc>https://example.com/fr</loc> <xhtml:link rel="alternate" hreflang="en" href="https://example.com" /> <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es" /> <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr" /> </url> </urlset>
In principle, it seems sufficient to have one of these possibilities to define the pages of each language, but I leave you the link to the information on hreflang tags published as help by Google itself: Inform Google of localized versions of pages. On this page, you can find more first-hand information.
Well translated texts, on-page and metadata attributes
This part seems a bit obvious, but it costs nothing to comment on it too. You must pay attention to the quality of the texts. Google is able to read the text as a person would, to know if it is the text generated by a machine or is the text used in the colloquial language.
Therefore it is important that the translations are of quality. You should not simply leave an automatic translation by any computerized translator.
You also have to pay attention to translate the texts of the images that appear in the alt attributes, the title attributes of the links and any other place where texts appear that should be located.
If the images include texts written in the image itself, you should also translate them, although here it is not so clear that Google can perceive that the translation is missing, at least you should do it to improve the user experience of your visitors.
The conclusion to multi-language SEO
SEO for a multi-language website is a delicate subject to which we must pay due attention. Currently, there are useful mechanisms to inform Google of the versions of a website in each language, so it is not a complicated task.
As always, you should also make sure to offer a good user experience, which includes a clear structuring of the website and quality translations of each of the elements on the page.