Nous aimons tous WordPress. Beaucoup d’entre nous ici chez Kinsta ont des façons différentes de contribuer à la communauté WordPress en dehors du travail. Moi-même, je dirige un blog de marketing où je partage des moyens uniques que vous pouvez utiliser pour passer votre site WordPress à un niveau supérieur. Vous pourriez penser que puisque je travaille pour une société d’hébergement, mes sites fonctionneraient comme par magie et n’auraient jamais de problème. Cependant, WordPress n’est pas toujours ensoleillé et rose. Vous risquez de rencontrer des problèmes occasionnels et c’est pourquoi il est si important d’avoir les outils et l’équipe de support en place pour quand cela arrivera.

Aujourd’hui, je vais me plonger dans la façon dont j’ai débogué un étrange (probablement un sur un million) problème de performance WordPress sur mon site, avec les outils et stratégies qui sont venus à mon secours. Bien que chaque cas comme celui-ci soit assez unique, le flux de travail pour le dépannage reste généralement le même. J’inclus donc ce que j’aime appeler une « Liste de contrôle de performance WP – Choses qui arrivent ». Espérons que vous pourrez l’utiliser la prochaine fois que vous vous retrouverez dans une impasse avec des problèmes de performance de WordPress hors de votre compréhension ou de votre contrôle.

Soyons honnêtes... diagnostiquer les problèmes de performance de #WordPress ⚡ peut s’avérer très difficile parfois. C’est pourquoi vous avez besoin d’un hébergeur de qualité sur lequel vous pouvez… Cliquez pour Tweet

Liste de contrôle des performances de WordPress (quand les choses arrivent)

Cette liste de vérification de performance est un peu différente. Au lieu de partager comment vous pouvez accélérer votre site WordPress, ceci se concentre sur ce qu’il faut faire pour la prochaine fois que vous vous retrouverez dans une situation délicate. Et il y en aura la prochaine fois, vous pouvez compter dessus. Peut-être que votre hébergeur vous fait signe en disant que votre site est en train de surcharger le serveur. Ou peut-être avez-vous remarqué que quelque chose ralentit votre site vers le bas, comme les requêtes admin-ajax.php si populaires.

Avant de lever les mains en l’air et d’arrêter, suivez les recommandations ci-dessous. Il y a une réponse à tout, mais la trouver peut parfois être difficile.

  1. Mettre en œuvre la surveillance de performance
  2. Profitez d’outils comme New Relic
  3. Utilisez la mise en développement – C’est là pour une bonne raison
  4. Investissez dans un hébergement WordPress Premium
  5. Les entreprises de maintenance font un pas de plus
  6. N’ayez pas peur de soulever un problème avec le développeur
  7. Vous pouvez toujours engager un développeur WP

1. Mettre en œuvre la surveillance du temps de disponibilité et de performance

On n’est jamais trop préparé quand il s’agit de ce genre de questions. L’une des meilleures choses que vous pouvez faire pour vous assurer d’être au courant de l’état de fonctionnement de votre site avant vos visiteurs est de mettre en place une surveillance du temps de disponibilité et des performances. Et en fait, c’est exactement comme ça que j’ai découvert à l’origine que mon site avait des problèmes. Kinsta vérifie l’état de tous les sites que nous hébergeons toutes les 2 minutes. Cela se traduit par 720 contrôles par jour pour chaque site hébergé.

Surveillance du temps de disponibilité

Surveillance du temps de disponibilité

En fait, grâce à New Relic Synthetics et APM, nous avons également la possibilité, si nécessaire, de surveiller un certain nombre de points de données différents concernant les sites WordPress :

  • Temps de chargement de l’utilisateur final
  • Temps de chargement du serveur d’application
  • Taux d’erreur
  • Débit de traitement
  • Taux de réussite (temps de disponibilité)
  • Scores Apdex
Scores Apdex

Scores Apdex

Cela concerne à la fois le temps de disponibilité et la surveillance des performances. Si un site tombe en panne, l’équipe Kinsta le sait avant vous. Si un site que nous surveillons dépasse largement les seuils de performance interne acceptables, nous vous contacterons également et vous aiderons à résoudre le problème avec votre site.

Parfois, cela peut impliquer l’intégration d’un développeur tiers, surtout si un mauvais code est à l’origine. Ou cela pourrait signifier qu’une augmentation des workers PHP est nécessaire. Enfin, ce pourrait être quelque chose qui est facilement réparable.

Nous voulons que vous réussissiez, et avoir un site rapide pour vos visiteurs est toujours l’une de nos plus grandes priorités. Si nous pouvons identifier que l’extension A est à l’origine de la panne de votre site, nous voulons que vous le sachiez. La plupart du temps, nous avons tendance à voir beaucoup de problèmes de performance provenant de mauvaises mises à jour d’extensions, de code bâclé, ou du fait de ne pas supporter la dernière version de PHP, etc.

Outils de surveillance du temps de disponiblité et des performances

Si vous n’utilisez pas Kinsta, il y a encore beaucoup d’outils tiers que vous pouvez utiliser pour vous alerter sur le temps de disponibilité et les performances. En voici quelques-unes que vous voudrez peut-être consulter :

  • updown.io (surveillance de disponibilité)
  • Pingdom (surveillance de disponibilité et de performance)
  • Uptime Robot (surveillance de disponibilité)
  • StatusCake (surveillance de disponibilité et de performance)
  • ManageWP (surveillance de disponibilité et de performance)

2. Profitez d’outils comme New Relic (ils sont précieux)

Des outils comme New Relic ne sont pas seulement parfaits pour surveiller le temps de disponibilité et la performance, ils sont inestimables lorsqu’il s’agit de dépanner d’où vient le problème de performance. Kinsta a une intégration New Relic qui permet aux utilisateurs d’utiliser facilement leurs propres clés de licence. Bien que cela ne soit pas inclus dans notre hébergement, notre équipe de support peut l’activer de notre côté et vous aider à localiser les problèmes si nécessaire. Ou vous pouvez essayer d’utiliser une extension gratuite comme Query Monitor.

Intégration du monitoring New Relic

Intégration du monitoring New Relic

Il y a quelques endroits dans New Relic qui peuvent aider à réduire rapidement les problèmes de performance. Le premier est l’onglet « WordPress → Plugins and themes ». Sur mon site de woorkup, que j’utilise comme étude de cas aujourd’hui, j’ai pu voir instantanément que le problème que je rencontrais venait très probablement de l’extension « gp-premium » que j’ai lancé. Mais pourquoi ? Eh bien, nous y viendrons.

Nouveaux plugins et thèmes Relic

Nouveaux plugins et thèmes Relic

Note : La section ci-dessus dans New Relic n’est pas toujours exacte à 100%. Dans ce cas, ça l’était. Mais il est toujours recommandé de vérifier d’abord ici.

Donc après avoir vu que j’avais un bon pressentiment que c’est quelque chose dans mon extension « gp-premium » (qui est une extension de mon thème WordPress GeneratePress). Sachant cela, je suis alors passé à l’onglet « Transactions ». Nous pouvons immédiatement voir que le nombre de transactions admin-ajax.php a explosé !

Problème New Relic admin-ajax.php

Problème New Relic admin-ajax.php

Pour ceux d’entre vous qui n’ont pas New Relic, n’oubliez pas de consulter notre excellent tutoriel sur la façon de diagnostiquer une utilisation élevée d’admin-ajax sur votre site WordPress. J’ai aussi pu voir des requêtes admin-ajax constantes dans mes journaux WordPress.

Journal d’erreurs WordPress admin requête ajax

Journal d’erreurs WordPress admin requête ajax

L’étape suivante était de creuser dans les transactions admin-ajax.php et d’examiner les requêtes de la base de données qui prenaient le plus de temps. Vous pouvez cliquer dans les onglets « Trace Details » ou « Database Queries ».

Trace de requête de base de données

Trace de requête de base de données

Parfois, la requête elle-même sera un indicateur de l’endroit où se trouve le problème, mais dans ce cas-ci, ce n’était pas le cas. Quelque chose d’autre s’est immédiatement distingué, et c’était le répertoire /gp-premium/. Rappelez-vous plus haut, nous avons vu que « gp-premium » était supposé être l’extension à l’origine du problème. Habituellement, si vous le voyez à la fois dans la section plugin/theme et dans la section trace, c’est un bon indicateur que c’est un bon point de départ.

…s/gp-premium/library/image-processing-queue/includes/wp-background-process.php
Trace de la pile

Trace de la pile

L’étape suivante était d’aller sur Google ! Oui, Google peut être très utile dans de tels cas.

Parfois, pour déboguer les problèmes de performance de #WordPress, vous devez faire un peu de travail de détective. 🕵 Cliquez pour Tweet

J’ai donc cherché « Image Processing Queue ». Le tout premier résultat qui est revenu était l’extension Delicious Brain’s Image Processing Queue. En lisant la description, j’ai pu voir qu’elle était utilisée pour le traitement d’images pour les thèmes WordPress. Essentiellement, les tailles d’image sont générées silencieusement en arrière-plan à l’aide de WP Queue.

File d’attente pour le traitement des images

File d’attente pour le traitement des images

Une recherche rapide de ce même terme avec « GeneratePress » ont permis d’accéder à leur récent journal des modifications. Tada ! Oui, le redimensionnement d’image a récemment été changé dans GeneratePress de Aqua Resizer en Image Processing Queue. C’était à peu près au moment où j’avais mis à jour mon thème, et rien d’autre n’avait changé sur mon site. C’est pourquoi les journaux de modifications sont si importants ! Ils peuvent être comme un fil d’Ariane pour le dépannage.

Mise à jour GP

Mise à jour GP

Ce qui est curieux, c’est que j’avais d’autres sites qui utilisaient GeneratePress et qui n’avaient pas ce problème. Donc, même si j’avais peut-être une bonne idée de ce qui se passait, je n’étais toujours pas sûr à 100%. L’étape suivante consistait donc à sortir mon environnement de la production pour commencer le débogage.

3. Utiliser des sites de développement sans toucher à la production

Pour être honnête, je ne sais pas ce que je ferais sans l’environnement de développement. Lorsqu’il s’agit de dépanner des problèmes de ce genre, il est très pratique. Heureusement, Kinsta dispose d’environnements de développement en un clic. J’ai donc sauté dans le tableau de bord MyKinsta et j’ai poussé une copie de mon site de production en développement. Si votre hébergeur WordPress n’offre pas d’environnements de développement, vous pouvez aussi utiliser une extension comme WP Staging, bien que ce ne soit pas aussi facile.

Environnement de développement

Environnement de développement

Après avoir eu mon site de développement opérationnel, la toute première chose que j’ai faite a été de désactiver en masse toutes mes extensions. J’ai remarqué que beaucoup de gens ont tendance à ignorer cette étape facile. C’est presque comme si vous pensiez que redémarrer votre ordinateur ne résoudrait pas un problème. J’ai travaillé dans le support informatique, donc on ne va pas aller dans ce terrier de lapin.

L’important est de toujours désactiver toutes vos extensions en premier. C’est de loin l’un des moyens les plus faciles de réduire les problèmes. Il vous suffit d’aller dans Extensions, de les sélectionner tous et de choisir « Désactiver » parmi les actions groupées.

Désactiver toutes les extensions WordPress

Désactiver toutes les extensions WordPress

Après avoir fait retomber immédiatement ce temps de réponse à la normale sur mon site dans New Relic. Je savais donc que c’était une extension qui causait le problème. Et comme j’avais déjà fait un peu de dépannage ci-dessus, j’ai eu l’intuition que c’était toujours « gp-premium ».

Temps de réponse normaux

Temps de réponse normaux

J’ai donc réactivé « gp-premium » pour vérifier que je pouvais reproduire le problème. Et oui, les temps de chargement (Web transaction time) ont immédiatement augmenté.

Encore de longs temps de réponse

Encore de longs temps de réponse

Super ! Je peux donc confirmer à 100% que c’était l’extension. Mais maintenant quoi ? Ça n’aide pas à régler mon problème. Eh bien, du fait qu’il semblait provenir de la file d’attente de traitement d’image, l’indice suivant était de vérifier les travaux du CRON et les transients. Chaque fois que vous avez des files d’attente de n’importe quel type, vérifiez toujours ces zones. En fait, je recommande toujours de les vérifier. Les données chargées automatiquement sont un autre coupable habituel.

Lecture suggérée : Comment réparer l’erreur Missed Schedule de WordPress (2 méthodes).

Les transients sont une forme simple de mise en cache WordPress avec les temps d’expiration attachés. Pour visualiser rapidement mes transients, j’ai installé l’extension gratuite Transients Manager de Pippin Williamson. En le lançant, quelque chose a immédiatement attiré mon attention et c’était un transient appelé wp_image_processing_queue_processing_process_lock. De plus, il était paramétré pour dans 1 minute et de nouveaux sont apparus sans cesse.

Transients

Transients

Bien que l’extension elle-même ait un moyen de supprimer les transients, cela n’a pas fonctionné. Il était donc temps de regarder dans la base de données. Je me suis donc connecté à phpmyadmin. Les transients sont stockés dans la table wp_options, donc j’ai fait une recherche rapide dans l’onglet « Rechercher » pour trouver toutes les lignes qui contiennent ce nom d’option.

SELECT * FROM wp_options WHERE option_name LIKE '%wp_image_processing%'

Aïe ! Il s’avère que j’avais 695,846 lignes avec %wp_image_processing%. 😲

wp_image_processing

wp_image_processing

C’est là que l’environnement de développement est utile. Comme il n’y avait aucun souci de détruire ou de tester les choses, j’ai supprimé manuellement toutes les lignes qui contenaient ceci. J’ai lancé la requête suivante depuis l’onglet « SQL » pour supprimer toutes les lignes contenant ce nom d’option :

DELETE FROM wp_options WHERE option_name LIKE '%wp_image_processing%'
Supprimer des lignes

Supprimer des lignes

Et comme par magie, dès la suppression des lignes, les temps de réponse de mon site sont revenus à la normale. 👏

Correction d’un problème de performance WordPress

Correction d’un problème de performance WordPress

Donc, comme je l’ai dit plus tôt, cela ne s’est pas produit sur mes autres sites qui utilisaient GeneratePress. Ils n’avaient pas non plus ces transients supplémentaires dans la base de données. Peut-être qu’en mettant à jour quelque chose n’a pas été supprimé comme il était censé l’être.  Il semble donc que ce n’est pas la faute du développeur mais plutôt une simple corruption du cache de transient.

Cela aurait pu se produire avec n’importe quelle extension ou thème. GeneratePress est, en fait, l’un de mes produits WordPress préférés de tous les temps. Vous avez déjà eu peur ? Eh bien, ce sont quelques-unes des joies qui accompagnent WordPress !

Si vous n’avez pas compris ce qui précède, je vous recommande fortement de suivre les autres étapes ci-dessous lorsqu’il s’agit de dépanner des problèmes comme ceux-ci.

4. Investissez dans un hébergement de haute qualité avec un support de classe mondiale

Des problèmes comme ceux qui précèdent sont exactement la raison pour laquelle il est important d’investir dans un hébergement WordPress géré haut de gamme comme Kinsta.

Contrairement à ce que certaines personnes pourraient vous faire croire, il n’existe pas d’architecture ou d’hébergeur qui puisse réparer par magie un mauvais code. Même si mon site de woorkup est hébergé chez Kinsta, de petites choses comme une mauvaise mise à jour d’extension, ou dans ce cas, des transients corrompus, peuvent mettre WordPress à genoux ! C’est l’une des raisons pour lesquelles nous avons automatisé les sauvegardes, les environnements de développement et l’intégration de New Relic. Ces fonctions et outils vous aident à protéger votre site et à résoudre rapidement les problèmes.

C’est également là que notre équipe d’experts de Kinsta peut vous aider si vous rencontrez des problèmes comme celui qui est décrit ci-dessus. Notre équipe de support s’occupe de problèmes uniques et complexes comme ceux-ci tous les jours. Et même si nous ne pouvons pas réparer le mauvais code pour vous, nous pouvons au moins vous aider à vous diriger dans la bonne direction. Cela peut impliquer un processus similaire comme activer New Relic, le laisser fonctionner pendant un certain temps, puis laisser notre équipe devenir les détectives de WordPress pour un moment.

Si vous n’êtes pas un client Kinsta, nous vous recommandons, quel que soit l’hébergeur que vous choisissez, de vous assurer que son équipe de support est de première qualité ! Nous prenons cela tellement au sérieux que nous embauchons moins de 1% des candidats qui postulent pour faire partie de notre équipe.

Et bien sûr, l’infrastructure a son importance lorsqu’il s’agit de performance et de ne pas ployer sous la charge. Voici quelques façons dont Kinsta vous aide à faire tourner votre site rapidement afin que vous n’ayez pas de problèmes de performance :

  • Nous utilisons des conteneurs logiciels LXC isolés, ce qui signifie qu’aucune ressource n’est partagée.
  • Nous permettons à nos clients de choisir parmi 15 centres de données dans le monde entier, sans frais supplémentaires. Cela diminue la latence, peu importe où vous vous trouvez.
  • Nous utilisons le réseau premium de Google Cloud Platform (et non le réseau standard). Ceci assure des vitesses de réseau ultra-rapides.
  • Nous implémentons toujours les dernières et meilleures versions de PHP. Nous avons été le premier hébergeur géré à déployer PHP 7.2, qui est 3 fois plus rapide que PHP 5.6. Nous avons aussi PHP 7.3 disponible, qui est en moyenne 9% plus rapide que PHP 7.2. Consultez nos benchmarks PHP.
  • Nous nous sommes associés à un fournisseur de CDN qui a été conçu à partir de rien et qui met l’accent sur la haute performance.

Vous pouvez vérifier tout ce qui rend Kinsta différent.

5. Besoin d’encore plus d’aide ? Il existe des sociétés de maintenance pour cela

Au cours des cinq dernières années, un nouveau type d’entreprise a fait son apparition dans l’industrie : Les sociétés de maintenance WordPress. Ces sociétés offrent des services légèrement différents de ceux que nous offrons chez Kinsta et peuvent dans certains cas prendre en charge toutes vos tâches WordPress fastidieuses. En voici quelques exemples :

  • Configuration de la console de recherche Google
  • Intégration de Google Analytics
  • Rapports hebdomadaires de classement par mot-clé + rapports analytiques
  • Application d’analyse des réseaux sociaux
  • Optimisation mobile + tablette
  • Développement d’extensions
  • Modifications illimitées (c’est vrai, certains feront même de petites tâches telles que la mise à jour de votre logo, l’ajout d’un produit WooCommerce, etc.)

Et oui, beaucoup d’entre eux offrent une surveillance quotidienne ou hebdomadaire du temps de disponibilité et des performances. Vous trouverez ci-dessous quelques sociétés de maintenance WordPress que vous devriez consulter. Note : Nous prenons nos recommandations très au sérieux !

Maintenance WP

Maintenance WP propose un service en Français de maintenance et de support pour WordPress, que vous ayez besoin de corriger des problèmes de performances, désinfecter votre site piraté ou tout autre besoin, ils sont disponibles et proposent même des solutions sur mesure !

Maintenance WP

Maintenance WP

SkyrocketWP

SkyrocketWP offre un service de maintenance et de support WordPress, ainsi qu’une solution d’hébergement conçue pour gérer WordPress pour les personnes qui préfèrent développer leur activité. Nous avons même fait une étude de cas avec eux pour que vous y jetiez un coup d’oeil !

SkyrocketWP

SkyrocketWP

WP-Tonic

WP-Tonic offre un service de conciergerie et d’entretien pour les propriétaires d’entreprises très occupés. Vous n’avez pas le temps de résoudre vos problèmes WordPress ? Laissez WP-Tonic s’en occuper pour vous. Ils diffusent également un podcast populaire dans lequel ils interviewent les propriétaires et les développeurs d’entreprises WordPress afin d’obtenir des informations sur ce qui se passe dans l’industrie. N’oubliez pas de jeter un coup d’œil à l’entretien que nous avons eu avec leur fondateur.

WP-Tonic

WP-Tonic

WP Buffs

WP Buffs offre des formules de soins WordPress pour les propriétaires de sites sérieux et les agences partenaires en marque blanche. Comme ils disent sur leur page : « Dîtes bonjour à votre nouveau directeur technique ! » WP Buffs est fièrement hébergé par Kinsta.

WP Buffs

WP Buffs

6. N’ayez pas peur de soulever un problème avec le développeur

Une fois que vous aurez déterminé la cause de votre problème de performance WordPress, n’hésitez pas à en parler avec le développeur ! Souvent, les développeurs sont plus qu’heureux d’aider, et en fait, ils veulent savoir ce qui se passe lorsque ça casse afin de pouvoir déployer des correctifs pour tout le monde.

J’ai contacté Tom, le développeur de GeneratePress, et il m’a répondu immédiatement, comme il le fait toujours. Nous sommes en train de régler le problème des transients corrompus, mais comme vous pouvez le voir, il va en fait changer leur méthode de mise en file d’attente des images (en partie à cause de cela). Vos commentaires en tant qu’utilisateur peuvent donc certainement aider les développeurs à prendre des décisions de plus haut niveau sur ce qui pourrait être le mieux à mettre en œuvre ou à modifier dans leurs extensions ou thèmes.

Réponse du développeur WordPress

Réponse du développeur WordPress

7. Vous pouvez toujours engager un développeur WordPress

Si le pire devait arriver, vous pouvez toujours engager un développeur WordPress pour résoudre votre problème. Peut-être avez-vous découvert que l’extension que vous utilisez a un mauvais code et que le créateur ne peut pas ou ne veut pas le réparer. Ou peut-être avez-vous besoin d’optimisations de performance supplémentaires qui dépassent le cadre de notre équipe de support ici chez Kinsta.

Le plus difficile dans l’embauche d’un développeur, c’est de trouver quelqu’un de renom et qui excelle dans son travail.

Nous recommandons fortement Codeable car ils s’alignent de manière similaire avec le même processus de sélection que nous utilisons pour notre équipe ici chez Kinsta. Leurs développeurs sont tous présélectionnés avant d’être autorisés à rejoindre le service avec le personnel de Codeable qui examine personnellement les portfolios et les CV. Ils ont plus de 25 000 clients et seulement 300 experts WordPress. Seulement 2% des candidats sont acceptés. Ils ne veulent que ce qu’il y a de mieux, ce qui peut vous faire économiser beaucoup de temps et de frustration en tant que client.

Emplois développeur WordPress chez Codeable

Emplois développeur WordPress chez Codeable

Ils se consacrent à fournir des services d’externalisation WordPress et se concentrent entièrement sur la mise en correspondance entre des développeurs talentueux et des clients. Nous avons eu le plaisir d’interviewer Per Esbensen, le PDG de Codeable, et c’est rafraîchissant de voir leur dévouement à bâtir une communauté de développeurs WordPress.

Nous devons également saluer Mike Andreasen, un développeur Codeable à plein temps spécialisé dans l’optimisation des performances, qui a aidé de nombreux clients de Kinsta à faire passer leur site avec des installations complexes à un niveau supérieur.

Audit de performance avec Mike

Audit de performance avec Mike

Ressources supplémentaires

Nous sommes probablement un peu plus obsédés que la plupart des gens quand il s’agit de performance ici à Kinsta. En raison de cela, voici quelques ressources supplémentaires que nous avons écrites pour vous aider à résoudre certains de vos problèmes de performances de débogage WordPress :

Résumé

Que vous soyez technicien ou non, il y a toujours des solutions à votre disposition pour résoudre les problèmes de performance de WordPress. La première recommandation évidente est de se mettre en position de réussir en choisissant un fournisseur d’hébergement qui dispose non seulement d’une infrastructure solide comme le roc mais aussi d’une équipe de support de classe mondiale pour le soutenir. La dernière chose que vous voulez, c’est que votre site WordPress tombe en panne ou commence à ralentir simplement parce que vous ne saviez pas quelles étapes effectuer ensuite.

Profitez des outils incroyables comme New Relic qui vous feront simplement gagner du temps lors du débogage des problèmes. Et au fond, il y a des tonnes de développeurs WordPress talentueux dans la communauté. N’ayez pas peur d’en engager un.

Avez-vous eu des problèmes de performance qui vous ont donné envie de jeter l’éponge ? Si oui, faites-le nous savoir ci-dessous dans les commentaires !

31
Partages