WordPress
time_read26mn de lecture

Comment optimiser admin-ajax.php dans WordPress ?

20 juillet 2022

Comment optimiser admin-ajax.php dans WordPress ?

Les performances d’un site Web sont un sujet crucial pour tout propriétaire de site. Les problèmes de performance peuvent affecter l’expérience des utilisateurs et potentiellement réduire le classement sur les moteurs de recherche. En effet, Google utilise le temps de chargement des pages dans ses critères de classement.

Lorsqu’il s’agit de performances d’un site web, on parle souvent du temps de chargement des pages. Un scénario courant lorsqu’on a affaire à un problème de temps de chargement est qu’il pourrait être causé par un pic dans le fichier admin-ajax.php dans WordPress.

Objectif

Dans cet article, vous apprendrez à gérer les conflits de plugins causés par des pics dans le fichier admin-ajax.php et à réduire la demande de callbacks pour optimiser le temps de chargement de votre site WordPress.

Qu’est-ce que le fichier admin-ajax.php dans WordPress ?

En 2013, la version 3.6 de WordPress a été introduite avec l’API Heartbeat au cœur de l’application. L’API WordPress Heartbeat est construit comme un protocole de communication entre le navigateur et le serveur. Elle utilise admin-ajax.php pour envoyer une requête au serveur et déclencher des événements (ou callbacks) lors de la réception de données. Les principales fonctionnalités de l’API Heartbeat sont les suivantes :

  • Sauvegarde automatique

Lorsque vous écrivez un article sur WordPress, que vous l’enregistrez en tant que brouillon et que vous continuez à travailler dessus, WordPress enregistre automatiquement tout ajout que vous faites.

  • Verrouillage des articles et notification de connexion

Dans un site WordPress collaboratif, vous recevrez une pop-up lorsque vous essayez d’écrire/modifier un article sur lequel un autre utilisateur est en train de travailler. Vous recevrez également une fenêtre de notification lorsque votre session est expirée et qu’une nouvelle connexion est nécessaire pour continuer à travailler sur votre article.

Les problèmes que peut causer admin-ajax.php dans WordPress

problème causé par admin-ajax.php

Le débordement du fichier admin-ajax.php peut entraîner un problème de temps de chargement des pages, ce qui est un problème grave. La règle d’or d’Internet est que votre site doit se charger entièrement en 3 secondes ou moins. S’il prend plus de temps que cela, il y a de fortes chances que vous offriez aux visiteurs une mauvaise expérience et les fassiez fuir.

Une vitesse de page lente peut également avoir un impact négatif sur votre classement dans les moteurs de recherche. Vous devez savoir que Google utilise la vitesse de chargement comme l’un des indicateurs de son algorithme pour classer les sites. En outre, une vitesse de page lente signifie que le moteur de recherche peut explorer moins de pages en utilisant le budget d’exploration qui lui est alloué, ce qui affectera encore plus l’indexation de vos pages.

Pour certains, la seule fois où ils sont confrontés à cette API est lorsqu’ils utilisent des outils de test de vitesse, tels que GTmetrix, pour comprendre pourquoi admin-ajax.php ralentit les sites Web.

Comment identifier la cause d’une utilisation élevée de admin-ajax.php ?

trouver la cause du problème

Parfois, les données relatives aux Posts et aux réponses présentées dans les rapports de tests de vitesse ne sont pas aussi claires et simples. Ici, il n’est pas si facile de trouver la cause de l’utilisation élevée de admin-ajax.php. Dans ce cas, vous pouvez toujours le faire à l’ancienne.

Désactivez toutes les extensions de votre site, videz le cache de votre site (s’il y en a un) et refaites le test de vitesse. Si admin-ajax.php est toujours présent, il s’agit probablement du thème. Toutefois, si elle n’est pas trouvée, vous devez activer chaque extension une par une et exécuter le test de vitesse à chaque fois. Par processus d’élimination, déterminez la cause du problème.

Diagnostiquer les problèmes avec le serveur qui sera géré par admin-ajax.php

La deuxième cause de l’utilisation élevée de admin-ajax.php est que l’API WordPress Heartbeat génère de fréquents appels Ajax, ce qui entraîne une utilisation élevée du CPU sur le serveur. Ce problème est généralement dû au fait que de nombreux utilisateurs se connectent au tableau de bord d’administration de WordPress. Par conséquent, il n’apparaîtra pas dans les tests de vitesse.

L’API Heartbeat interroge le fichier admin-ajax.php toutes les 15 secondes par défaut pour sauvegarder automatiquement les articles et les pages. Si vous utilisez un serveur d’hébergement partagé, il n’y a pas beaucoup de ressources serveur dédiées à votre site. Si vous modifiez un article ou une page et que vous laissez l’onglet ouvert pendant un certain temps, vous risquez de recevoir un grand nombre de requêtes Ajax administratives.

Comment les plugins peuvent faire déborder le fichier admin-ajax.php ?

plugin WordPress

Les plugins tiers sont la cause du problème le plus courant lorsque les utilisateurs voient un pic sur admin-ajax.php. S’il est fait correctement, AJAX est définitivement une bonne chose, car les développeurs l’utilisent généralement pour ajouter des fonctionnalités à leurs plugins. Par exemple, les développeurs peuvent utiliser les requêtes AJAX et créer une wp_query personnalisée pour afficher un contenu dynamique sur une page en cache.

Mais parfois, lorsque de nombreux plugins utilisent ces requêtes, elles peuvent provoquer un débordement. Ainsi, cela peut créer un pic et ralentir l’ensemble du site web. Donc, si vous êtes un développeur, voici une ressource pour implémenter correctement AJAX dans les plugins.

En tant que propriétaire de site Web, vous devrez peut-être diagnostiquer en premier lieu les plugins avant de les désactiver. Ceci est important pour déterminer si un plugin particulier est à l’origine du problème de temps de chargement.

Diagnostiquer les plugins

Des plugins en conflit peuvent causer un problème de temps de chargement. La vieille méthode consiste à désactiver tous les plugins pour résoudre le problème, puis à les réactiver un par un en utilisant un processus d’élimination. Mais ce n’est certainement pas une bonne solution.

Il convient d’utiliser une méthode plus appropriée pour trouver la cause profonde du problème avec le scénario suivant.

Après avoir activé plusieurs plugins, votre site Web a besoin de plus de temps pour se charger complètement. Vous diagnostiquez alors le site à l’aide de GTmetrix. Il s’agit d’un puissant outil gratuit de test de vitesse qui permet de voir les données de réponse de chaque poste.

Premère méthode : Utiliser GTmetrix

Allez sur la page d’accueil de GTmetrix, indiquez l’URL de votre site, puis cliquez sur « Test your site ». L’analyse complète de votre site prend un certain temps.

GTmetrix admin-ajax.php dans WordPress

Une fois l’analyse terminée, vous obtiendrez un rapport sur l’état de votre site Web, comme le score de performance et les détails des pages. Passez à l’onglet « Waterfall » pour inspecter les éléments du site Web de manière plus détaillée.

Waterfall GTmetrix

La fenêtre « Waterfall » présente tous les éléments de votre site Web. Alors que le reste des fichiers semble correct, vous remarquez que le POST admin-ajax.php prend plus de temps à se charger.

POST admin-ajax.php

Cliquez sur POST admin-ajax.php, et vous verrez quatre onglets différents disponibles : Headers, Parameters, Post, et Response. Lorsque vous diagnostiquez ce type de problème, les onglets Post et Response sont les endroits que vous devez regarder.

Pour ce site, l’analyse affiche un indice dans l’onglet Post car cette requête a quelque chose à voir avec le script « count_hit ».

onglets GTmetrix

Cet indice amène à soupçonner un certain plugin de compteur de visites qui a été installé précédemment. Donc, pour prouver cette théorie, il convient de désactiver ce plugin et effectuer un second test avec GTmetrix sur le site.

Il s’avère que l’analyse est correcte. En désactivant ce plugin, le chargement des pages  est réduit de 2 secondes.

Deuxième méthode : utiliser la console de développement de Chrome

Vous pouvez également utiliser la console de développement de Chrome pour trouver le plugin suspect.

Ouvrez votre site web. Faites un clic droit dans la page , puis cliquez sur « Inspecter ». Sinon, dans l’onglet Chrome, allez dans « Affichage -> Développeur -> Outils du développeur ».

Cliquez sur l’onglet « Network » et rechargez votre site Web.

console de développement de Chrome

Dans la boîte de filtre (juste en dessous du point rouge), entrez admin-ajax.php. Vous verrez la cause de ce problème. Après cela, vous pouvez désactiver le plugin et tester si le problème existe toujours.

En tant que propriétaire de site Web, si vous avez vraiment besoin d’utiliser ce plugin, assurez-vous d’utiliser la version la plus récente. Si vous avez fait cela et que le problème persiste, contactez le développeur du plugin en mentionnant ce cas.

Si le développeur ne peut pas encore résoudre le problème, vous pouvez toujours le remplacer par un nouveau. La beauté de WordPress est qu’il existe de nombreux plugins similaires parmi lesquels vous pouvez choisir. Il suffit d’aller dans la liste des plugins WordPress et de sélectionner le plugin le plus utilisé et le plus mis à jour qui offre la même fonctionnalité.

Accélérer le backend de votre site WordPress

Parfois, le déclenchement de l’API WordPress Heartbeat dans le backend de votre site peut également causer des problèmes de performance. Comme indiqué précédemment, cette fonction permet de sauvegarder automatiquement votre travail, pour éviter de perdre des projets en cas d’imprévu, et pour gérer correctement la rédaction/édition simultanée.

Par exemple, la fonction sera déclenchée chaque fois que vous écrirez un message et que vous garderez l’onglet ouvert. Cela peut entraîner une utilisation élevée du CPU, comme le montre le nombre de rappels dans la console de développement ci-dessous.

utilisation élevée du CPU

L’utilisation du CPU est un problème important pour ceux qui utilisent un plan d’hébergement mutualisé. Certains fournisseurs d’hébergement ne toléreront probablement pas une utilisation élevée du CPU et cela peut éventuellement conduire à des suspensions.

Pour résoudre ce problème, vous pouvez faire deux choses : désactiver l’API Heartbeat ou allonger les intervalles entre les vérifications. Comme la première option n’est pas pratique, il faudra utiliser la seconde à la place. Pour modifier l’intervalle, vous avez besoin d’un plugin appelé Heartbeat Control.

Vous devez commencer par installer le plugin WordPress : Allez dans votre tableau de bord, puis le menu « Plugins -> Ajouter ». Recherchez le plugin par son nom, cliquez sur installer et activez-le.

Après l’activation, allez au menu « Réglages -> Heartbeat Control Settings ». Ici, vous pouvez définir différentes règles pour différents emplacements.

Heartbeat Control Setting

Puisque le but est de minimiser la fréquence des rappels dans l’éditeur de post, vous pouvez vérifier cela et définir un nombre de requêtes supérieur à 15. Dans ce cas, il faudra le fixer à 200.

Une fois que vous avez terminé, cliquez sur le bouton « Enregistrer les modifications ».

Conclusion

Félicitations ! Vous savez maintenant comment optimiser admin-ajax.php dans WordPress ! 😀 Vous avez appris à connaître l’API Heartbeat et son produit dérivé, admin-ajax.php. Vous avez également pris connaissance des problèmes qui se posent lorsque les plugins débordent de la fonction et provoquent des ralentissements. Vous savez également que l’API Heartbeat elle-même peut créer un problème avec votre hôte si vous ne la gérez pas correctement.

Besoin d’un hébergement WordPress rapide et de qualité ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l’offre

Laissez un commentaire dans la section ci-dessous pour que d’autres puissent aussi apprendre de votre expérience !

Avatar de l'auteur

Auteur de l'article

Pascal

Pascal est un spécialiste du référencement et de rédaction chez LWS. Il est passionné par les nouvelles technologies et le blogging et possède des années d'expérience dans le web marketing. Ses passe-temps incluent les jeux de stratégie et la natation.

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.