Nous aimons tous WordPress. Beaucoup d’entre nous ici chez Kinsta ont différentes façons de contribuer à la communauté WordPress en dehors du travail. Je dirige moi-même un blog de marketing où je partage des moyens uniques de faire passer votre site WordPress au niveau supérieur. Vous pourriez penser que puisque je travaille pour une société d’hébergement WordPress, mes sites fonctionneraient comme par magie et n’auraient jamais de problème. Cependant, WordPress n’est pas toujours ensoleillé et rose. Il est inévitable que vous rencontriez des problèmes occasionnels et c’est pourquoi il est si important d’avoir les outils et l’équipe de support en place pour le moment où 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 de WordPress sur mon site, ainsi que dans les outils et stratégies qui sont venus à mon secours. Bien que chaque cas de ce genre soit assez unique, le processus de dépannage reste généralement le même. J’ai donc inclus ce que j’aime appeler une « liste de contrôle des performances du WP ». J’espère que vous pourrez l’utiliser la prochaine fois que vous vous retrouverez dans une impasse avec des problèmes de performances WordPress qui échappent à votre compréhension ou à votre contrôle.

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

Cette liste de contrôle des performances est un peu différente. Plutôt que de vous expliquer comment accélérer votre site WordPress, elle se concentre sur ce que vous devez faire la prochaine fois que vous vous retrouverez dans une situation délicate. Et il y aura une prochaine fois, vous pouvez compter dessus. Peut-être que votre hébergeur vous a contacté en vous disant que votre site est en train de surcharger le serveur. Ou peut-être avez-vous remarqué que quelque chose ralentit votre site, 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 des performances
  2. Profitez d’outils comme New Relic
  3. Utilisez le staging – Il est là pour une bonne raison
  4. Investissez dans un hébergement de 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 des performances

On n’est jamais trop préparé quand il s’agit de ce genre de questions. L’une des meilleures choses que vous puissiez 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. C’est d’ailleurs ainsi que j’ai découvert que mon site avait des problèmes. Kinsta vérifie l’état de tous les sites web que nous hébergeons toutes les deux 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 pour l’utilisateur final
  • Temps de chargement du serveur d’application
  • Taux d’erreur
  • Débit de traitement
  • Taux de réussite (temps de disponibilité)
  • Score 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 de Kinsta en est informée avant vous. Si un site que nous surveillons dépasse largement les seuils de performance internes acceptables, nous vous contacterons également et vous aiderons à résoudre le problème de votre site.

Parfois, cela peut impliquer l’intégration d’un développeur tiers, surtout si le code est mauvais. Ou bien cela peut signifier qu’il faut augmenter le nombre de workers PHP. Enfin, il peut s’agir d’un problème 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. Le plus souvent, nous avons tendance à constater que de nombreux problèmes de performances sont dus à de mauvaises mises à jour d’extensions, à un code bâclé, ou du fait de ne pas supporter la dernière version de PHP, etc.

Outils de surveillance du temps de disponibilité et des performances

Si vous n’utilisez pas Kinsta, il existe encore de nombreux outils tiers que vous pouvez utiliser pour vous alerter à la fois sur le temps de disponibilité et les performances. En voici quelques-uns 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. Profiter 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 les performances, ils sont également très utiles pour résoudre les problèmes de performances. Kinsta dispose d’une intégration de 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. Vous pouvez aussi essayer d’utiliser une extension gratuite comme Query Monitor.

Activer la surveillance New Relic dans MyKinsta.
Activer la surveillance New Relic dans MyKinsta.

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 → Extensions et thèmes ». 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 provenait très probablement de l’extension « gp-premium » que j’ai lancé. Mais pourquoi ? Eh bien, nous y viendrons.

Extensions et thèmes New Relic
Extensions et thèmes New Relic

Note : La section ci-dessus dans New Relic n’est pas toujours exacte à 100%. Dans le cas présent, elle 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 voir immédiatement que le nombre de transactions sur 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, assurez-vous de consulter notre excellent tutoriel sur la façon de diagnostiquer une utilisation élevée d’admin-ajax sur votre site WordPress. J’ai également pu voir des requêtes admin-ajax constantes dans mes journaux WordPress. Vous pouvez également profiter de notre outil intégré Kinsta APM.

Journal d’erreurs WordPress admin ajax
Journal d’erreurs WordPress admin ajax

L’étape suivante a consisté à creuser dans les transactions admin-ajax.php et à examiner les requêtes de la base de données qui prenaient le plus de temps. Vous pouvez cliquer sur 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, ce n’était pas le cas. Mais il y a autre chose qui est immédiatement apparu, et c’est 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
Suivi de la pile
Suivi de la pile

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

J’ai donc cherché « Image Processing Queue ». Le tout premier résultat qui est revenu était l’extension Image Processing Queue de Delicious Brain. En lisant la description, j’ai pu voir qu’il était utilisé 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 » a permis d’accéder à leur récent journal des modifications. Tada ! Oui, le redimensionnement d’image a récemment été changé dans GeneratePress, passant d’Aqua Resizer à Image Processing Queue. C’était juste 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 fonctionnant avec GeneratePress qui n’avaient pas ce problème. J’avais peut-être une bonne idée de ce qui se passait, mais je n’étais pas encore sûr à 100%. L’étape suivante a donc consisté à sortir mon environnement de staging pour commencer à déboguer WordPress.

3. Utiliser les sites de staging sans toucher à la production

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

Créer un environnement de staging WordPress.
Créer un environnement de staging WordPress.

Après avoir mis en place mon site de développement, la toute première chose que j’ai faite a été de désactiver toutes mes extensions. J’ai remarqué que beaucoup de gens ont tendance à ignorer cette étape simple. C’est presque comme si vous pensiez que redémarrer votre ordinateur ne résoudra 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 commencer par désactiver toutes vos extensions. C’est de loin l’un des moyens les plus faciles de réduire les problèmes. Il suffit d’aller dans Extensions, de les sélectionner tous et de choisir « Désactiver » dans les options groupées.

Désactiver toutes les extensions WordPress
Désactiver toutes les extensions WordPress

Après avoir fait cela, les temps de réponse dans New Relic sont immédiatement revenus à la normale sur mon site. 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 le pressentiment que c’était encore l’extension « gp-premium ».

Normal response times
Temps de réponse normaux

J’ai donc réactivé l’extension « gp-premium » pour vérifier que je pouvais reproduire le problème. Et oui, les temps de chargement (temps de transaction web) sont immédiatement remontés.

Des temps de réponse à nouveau plus longs
Des temps de réponse à nouveau plus longs

Super ! Je peux donc confirmer à 100% que c’était bien l’extension. Et maintenant, quoi ? Cela n’aide pas à résoudre mon problème. Eh bien, comme cela semblait provenir de la file d’attente de traitement d’image, l’astuce suivante consistait à vérifier les jobs 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 également un autre coupable habituel.

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

Les transients sont une forme simple de mise en cache WordPress avec des délais d’expiration. Pour visualiser rapidement mes transients, j’ai installé l’extension gratuite Transients Manager de Pippin Williamson. En la lançant, quelque chose a immédiatement attiré mon attention et c’était un transient appelé wp_image_processing_queue_process_lock. De plus, il était réglé pour expirer dans 1 minute et de nouveaux éléments apparaissaient sans cesse.

Transients
Transients

Bien que l’extension elle-même permette 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, j’ai donc fait une recherche rapide depuis l’onglet « Rechercher » pour trouver toutes les lignes qui contenaient 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 statging s’avère utile. Comme il n’y avait aucun souci à détruire ou à tester des choses, j’ai procédé à la suppression manuelle de toutes les lignes qui contenaient cela. 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 que les lignes ont été supprimées, 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 que lors de la mise à jour, quelque chose n’a pas été supprimé comme cela était censé l’être. Il semble donc que ce ne soit pas la faute du développeur mais plutôt probablement 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, voici quelques-unes des joies qui accompagnent WordPress !

Si vous n’avez rien compris à ce qui précède, je vous recommande vivement d’examiner les autres étapes ci-dessous lorsqu’il s’agit de résoudre des problèmes comme ceux-ci.

4. Investir dans un hébergement de qualité supérieure avec un support de classe mondiale

Des problèmes comme ceux mentionnés ci-dessus sont exactement la raison pour laquelle il est important d’investir dans un hébergeur WordPress infogéré de haute qualité 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 comme par magie un mauvais code. Même si mon site de woorkup est hébergé chez Kinsta, des 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 des sauvegardes automatisées, des environnements de staging et une intégration de New Relic. Ces fonctionnalités et outils aident à protéger votre site et à résoudre rapidement les problèmes.

Support WordPress
WordPress support

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

Si vous n’êtes pas un client Kinsta, nous vous recommandons quel que soit l’hébergeur choisi de vous assurer que son équipe de support est de premier ordre ! Nous prenons cela tellement au sérieux que nous embauchons moins de 1% des candidats qui postulent dans 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 pour que vous ne rencontriez pas de problèmes de performances :

  • Nous utilisons des conteneurs de logiciels LXC isolés, ce qui signifie qu’aucune ressource n’est partagée.
  • Nous permettons à nos clients de choisir parmi 20 centres de données dans le monde entier sans frais supplémentaires. Cela permet de réduire la latence, où que vous soyez.
  • Nous utilisons le réseau premium de Google Cloud Platform (et non le réseau standard). Cela garantit des vitesses de réseau ultra-rapides.
  • Nous implémentons toujours en œuvre les dernières et les meilleures versions de PHP. Nous avons été le premier hébergeur géré à déployer PHP 7.2, qui est 3x plus rapide que PHP 5.6. Nous disposons également de PHP 7.3, qui est en moyenne 9 % plus rapide que PHP 7.2. PHP 8.1 est également disponible maintenant. Consultez nos benchmarks PHP.
  • Nous nous sommes associés à un fournisseur de CDN qui a été créé à partir de zéro et qui met l’accent sur les hautes performances.

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

Depuis environ cinq ans, un nouveau type d’entreprise est apparu dans le secteur : Les sociétés de maintenance WordPress. Ces sociétés offrent des services légèrement différents de ceux de Kinsta et peuvent dans certains cas prendre en charge toutes vos tâches fastidieuses sur WordPress. En voici quelques exemples :

  • Configuration de la console de recherche Google
  • Intégration de Google Analytics
  • Rapports hebdomadaires de classement par mot-clé + rapports d’analyse
  • Application d’analyse des réseaux sociaux
  • Optimisation mobile + tablette
  • Développement d’extensions
  • Modifications illimitées (c’est vrai, certains effectueront 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 un contrôle quotidien ou hebdomadaire du temps de disponiblité 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 !

SatelliteWP

SatelliteWP offre des forfaits d’entretien incluant la performance et la cybersécurité de votre site WordPress. Ils sont des experts techniques qui pourront, via un audit de performance, identifier clairement les causes de ralentissement et proposer des solutions complètes.
Les problèmes de performance sont subtils et c’est souvent la combinaison de ces subtilités qui donne des maux de tête!
Grâce à leur équipe d’experts et aux outils internes développés pour diagnostiquer les causes, vous aurez rapidement l’heure juste. Et si vos problèmes ne sont pas nécessairement liés à la performance, leur bilan de santé pour site WordPress peut vous informer sur la santé générale de votre site et ses opportunités.

SatelliteWP
SatelliteWP

SkyrocketWP

SkyrocketWP offre un service de maintenance WordPress, du support et une solution d’hébergement conçue pour gérer WordPress pour les personnes qui préfèrent développer leur entreprise. Nous avons même réalisé une étude de cas avec eux, n’hésitez pas à y jeter un coup d’œil !

SkyrocketWP
SkyrocketWP

WP-Tonic

WP-Tonic offre un véritable service de conciergerie et de maintenance pour les propriétaires d’entreprises occupés. Vous n’avez pas le temps de régler vos problèmes WordPress ? Laissez WP-Tonic s’en occuper pour vous. Ils proposent également un podcast populaire dans lequel ils interviewent les propriétaires et les développeurs d’entreprises WordPress pour avoir un aperçu de ce qui se passe dans le secteur. N’oubliez pas de jeter un coup d’œil à notre interview de leur fondateur.

WP-Tonic
WP-Tonic

WP Buffs

WP Buffs propose des plans de soins WordPress pour les propriétaires de sites web sérieux et les agences partenaires en marque blanche. Comme ils le disent sur leur page : « Dites bonjour à votre nouveau CTO WP ! » A propos, WP Buffs est fièrement hébergé par Kinsta.

WP Buffs
WP Buffs

6. N’ayez pas peur de soulever le 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 ! Bien souvent, les développeurs sont plus qu’heureux de vous aider, et en fait, ils veulent savoir ce qui se passe lorsqu’un problème survient, afin de pouvoir proposer des correctifs à tout le monde.

J’ai pris contact avec 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 concernant ce qui pourrait être le mieux à mettre en œuvre ou à modifier dans leurs extensions ou leurs thèmes.

Réponse du développeur WordPress
Réponse du développeur WordPress

7. Vous pouvez toujours engager un développeur WordPress

Dans le pire des cas, vous pouvez toujours engager un développeur WordPress pour résoudre votre problème. Vous avez peut-être 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 performances 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 est de savoir comment trouver une personne qui a une bonne réputation et qui est douée pour ce qu’elle fait.

Nous recommandons vivement Codeable car ils s’alignent sur le même processus de sélections que celui 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, le personnel de Codeable examinant personnellement les portfolios et les CVs. Ils ont plus de 25 000 clients et seulement 300 experts WordPress. Seuls 2% des candidats sont acceptés. Ils ne veulent que les meilleurs des meilleurs, ce qui peut vous faire gagner beaucoup de temps et vous éviter bien des frustrations 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 relation de développeurs talentueux avec les clients. Nous avons eu le plaisir d’interviewer Per Esbensen, le PDG de Codeable, et il est rafraîchissant de voir leur dévouement à la construction d’une communauté de développeurs WordPress.

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

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 lorsqu’il s’agit de performances ici chez Kinsta. Pour cette raison, voici quelques ressources supplémentaires que nous avons rédigées pour vous aider à résoudre certains de vos problèmes de débogage WordPress :

Résumé

Que vous soyez technicien ou non, il existe toujours des solutions 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 souhaitez est que votre site WordPress tombe en panne ou se mette à ralentir simplement parce que vous ne saviez pas quelles étapes effectuer ensuite.

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

Avez-vous déjà eu des problèmes de performance où vous aviez juste envie de jeter l’éponge ? Si oui, faites-le nous savoir dans les commentaires ci-dessous !

Brian Jackson

Brian a une grande passion pour WordPress, l'utilise depuis plus de dix ans et développe même quelques plugins de qualité. Brian aime les blogs, les films et les randonnées. Connectez avec Brian sur Twitter.