Suite aux deux précédents avertissements de mon hébergeur, j’ai pris quelques mesures pour tenter d’endiguer les requêtes superflues au niveau du serveur et d’optimiser mon installation WordPress en général. Aujourd’hui, on essaie de réduire le nombre de requêtes SQL de nos plugins.
Etape 1 : réduire le nombre de plugins
Une installation par défaut de WordPress est assez light au niveau des ressources SQL. Le problème, c’est que l’on a bien souvent tendance à ajouter des plugins à son installation de base qui finissent par ralentir l’ensemble du site. Peut-être même possédez-vous des plugins qui sont devenus obsolètes ou redondants s’ils ont été inclus dans le code source de WordPress. Faîtes un peu le ménage et supprimez les plugins dont vous ne vous servez pas.
Etape 2 : réduire le nombre d’accès à la base de données
Les plugins WordPress étant écrits par différents auteurs – merci la communauté du libre ! – il est possible que certains d’entre eux ne soient pas vraiment (voire du tout) optimisés.
Pas de SELECT *
Un exemple tout simple, on ne devrait jamais voir de requêtes telles que :
SELECT * FROM $wpdb->users WHERE user_login='$wpusername' LIMIT 1
Code language: PHP (php)
Il est inutile de sélectionner l’ensemble des données de la table si l’on a juste besoin de quelques champs :
SELECT display_name, user_url FROM $wpdb->users WHERE user_login='$wpusername' LIMIT 1
Code language: PHP (php)
Pas de COUNT(*)
Mauvaise pratique :
SELECT COUNT(*) FROM user_online
Meilleure pratique, utilisation d’une colonne indexée donc gain de temps puisque l’on ne parcourt pas toute la base :
SELECT COUNT(ac_id) FROM user_online
Etape 3 : installer un plugin de cache
Je vous prépare cela pour un futur tutoriel.
Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.