Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
When WPML plugins are active, the site slows down.

Solution:
There are a number of steps that can help improve performance, and this ticket includes a checklist you can follow to make your site faster.

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Tagged: 

This topic contains 1 reply, has 1 voice.

Last updated by Nigel 9 months, 3 weeks ago.

Assisted by: Nigel.

Author Posts
February 27, 2024 at 4:43 pm #15350227

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

My site slows down when WPML plugins are active more than I expect.

What can I do about it?

February 27, 2024 at 5:11 pm #15350474

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

Let me share some more generic advice about tackling performance issues, before turning to some specific steps you might take that relate to WPML itself.

Performance issues tend to become noticeable on larger sites such as e-commerce sites, and these can quickly multiply when you make the same content available in many other languages.

[ ] - So the first step is to make sure that your site is adequately resourced. The minimum requirements for WPML (https://wpml.org/home/minimum-requirements/) are very much a minimum, and larger sites should have more memory and server resources to function well.

[ ] - Use PHP 8 (performance improved a lot compared to PHP 7), but not the most recent versions (at the time of writing, PHP 8.2 versions) because it takes time for themes and plugins, and WordPress itself, to catch up and ensure compatibility.

[ ] - Caching is invaluable. You can use page caching plugins such as Super Cache, W3 Total Cache, or WP-Rocket, and preferably also object caching, for example via Redis and a plugin like https://wordpress.org/plugins/redis-cache/.

[ ] - Do not use any kind of SSL-helping plugins. They produce significant overhead by redirecting every request. To use https properly, just convert all links in the database using a safe search-replace plugin such as Better Search Replace or via WP-CLI.

[ ] - Consider using the plugin Index WP MySQL For Speed (https://wordpress.org/plugins/index-wp-mysql-for-speed/). WordPress table indexes are not optimised, and this plugin updates the table indexes to improve performance.

[ ] - Don't have debugging plugins like Query Monitor active in production, they add overhead. (Likewise make sure Xdebug is not active on your production server.) Review your list of plugins more generally to ensure you are only using plugins that are actually needed. (That includes WPML Media, which is only needed if you need to display different images when showing translated content; it is not needed to translate image texts such as captions.)

[ ] - Naturally, you page weight should be as low as possible, which means optimising assets such as JavaScript and CSS files, as well as compressing images.

More specifically, relating to WPML:

[ ] - Consider disabling "display as translated" (Fallback mode) from post types and taxonomies (in which case content will only be shown on secondary languages where translations exist; the resulting queries are much simpler).

[ ] - Try disabling the setting to "Adjust IDs for multilingual functionality" at WPML > Languages > Make themes work multilingual. Recommended themes should not need this setting.

[ ] - Turn off "Track where strings appear on the site" in String Translation if it is active.

[ ] - Remove untranslated strings and strings that are not needed, as described in https://wpml.org/documentation/getting-started-guide/string-translation/#attachment_9608145

[ ] - From the troubleshooting page (via WPML > Support) at wp-admin/admin.php?page=sitepress-multilingual-cms/menu/troubleshooting.php try the "Cleanup and optimize string tables" and "Clear invalid strings" options. It might also be helpful to "Remove ghost entries from WPML tables".

Doing all of the above should make quite a difference to the performance of your site.

If you have done these steps and still have performance concerns arising from WPML we may need to access your site to take a closer look to see if we can identify the pain points and their causes, in which case please open a new ticket.