Multilingual WordPress: WPML and Polylang
Traditionally the most popular plugin for implementing multilingual WordPress has been WPML. This is mostly because WPML was the first multilinguality plugin and it quickly became well-known and largely used. WPML works at Seravo and it can be used if desired.
However we recommend getting familiar with newer and lesser-known alternative called Polylang, which we find simply better than WPML. Every simple task that is needed in multilingual WordPress site can be achieved with it's open source free edition. For advanced needs Polylang offers paid Polylang Pro.
Compared to WPML, Polylang's codebase is newer and lighter, which is why it runs more reliably and quickly. In WordPress speed tests conducted by Seravo, WPML has been the root cause to the slowness quite often. Many WP developers have got tired of the little problems that haunt WPML and Polylang's popularity is soon getting ahead of WPML in Finland. Polylang is advancing quickly because it's codebase is open source, while the makers of WPML don't accept enhancements to their code from other developers or cooperate with the community in the spirit of open source.
There are also other alternatives, such as MultilingualPress.
Known issues with WPML
Some pages that are using WPML are known to have issues with redirections. Normally WordPress will redirect the address www.example.com to example.com, if the home/siteurl values are set as such. WPML, however, bypasses this core WordPress functionality. This causes a situation that the website might be shown from both and www.example.com and example.com.
This is why the site developer has to make sure that the if the site uses WPML, it must also have a working canonical domain -redirection. Tips on how to build this functionality into PHP code can be found on our developer documentation.
WPML is also notoriously famous for being slow, as the way it loads the translations involves an excessive amount of reading thousands of files and making hundreds of database lookups.
There are also many reported issues with WPML not being fully compatible with object cache / Redis. Apparently the WPML developers don't test their code in environments that have Redis.