Après notre dernier article sur les différentes options d’optimisation de WordPress, nous allons rentrer un peu plus dans le détail et faire un comparatif de performances sur 2 plugins avec la même fonction. Comment cela impacte les requêtes et les performances.
Nous avons vu que pour optimiser un site WordPress, il faut éviter de charger la base de données. Hors, selon comment sont faits les plugins, le nombre de requêtes varie considérablement. D’un point de vue de la performance, moins il y a de requêtes et plus le plugin sera optimisé. Nous allons utiliser un cas de figure classique : passer son site en multi-langue, quelles conséquences sur les performances WordPress ?
Le comparatif de plugins multi-langue : WPML vs Polylang
Notre comparatif de performances WordPress se base sur 2 plugins multilangue bien connus : WPML et Polylang.
Le plugin Premium de traduction : WPML
WPML n’exite pas en version gratuite, et est très complet par défaut. Il permet d’aller très loin dans les traductions en proposant des traductions automatiques, une interface propre à WPML, un gestion de traducteurs etc etc. C’est un véritable couteau suisse de la traduction. Mais à quel prix ? C’est ce que nous allons vérifier.
Le plugin gratuit de traduction : Polylang
Polylang a 2 versions : gratuite et payante. La version payante permet notemment de gérer les boutiques Woocommerce. Pour notre test, nous allons volontairement utiliser la version gratuite.
Le test de requêtes et de performances WordPress
La première étape consiste à créer un site WordPress vide pour voir le nombre de requêtes générées par défaut. Ensuite nous installerons successivement les 2 plugins avec entre-temps une réinstallation de WordPress pour s’assurer de repartir de 0. Le système de base de données est le plus courant : MySQL (ou MariaDB).
Nous allons ensuite vérifier le nombre de requêtes sur le tableau de bord WordPress. Un test plus complet serait de faire des tests sur les pages de blog, la page d’accueil du site et le tableau de bord, plusieurs fois et avec plusieurs articles. Mais pour ne pas vous noyer dans les chiffres (et nous simplifier la vie), nous allons rester sur le tableau de bord WordPress.
Etape 1 : combien de requêtes MySQL génère WordPress ?
Après avoir installé un WordPress vierge, on installe et on active le plugin « Query Monitor » afin de voir combien de requêtes génère WordPress.
Voila le résultat en appelant le tableau de bord (wp-admin/index.php)
Nous avons donc par défaut 38 reqêtes en base de données. On peut également voir un temps de réponse de 0.3s et 33Mo en memoire. Ces deux chiffres ne sont pas ceux qui nous interressent principalement, mais il sera interressant de les comparer ensuite.
Etape 2 : installation de Polylang (version gratuite)
De la même manière que l’extension query monitore, on installe le plugin de traduction Polylang.
configuration :
- 2 langues, francais et anglais
- traduction des médias activée
La configuration est très simple, et cela se note sur le nombre de requêtes. On retourne sur le tableau de bord :
Polylang n’a ajouté que 5 requêtes. Nous sommes passé de 38 à 43 requêtes. L’utilisation mémoire a à peine augmenté, de même que le temps de génération de la page.
Le plugin n’alourdit que très peu WordPress.
Etape 3 : installation de WPML
On réinstalle un wordpress vierge, puis on installe query monitor et wpml. WPML étant un plugin premium, il ne s’installe pas depuis la bibliothèque mais bien via l’installeur « Téléverser une extension »
Ensuite on passe à la configuration :
- Ajout d’une langue : anglais
- Configuration de la langue par repertoire (/en)
- Ajout de la clef de licence
- Ajout du plugin « StringTranslation » qui s’avère être nécessaire dans de nombreux cas
On retourne sur le tableau de bord et là :
WPML fait passer le nombre de requêtes de 38 à 92, soit plus du double ! On peut aussi voir que logiquement, le temps de réponse ainsi que l’utilisation mémoire ont augmenté.
Conclusions du test de requêtes MySQL sur WordPress
Nombre de requêtes | Utilisation Mémoire | Temps de génération | |
WordPress Seul | 38 | 33Mo | 0.35s |
Avec Polylang | 43 | 35.8Mo | 0.38s |
Avec WPML | 92 | 46Mo | 0.52s |
Que veut dire ce tableau comapratif de performances ? Faut-il dénigrer WPML et foncer tête baissée sur Polylang pour votre WordPress ? Non (enfin si, mais ca dépend).
Tout d’abord, il faut nuancer. Ce « test » compare 2 plugins qui, s’ils permettent la traduction, ne sont pas vraiment comparables en l’état. Polylang se contente de « relier » 2 posts pour faire la correspondance entre français et anglais, dans notre cas. WPML de son coté a toute une interface de gestion des traductions, une option de traduction automatique, un système de traduction de chaines très abouti, et même une gestion de traducteurs. En gros, si Renault est l’option de traduction, Polylang serait une twingo et WPML l’espace. Logiquement, le Renault espace consomme plus que la twingo !
Donc si l’usage de ces deux plugins fait toute la différence, le but de cet article n’était pas de justifier l’usage de l’un ou de l’autre mais bien de constater l’importance du choix du plugin et de son impact sur votre site.
On voit clairement que WPML est plus lourd que Polylang. Alors, si les 2 plugins répondent à votre besoin de traduction, autant choisir le plus léger ! Et cela prévaut pour tous les plugins WordPress. Il est important de bien les choisir, les tester et s’assurer que chaque plugin ajouté n’impactera pas négativement votre site à cause des requêtes en base de données !