Il arrive à des milliers de personnes chaque jour: pour une raison mystérieuse, que leur site Web, fait avec WordPress ou Drupal, devienne du jour au lendemain lent (je veux dire 3 à 10 fois plus lent que d’habitude).

Le tableau de bord prend plusieurs secondes à se charger (plus de 2 secondes c’est que quelque chose cloche), et tout cela devient pénible. Dans les cas extrêmes, toute la page pourrait même être temporaire et renvoyer un message « incapable de servir la page », ce qui est le cauchemar de chaque navigateur.

Après avoir contacté le support technique de votre société d’hébergement, un technicien examine plusieurs fichiers journaux et revient avec une réponse redoutée :

«Je vois des requêtes lentes dans votre fichier journal des requêtes MySQL, optimisez votre application ».

Comprenez cela ainsi : « C’est votre faute, débrouillez-vous ». Mais votre site web a-t-il vraiment causé cela ? Peut-être pas.

Dans ce tutoriel, nous vous expliquerons de manière détaillée ce qui rend votre site web  WordPress lent.

Si vous n’avez jamais installé WordPress découvrez Comment installer un blog WordPress en 7 étapes et Comment rechercher, installer et activer un thème WordPress sur votre blog 

Mais revenons vers ce pourquoi nous sommes là.

Pré-requis de base

Comme c’est le cas pour tout problème d’hébergement, il est toujours préférable de faire tout ce qui est en votre pouvoir pour tracer la source du problème. Gardez à l’esprit que la plupart des serveurs d’hébergement ne sont pas là pour prendre en charge votre application Web, mais assurez-vous simplement que le serveur fonctionne normalement (consultez votre accord avec ce dernier).

Toute société d’hébergement qui apportera une assistance sur votre application est certainement une affaire intéressante, car bon nombre des problèmes quotidiens proviennent de la couche de l’application.

Voici quelques étapes faciles qui peuvent vous aider à trouver le problème par vous-même:

  • Avoir une mesure de performance claire à surveiller/améliorer :
    • Nombre de requêtes SQL (ID 16-80 pour une plage normale)
    • Temps de génération de la page (performance php)
      • Le temps nécessaire pour que le serveur construise la page à partir de la base de données et du modèle. Ceci est habituellement inférieur à une seconde, entre 0,3 et 0,7s).
    • Les plugins comme « WP Page Load Stats » ou « WP Super Cache » fournissent ces informations.
  • Essayez de désactiver les plugins, en commençant par les moins critiques, et voyez si les paramètres s’améliorent
  • Passez à l’un des thèmes par défaut de WordPress comme TwentyFifteen. Je sais, c’est probablement pas le meilleur thème si vous êtes en production. L’alternative est de créer un clone de votre serveur.
  • Important : si l’utilisation de votre CPU est très élevée, ou si votre serveur est surchargé :
    • Assurez-vous d’avoir un plugin de mise en cache installé et fonctionnant (la plupart des personnes peuvent installer et configurer WP Super Cache en quelques minutes).
    • Sans mise en cache, même un site web moyennement « visité » peut être en manque de ressources

Si la charge du serveur est trop sévère, tous les métriques seront faussés ou totalement faux, de sorte que le travail de détective sera plus difficile. Si vous n’avez pas accès aux statistiques d’utilisation du CPU Linux, consultez les pages vues de votre site web dans les statistiques de WordPress, Google Analytics (qui a des statistiques en temps réel) ou un autre outil d’analyse.

Si vous voyez une poignée de personnes naviguer sur le site web, il est peu probable que vous consommiez beaucoup de ressources, mais cela dépend vraiment de la configuration de votre site web.

Vous pouvez cloner le serveur, ou l’étendre suffisamment pour avoir des données logiques à des fins de débogage. Sinon, trouvez ce qui est en train de consommer la CPU et résolvez ce problème en premier.

Causes possibles pour les requêtes lentes sur MySQL

Il est important de reconnaître qu’il pourrait très bien être la faute de votre site web, et donc de votre faute. Voici une requête légèrement lente (2.13 secondes), bien que les choses puissent être bien pires … vous pouvez l’essayer vous-même:

SELECT SQL_NO_CACHE SQL_CALC_FOUND_ROWS wp_posts. * À partir de wp_posts INNER JOIN wp_term_relationships ON (wp_posts .ID = wp_term_relationships .object_id ) INNER JOIN wp_term_taxonomy ON(wp_term_relationships .term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id ) INNER JOIN wp_terms ON (wp_term_taxonomy .term_id = wp_terms .term_id ) WHERE 1 = 1 ET wp_term_taxonomy .Taxonomy = 'post_tag'ET  wp_posts .post_type = 'post' AND (wp_posts .post_status = 'publish' ) GROUPBY wp_posts .ID ORDER BY wp_posts .post_date DESC LIMIT 0 , 6Post_dateDESC LIMIT 0 , 6Post_date DESC LIMIT 0 , 6

Resultat dune requete

Les raisons peuvent inclure :

  • Des plugins qui effectuent des requêtes intensives vers la base de données, comme les publications connexes … recherchent des plugins exécutés chaque fois que vous chargez une page
  • Une très grande base de données (2 millions de lignes)
  • Un nombre très élevé de requêtes MySQL (des centaines par page)
  • Nombre élevé de vues de page pas mise à cache (conduit à un nombre élevé de requêtes)
  • Un mélange de tout ce qui précède, même à faible dose.

Avec de nombreux services d’hébergement partagés, la base de données se trouve sur une machine différente de celle qui contient Apache et PHP, de sorte que les problèmes de performance sont plus isolés. Si vous avez un serveur privé virtuel (VPS), MySQL et PHP peuvent résider dans la même machine.

Cela signifie que la pression de performance sur Apache/PHP peut également affecter les performances MySQL. Cela peut rendre le problème un peu plus difficile, alors gardez un œil sur l’utilisation actuelle du CPU lors de la vérification des performances de la requête. Si le CPU (ou l’IO du disque) est déjà saturée, cela générera des faux positifs.

Améliorez votre compréhension des erreurs PHP en lisant : Initiation à la compréhension des erreurs php sur WordPress.

Mais si vous n’avez rien changé (peut-être qu’une mise à jour automatique s’est produite ?) Et si votre site web a une taille relativement modeste (base de données inférieure à 200 Mo), vous ne risquez pas d’étouffer les ressources du serveur de la base de données, surtout si vous utilisez une application testée comme WordPress, avec des paramètres simples et des plugins fiables.

Il existe un certain nombre de raisons qui justifient les requêtes MySQL lentes qui ne sont pas liées à votre application Web:

  • Problèmes matériels avec le serveur MySQL
  • Problèmes de connectivité avec le serveur MySQL
  • Nombre limité de connexions simultanées MySQL (moins de 10)
  • Paramètres de configuration inadéquats sur le serveur MySQL
  • Latence du réseau entre le serveur web et le serveur MySQL
  • Les ressources partagées sont maltraitées par un autre client
  • Stockage lent du serveur
  • Et bien plus…

Dans ce cas, la société d’hébergement Web devrait trouver et résoudre le problème. Encore une fois, vérifiez votre accord avec ce dernier, mais cela devrait être possible dans la plupart des cas.

Découvrez aussi quelques plugins WordPress premium  

Vous pouvez utiliser d’autres plugins WordPress pour améliorer la vitesse de votre blog et pour optimiser la prise en main de votre blog ou site web.

1. WP Instant Search & Auto Suggest

Le plugin WordPress WP Instant Search & Auto Suggest vous permet d’obtenir instantanément des suggestions d’articles, de pages et de types de publications personnalisés lors d’une recherche sur votre blog WordPress. Il fonctionne avec Visual Composer et Cornerstone.

Wp instant search auto suggest plugin wordpressSes fonctionnalités sont entre autres : la recherche en mode plein écran, la recherche instantanée dans les types de publications personnalisés, trois styles de design intégrés, entièrement personnalisable via les paramètres, fonctionne avec WPBakery et Cornerstone et bien plus.

Télécharger | Démo | Hébergement Web

2. Borlabs Cache

WordPress est une plateforme alimentée par une base de données qui génère du contenu de manière dynamique. Plus vous avez de contenu et de plugins, plus de requêtes de base de données sont exécutées. Ce qui peut ralentir les performances de votre site web, notamment lorsque votre base de données est située sur un serveur différent.

Borlabs cache wordpress caching plugin

Le plugin WordPress Borlabs Cache enregistre le contenu généré dynamiquement sous forme de fichier statique sur la mémoire de votre serveur. Lorsque la page est demandée, ce fichier statique est chargé et envoyé au visiteur, ce qui est considérablement plus rapide que les requêtes de base de données habituelles. Mais ce n’est pas tout.

Consultez également nos 5 plugins WordPress pour nettoyer la base de données de votre site web

Vos pages contiennent beaucoup d’espaces blancs inutiles ou de commentaires HTML, ce qui augmente la taille globale de la page. Borlabs Cache les supprime tous et utilise GZIP pour compresser vos pages.

Découvrez Comment afficher toutes vos publications WordPress sur une seule page

De nombreux plugins ont leurs propres fichiers JavaScript et CSS, ce qui entraîne davantage de demandes sur votre serveur. Borlabs Cache combine tous ces fichiers JavaScript et CSS afin que, dans le meilleur des cas, votre visiteur n’ait à charger qu’un fichier JavaScript et un fichier CSS.

Télécharger | Démo | Hébergement Web

3. Lighthouse

Pour que WordPress puisse s’installer et fonctionner correctement, c’est-à-dire rapidement et sans erreur, il a besoin d’un peu de nettoyage. Lighthouse est un outil d’optimisation des performances. Son rôle consiste à se débarrasser des différents défauts de WordPress; il peut s’agir des filtres, des actions, des codes introduits, des codes intégrés, ou des actions de tiers.

Lighthouse plugin wordpress

Ce nettoyage a pour but d’améliorer le cache du navigateur et les plugins de mise en cache afin que ceux-ci puissent travailler à 100% de leur efficacité.

Télécharger | Démo | Hébergement Web

Autres ressources recommandées

Nous vous invitons aussi à consulter les ressources ci-dessous pour aller plus loin dans la prise en main et le contrôle de votre site web et blog.

Conclusion

Voila ! C’est tout pour cet article dédié aux meilleurs plugins WordPress conçus pour vous permettre d’améliorer la vitesse de votre blog WordPress ou de votre site web. 

Cependant, vous pourrez aussi consulter nos ressources, si vous avez besoin de plus d’éléments pour mener à bien vos projets de création de sites internet, en consultant notre guide sur la création de blog WordPress ou celui sur Divi : le meilleur thème WordPress de tous les temps.

Si vous avez des commentaires ou des suggestions, n’hésitez pas à nous en faire part dans la section réservée. Mais, si vous avez aussi aimé cet article, n’hésitez surtout pas à le partager sur vos réseaux sociaux.