Skip Navigation

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

Problem:
The client reported that their website became significantly slower on both the frontend and backend after installing WPML plugins. The issue was confirmed to be resolved by removing specific custom code from the

login.php

page in their custom theme.
Solution:
We recommend reviewing the custom theme for compatibility with WPML. If you are the theme author or have the ability to modify the theme, please consult our documentation on achieving WPML compatibility for themes and plugins. You can find the best practices and guidelines here:

If this solution does not seem relevant to your situation, or if you need further assistance, please open a new support ticket in our WPML support forum.

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.

This topic contains 9 replies, has 2 voices.

Last updated by Bobby 1 year, 5 months ago.

Assisted by: Bobby.

Author Posts
December 16, 2023 at 1:42 pm #15077381

nicolasG-86

Hi,

I notice that my website has become very slow both in the frontend and especially backend after installing the WPML plugins (+ 10 s loading time). If I deactivate these plugins, my suspicion is confirmed and the website runs at least 5x faster/smoother. Can you take a look at what is going wrong here?

Thanks in advance and have a nice day!

Nicolas Ghyssaert

December 19, 2023 at 7:54 am #15089293

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Hi Nicolas,

I will provide you with some first steps, please let me know if this helps

1. Go to WPML->Settings-> Scroll down to the Post Types Translation section and verify that the second option, "translatable – use translation if available or fallback to default language" is not selected

2. Temporarily deactivate 'Query Monitor'

3. Temporarily switch to a standard theme such as Twenty20 or a parent theme

(NOTE: Always have a recent and working backup before making any changes recommended by our team or a 3rd party)

Do any of these help with the loading time? , let me know your results, please.

December 19, 2023 at 9:41 am #15090435

nicolasG-86

Hi Bobby,

First of all, thank you for your help.

Took the steps but no (faster) result. For example, when I temporarily deactivate the WPML Multilingual CMS I notice that it does seem to be the culprit. When deactivating this plugin, the WooCommerce orders page (in the backend) loads in +/- 3 seconds, with this plugin active +/- 12 seconds (thus unworkable).

Could you please continue your search with me for a solution or optimisation?

Thanks in advance and have a nice day!

Nicolas Ghyssaert

December 19, 2023 at 5:29 pm #15095557

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

I would like to request temporary access (wp-admin and FTP) to your site to test the issue.
(preferably to a test site where the problem has been replicated if possible)

**Before we proceed It is necessary to take FULL BACKUP of your database and your website. Providing us with access, you agree that a backup has been taken **

I often use the Duplicator plugin for this purpose: http://wordpress.org/plugins/duplicator/
You will find the needed fields for this below the comment area when you log in to leave your next reply.
The information you enter is private which means only you and I have access to it.

NOTE: If access to the live site is not possible and the staging site does not exist please provide me with a duplicator package created with the duplicator plugin.

Thank you,
Bobby

December 23, 2023 at 1:21 am #15121977

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Thank you for the access details!

I was able to run some tests and can confirm the same results as you.

To further debug I took a copy of the site to test locally to avoid breaking a live production environment and was able to locate the bottleneck.

I test with a minimal environment (meaning all third party plugins off except WPML) and the issue remained.

Once I switched to a standard theme such as Twenty23 the issue was resolved and was able to clock the same load speeds on the orders page with both WPML activated or deactivated.

It looks like the performance issue is coming from the theme Opgemerkt + WPML

is this a custom theme?

Screen Shot 2023-12-22 at 5.18.01 PM.png
December 24, 2023 at 1:44 pm #15124307

nicolasG-86

Hi Bobby,

This is indeed a custom theme. Can you see in the theme what is causing this issue?

Thanks in advance and have a nice day.

Nicolas Ghyssaert

December 28, 2023 at 12:58 pm #15134824

nicolasG-86

Hi Bobby,

Have you been able to check what, if any, is the culprit in the custom (Opgemerkt) theme?

Thanks in advance and have a nice day!

Nicolas Ghyssaert

December 30, 2023 at 1:17 am #15137792

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Hi Nicolas,

apologies for the delayed response due to the holidays. I did do a quick review however I was not able to locate where the bottleneck is coming from. Unfortunately, our support is limited when it comes to custom work.

I'd suggest contacting the author of the theme or if you are the author please review the following documentation on custom themes for the best practices when using WPML

https://wpml.org/documentation/support/achieving-wpml-compatibility-for-your-themes-and-plugins/

January 3, 2024 at 8:44 am #15145499

nicolasG-86

Hi Bobby,

Best wishes for the new year. Thanks for the help, since I am the author of the custom theme myself, I am going to look for it myself. Thanks for the help!

Have a great day!

Nicolas Ghyssaert

January 3, 2024 at 5:20 pm #15148234

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Happy New Year Nicolas to you as well!

Thank you for updating me!

January 4, 2024 at 10:11 am #15149906

nicolasG-86

Hi Bobby,

Found the problem and managed to solve it by removing the code below (for now) from the login.php page in my custom theme (custom admin login page).

/* Lost password */
function opgemerkt_change_lost_password_message($text) {
if ($text === 'Vul je gebruikersnaam of e-mailadres in. Je ontvangt een e-mailbericht met instructies om je wachtwoord opnieuw in te instellen.'){
$text = 'Vul je gebruikersnaam of e-mailadres in. Je ontvangt hierna automatisch een e-mail met instructies om je wachtwoord opnieuw in te stellen (check eventueel je SPAM map indien je deze e-mail niet direct ziet binnenkomen in je inbox).';
}

return $text;
}
add_filter('gettext', 'opgemerkt_change_lost_password_message');

function opgemerkt_change_lost_password_message_done($text) {
$login_url = site_url('wp-login.php', 'login');
$pos = strpos($text, 'Controleer je e-mail voor de bevestigingslink en bezoek vervolgens de');

if (is_int($pos)) {
$text = 'Check je mailbox, je ontvangt dadelijk automatisch een e-mail met instructies om je wachtwoord opnieuw in te instellen (check eventueel je SPAM map indien je deze e-mail niet direct ziet binnenkomen in je inbox).';
$text .= 'Ga alvast terug naar de login pagina';
}

return $text;
}
add_filter('gettext', 'opgemerkt_change_lost_password_message_done');

/** Password reset **/
function opgemerkt_change_reset_password_message($text) {
if ($text === 'Geef je nieuw wachtwoord hieronder in of geneer een nieuwe.'){
$text = 'Geef je nieuw wachtwoord hieronder in en klik op "Wachtwoord opslaan". Zorg ervoor dat je wachtwoord minimaal twaalf tekens lang is. Gebruik hoofd- en kleine letters, nummers en speciale tekens om het sterker te maken.';
}

return $text;
}
add_filter('gettext', 'opgemerkt_change_reset_password_message');

function opgemerkt_change_reset_password_message_done($text) {
$login_url = site_url('wp-login.php', 'resetpass');
$pos = strpos($text, 'Je wachtwoord is opnieuw ingesteld.');

if (is_int($pos)) {
$text = 'Je wachtwoord is opnieuw ingesteld.';
$text .= 'Ga alvast terug naar de login pagina';
}

return $text;
}
add_filter('gettext', 'opgemerkt_change_reset_password_message_done');

Thanks for the help and have a nice day.

Nicolas Ghyssaert