[Waiting for user feedback] Slow website and large wp_option autoload
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.
Our wait time is higher than usual, please make sure you are meeting the minimum requirement - https://wpml.org/home/minimum-requirements before you report issues, and if you can take a look at current Known Issues - https://wpml.org/known-issues/. Thank you.
Background of the issue:
I am trying to address a slow website issue, particularly on the Dashboard side, where loading times can reach 15 seconds. Site Health indicates a large number of records in wp_option autoload. We've changed web hosting several times and even tried a local environment, but the website still times out with error 504. Using Query Monitor, I noticed a slow HTTP call linked to WPML: GET hidden link cURL error 28: Operation timed out after 5000 milliseconds with 1702220 out of -1 bytes received. The issue can be seen at hidden link.
Symptoms:
The website is experiencing very long loading times, especially on the Dashboard. There is a cURL error 28 indicating a timeout after 5000 milliseconds. The site also goes into timeout with error 504.
Questions:
How can I reduce the loading time on the Dashboard?
What can be done about the large wp_option autoload records?
How do I resolve the cURL error 28 linked to WPML?
What steps should I take to prevent the website from timing out with error 504?
Languages: English (English )German (Deutsch )French (Français )
Timezone: Europe/Zagreb (GMT+02:00)
It looks like the REST API might be disabled on your site. To check this, we ping the REST endpoint and store the result as a transient. If that transient isn’t being set, the system keeps trying to ping repeatedly. This could be a sign there's an issue with the wp_options table in your database that's preventing transients from being saved correctly.
Can you please try the following:
1. Manually set a transient named `_transient_wp-rest-enabled-ping` with the value `enabled`. You can do this by temporarily adding the following code to your theme’s `functions.php` file or via a plugin like Code Snippets: