While this was a hunch, it has recently been verified WordPress, if you’re not using it in your native language, US English, is slowerits performance suffers due to the internal translation system.
In fact, in tests conducted by the performance team, a WordPress installation translated into any available language is up to 50% slower than without translationin the default language.
Internationalized WordPress sites currently download the file .po
Yes .mo
containing the translations, e the system default is slowrequires additional queries and is not cacheable.
Performance test
The performance team tested various optimization methods for this problem…
Test in the administrative area
Tongue | Scenario | object cache | memory usage | Full charge time |
---|---|---|---|---|
in U.S | Default | 15.42MB | 139.83 ms | |
from_OF | Default | 31.92MB | 187.76 ms | |
from_OF | Ginger MO (MO) | 20.07MB | 164.94 ms | |
from_OF | Ginger MO (PHP) | 17.09MB | 139.66 ms | |
from_OF | Ginger MO (JSON) | 20.06MB | 160.87ms | |
from_OF | native gettext | 15.95MB | 143.43 ms | |
from_OF | Dynamo | 20.58MB | 166.79 ms | |
from_OF | Cache in the APCu | 58.13MB | 190.38 ms | |
in U.S | Default | ✅ | 15.66MB | 112.69 ms |
from_OF | Default | ✅ | 31.84MB | 164.26 ms |
from_OF | Ginger MO (MO) | ✅ | 19.99MB | 140.70 ms |
from_OF | Ginger MO (PHP) | ✅ | 17.01MB | 118.52 ms |
from_OF | Ginger MO (JSON) | ✅ | 19.98MB | 138.49 ms |
from_OF | native gettext | ✅ | 15.87MB | 120.01 ms |
from_OF | Dynamo | ✅ | 19.73MB | 120.26ms |
from_OF | Cache in the APCu | ✅ | 58.07MB | 162.41 ms |
from_OF | Cache objects | ✅ | 31.86MB | 164.28 ms |
Test with the classic Twenty Twenty-One theme
Tongue | Scenario | object cache | memory usage | Full charge time |
---|---|---|---|---|
in U.S | Default | 15.35MB | 120.79 ms | |
from_OF | Default | 28.79MB | 172.10 ms | |
from_OF | Ginger MO (MO) | 18.85MB | 145.68 ms | |
from_OF | Ginger MO (PHP) | 16.56MB | 124.73 ms | |
from_OF | Ginger MO (JSON) | 18.84MB | 140.78 ms | |
from_OF | native gettext | 15.58MB | 128.26 ms | |
from_OF | Dynamo | 19.24MB | 146.09 ms | |
from_OF | Cache in the APCu | 50.13MB | 167.28 ms | |
in U.S | Default | ✅ | 15.19MB | 107.26 ms |
from_OF | Default | ✅ | 28.59MB | 154.30 ms |
from_OF | Ginger MO (MO) | ✅ | 18.64MB | 133.21 ms |
from_OF | Ginger MO (PHP) | ✅ | 16.37MB | 112.94 ms |
from_OF | Ginger MO (JSON) | ✅ | 18.64MB | 128.94 ms |
from_OF | native gettext | ✅ | 15.38MB | 115.11 ms |
from_OF | Dynamo | ✅ | 18.10MB | 120.72 ms |
from_OF | Cache in the APCu | ✅ | 49.99MB | 151.82 ms |
from_OF | Cache objects | ✅ | 28.65MB | 156.36 ms |
Test using the Twenty Twenty-Three block theme
Tongue | Scenario | object cache | memory usage | Full charge time |
---|---|---|---|---|
in U.S | Default | 15.60MB | 133.58 ms | |
from_OF | Default | 29.14MB | 181.95 ms | |
from_OF | Ginger MO (MO) | 19.24MB | 159.18 ms | |
from_OF | Ginger MO (PHP) | 16.98MB | 138.14 ms | |
from_OF | Ginger MO (JSON) | 19.24MB | 153.39 ms | |
from_OF | native gettext | 15.99MB | 142.12 ms | |
from_OF | Dynamo | 19.62MB | 157.93 ms | |
from_OF | Cache in the APCu | 50.37MB | 181.51 ms | |
in U.S | Default | ✅ | 15.67MB | 121.53 ms |
from_OF | Default | ✅ | 29.01MB | 167.67 ms |
from_OF | Ginger MO (MO) | ✅ | 19.11MB | 147.19 ms |
from_OF | Ginger MO (PHP) | ✅ | 16.85MB | 127.97ms |
from_OF | Ginger MO (JSON) | ✅ | 19.11MB | 144.43 ms |
from_OF | native gettext | ✅ | 15.86MB | 129.19 ms |
from_OF | Dynamo | ✅ | 18.57MB | 133.46 ms |
from_OF | Cache in the APCu | ✅ | 50.30MB | 170.19 ms |
from_OF | Cache objects | ✅ | 29.07MB | 173.19 ms |
Solutions
The first proposed solution is to carry out the translations using PHP translation files, which load much faster and with the possibility of dynamic queries and even caching.
For that purpose, though the proposal is to embed this improvement in the core of WordPressmeanwhile a plugin or testing conceptcalled Performant Translations, which does exactly what it proposes:
In early tests compared to the previous method, the plugin offers noticeable performance improvements over translated WordPress, although still no improvement over untranslated WordPress.
Another solution is the one proposed by the DynaMo plugin, using dynamic .mo files, which also improves loading times by up to 20%.
Can I use these plugins on my active WordPress site?
Plugins, even if their purpose is to test and that the best possible solution is later incorporated into WordPress core, you can safely install them on your WordPress site. If for any reason you get no results or see a bug, you can report the problem and uninstall it, because the uninstall is clean, deletes all the files it installs and leaves your WordPress as it was before installing the plugin.
The article Did you know that WordPress is up to 50% slower if you don’t use it in English? And how to fix it? Fernando Tellado already posted it in the WordPress Help. What you see here is a copy of said content :/
Source link