Goodbye WPML!

You might remember the huge WooCommerce project we launched recently. One of the biggest sore points in the project was WPML, the plugin that enables multiple languages within WordPress.

Although the WPML customer support was fairly helpful we just never could get the website working as smoothly and fast as we would have wanted it to. At the time there wasn’t any (better) alternative to really translate WooCommerce so there wasn’t much to do about it.

In other WordPress projects we have already given up on WPML but for WooCommerce that was unfortunately not an option.
There have been rumours since a long time that Polylang would add support for WooCommerce and there have been some projects surfacing every now and then but given the size of our projects we had to wait until something “real” would be available.
Much to our surprise around a month ago Polylang for WooCommerce launched a beta and as soon as we read about it, it was clear we had to give it a try.

Using WPML2Polylang I immediately tried to do the switch on my local development environment as I just wanted to see what happens. In no way did I expect this to work out.
After letting it run for some time indeed it crashed with an error, I had to increase some timeouts and tweak some mariadb settings.

Some minutes later I could barely believe what I saw, WPML was gone, Polylang activated and the website pretty much worked as before – way better than what I had expected.

I did some tests on several pages and was looking for errors from the migrations but could not find any.
Playing around with the admin interface I was amazed about the gained speed, most of our old problems seemed to be in the past.
There were some issues I stumbled upon but after contacting the developer they got sorted out pretty much immediately.

He apologised for never having tested it with such a huge shop (around 8,000 products with roughly 32,000 product variants and thousands of attributes) and was then fixing some unnecessary calls and improved the code here and there.
I have to say this is the best customer support I have ever dealt with (Thanks @polylang) and I feel confident about relying onto third parties in this project for once.

By now everything is working so smoothly, we could downscale the servers and the website is still faster than before.

The most painful thing was that we had to refactor some code in our custom plugins as Polylang offers different calls than WPML. Even that was easier then expected as Polylang tries to be as compatible as possible with WPML.
The biggest difference is you cannot switch the language on the fly in code within Polylang. That hasn’t really been a problem for us as there are some workarounds for our use-case but that might be something worth thinking about before going for this transition.

Our message for everyone out there running a multilingual WooCommerce shop: Get Polylang for WooCommerce, your website will reach the next level 🙂