For many WordPress websites, going multilingual represents a key challenge. There is already a huge pile of articles and posts describing the different solutions available to do it. Unfortunately, multilingual can be very tricky, especially if you discover you’re not indexed by Search Engines in all your languages.
The purpose of this article is to better understand how multilingual SEO works and to provide the tools to properly assess and select a WordPress multilingual solution compatible with Google best practices.
Multilingual SEO: Google best practices
Google released a guide on best ways to create a multilingual website. By the way, this guide is meant for all websites and not only WordPress ones.
As an intro, here are the two most important rules to properly be indexed in all your languages:
RULE #1: one different URL for each language
You must absolutely separate the different versions of your page. For example:
- http://mydomain.com/hello/: returns a page in English
- http://mydomain.com/fr/hello/: returns a page in French
To separate the different versions of your page, you can choose between different URL structures:
- Subdomain: fr.mydomain.com/hello/
- Subdirectory: mydomain.com/fr/hello/
- Dedicated domain: mydomain.fr/hello/
Don’ts: if the IP address comes from France, then http://mydomain.com/hello/ returns the page in French, otherwise http://mydomain.com/hello/ returns the page in English.
Because, it would prevent Google from indexing the page in French, as Google comes from the US, it will never see the page in French.
Prefer options 1 or 2. Solution 3 is more expensive to set-up and you could be blocked as some domains could already be acquired or could require specific access conditions.
RULE #2: let Google know about the different versions of your website
Once you have your different pages for each language, you have to warn Google to be sure it will properly crawl each page. To do so, you have two options:
- Hreflang tag: you add the following tag in the <head>: <link rel=”alternate” hreflang=”es” href=”http://es.example.com/” /> to indicate there is a page in Spanish
- Sitemap: instead of using hreflang tags, you can provide this information in your website sitemap.
Et voilà! By following this two rules, you will have a clean multilingual website, properly indexed by Google in all your languages.
What about WordPress?
Don’t worry! You wouldn’t have to apply the above rules yourselves. Thanks to WordPress, you will use a plugin that can handle it for you.
Now that we know how Google works, we are able to explore the different multilingual solutions available on WordPress and assess if they follow SEO best practices or not.
The purpose of this part is not to detail how plugins work (it has already be done and you’ll find numerous lists and tutorials here and elsewhere) but rather to determine if, yes or no, the plugin follows Google SEO best practices.
The multisite solution aims at completely split up the sites, through subdomains or subdirectories for example. This approach follows Google best practices and will be totally compatible with multilingual SEO.
Unfortunately, this process does not change the URL and the page is not reloaded. Therefore, we understand that these solutions are not compatible with multilingual SEO. Your website will not be indexed in foreign languages.
“Source Codes” plugins
Furthermore, these plugins manage the hreflang tags to let Google know translated pages exist. So, these solutions are perfectly compatible with multilingual SEO.
List of SEO compatible multilingual plugins
In the multilingual plugins jungle, it can be very difficult to know how they work, especially when you only have the description as information. You could easily have a disappointing surprise: not being indexed in all your languages.
So we tried to break down a few multilingual plugins to understand how they work and to know if they are following Google SEO best practices.
|Weglot Translate||Source code||Yes|
If you’d like to know if another multilingual plugin is SEO compatible, feel free to ask in the comments, we’ll add it to the list.