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, 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.

Soyons honnêtes... diagnostiquer les problèmes de performances de #WordPress ⚡ Les questions peuvent parfois s’avérer très difficiles. C'est pourquoi vous avez besoin d'un hébergeur de qualité sur lequel vous pouvez compter.Click to Tweet

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 :

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 :

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.

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.

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

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 en un clic. 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 ».

Temps de réponse normaux

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 !

Vous avez des problèmes de temps d'indisponibilité et de WordPress ? Kinsta est la solution d'hébergement conçue pour vous faire gagner du temps ! Découvrez nos fonctionnalités

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ébergement 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.

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 :

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 :

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 !

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 !


Si vous avez aimé cet article, alors vous allez adorer la plateforme d’hébergement WordPress de Kinsta. Accélérez votre site Web et obtenez le support 24/7 de notre équipe de vétérans de WordPress. Notre infrastructure propulsée par Google Cloud met l’accent sur la mise à l’échelle automatique, la performance et la sécurité. Laissez-nous vous montrer la différence de Kinsta ! Découvrez nos plans