How to switch from WPML to Polylang?

A few Polylang users asked how to switch from WPML. That’s pretty easy to do manually but it is quite boring to do if there are tons of posts to migrate (you would have to set all languages and translations manually).

Thus I wrote a small plugin which does automate the conversion. It imports languages, all posts and terms languages as well as translations, strings translations, multilingual nav menus and also WPML options when they have their counterpart in Polylang.

How to proceed?

Important: Although WPML data should not be corrupted, as Polylang data are created without deleting anything, make a database backup before proceeding.

  • De-activate WPML
  • Download and activate Polylang and WPML to Polylang. Do not create any language with Polylang.
  • Go in Tools -> WPML Importer
  • If all checks are passed, you can click on ‘Import’
  • De-activate the plugin WPML to Polylang (you can even delete it)
  • Setup a language switcher either as a widget or in nav menus
  • Check that everything is OK
  • If something went wrong and you want to revert to WPML, you can delete Polylang using the red link in Plugins table (it will delete all data created for Polylang) and then re-activate WPML

This plugin is still experimental and does not include error management. It has been tested successfully to migrate a small site with WPML to Polylang 1.3.x. Newer versions of WPML have not been tested. Multisite has not been tested either. Thanks to report your experience (successful or not) with different versions of WPML in the support forum.

I take profit of this post to remind that Matt already wrote a set of ruby scripts to convert a WordPress multilingual site using Polyglot to Polylang.

Picture illustrating the article by Alexas_Fotos and licensed under CC0 Public Domain.