Background of the issue:
I'm experiencing severe slowdowns in the WordPress admin area, especially when accessing pages like /wp-admin/plugins.php, /wp-admin/edit.php, and /wp-admin/post.php. After reviewing PHP logs, I found that WPML String Translation is calling maybeAdjustPathToStandardLanguageFolders() and is_file() thousands of times, causing high memory usage and long response times. When String Translation is off, everything runs much faster. I've reviewed WPML's string translation performance tips and general optimization guides, but I need direct support due to the severity of the slowdown. https://wpml.org/forums/topic/string-translation-slow-website/
Symptoms:
Severe slowdowns in the WordPress admin area related to WPML String Translation, with high memory usage and long response times.
Questions:
How can I resolve the performance issues caused by WPML String Translation?
Are there specific settings or optimizations for WPML String Translation to reduce memory usage and response times?
Generally, the performance issues are not caused by the WPML plugins, but by an interaction with third-party functionalities. I kindly ask you to follow these steps to isolate the cause of the problem and get more information about it:
- Create a full site backup or create a staging site with a copy of the live site (you can use WP Staging plugin for free to create the staging site)
- Update any outdated plugins or themes
- Flush any cache memory that might exist
- Deactivate all plugins, including the WPML ones
- Activate a default WordPress theme, like Twenty Twenty
- Activate the WordPress debug mode by following the steps described in this guide: https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
- Activate the WPML plugins
- If the issue disappeared, start by activating the theme and then the rest of the plugins, one by one, until the issue appears again and you find the culprit
- Also, check if there is any error related to the performance issue in the debug.log file located within the wp-content folder
Please let me know the results of the steps described above.
I followed the steps as suggested. As I mentioned previously, after deactivating the WPML String Translation plugin, the backend performance improved significantly. The issue seems to be directly linked to this specific plugin.
Additionally, my logs (including php-slow.log) consistently point to this plugin as the source of the slowdown.
Would it be possible for me to provide access to a staging/test site where the issue is replicated? This way, you can examine it more closely in a safe environment. I'm also happy to share the php-slow.log file with you if that helps with the investigation.
Yes, creating a staging site and sharing the access credentials is a good way to isolate the cause of the issue. I have set your next message private so you can share the credentials in a secure way.
Important note: The steps you described (deactivating WPML String Translation plugin) don't rule out the possibility that the cause of the issue is in a third-party functionality that is conflicting with the WPML plugins. That is the reason I asked to follow the steps in a specific order.
Hi there,
Thank you for creating the staging site and sharing the credentials.
I tried deactivating all plugins, but now the site throws a 500 error (an error that comes from the server). Please activate debug mode as described in this guide: https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/. Then, share the last fatal error that may appear in the debug debug.log file located within the wp-admin folder to know where the error is coming from.
Hi Carlos,
I fixed it. Try not to deactivate the Advanced Custom Fields PRO plugin; after that, all the others may remain disabled.
You can continue checking. I'm here for any questions.
Can you fix it again? I made an honest mistake and deactivated exactly ACF Pro.
Also, I kindly ask you to deactivate all plugins, including ACF Pro -if possible- and activate a default WordPress theme. In case you can't deactivate ACF Pro, even with a default WordPress theme, then leave it active.