7 juillet 2023

L'inefficacité des compteurs de visites WordPress basés sur PHP et MySQL et les alternatives efficaces

Évitez de ralentir voire de planter un site WordPress en utilisant des fonctions de compteur de visites inefficaces et non performantes.

WordPress, reconnu comme la plate-forme de gestion de contenu (CMS) la plus populaire au monde, propose une large gamme de plugins conçus pour permettre aux utilisateurs de surveiller et de quantifier le flux de visites sur leurs sites Web. Malgré la popularité de ces outils, de nombreux plugins sont construits à l'aide de PHP et MySQL, deux technologies qui, malgré leur omniprésence, peuvent présenter leur propre ensemble de défis d'efficacité et de performances, en particulier lorsqu'il y a beaucoup de trafic réseau.

Inefficacités des compteurs de visites basés sur PHP et MySQL

Les compteurs de visites dans WordPress basés sur PHP et MySQL fonctionnent en générant des centaines ou des milliers de threads PHP par seconde pour gérer les visites et stocker ces informations dans la base de données via des opérations INSERT ou UPDATE. Lorsque le trafic devient important, ce processus peut devenir problématique, entraînant une surcharge du serveur en raison de la création constante de nouveaux threads PHP et de la congestion de la base de données.

PHP et MySQL ne sont pas non plus réputés pour leurs performances en termes de rapidité et d'efficacité. Par rapport à des technologies plus modernes et agiles, telles que Go et NodeJS, ou des bases de données NoSQL, telles que REDIS ou MongoDB, PHP et MySQL peuvent être moins performants, notamment lorsqu'il s'agit de gérer un grand nombre de requêtes simultanées.

Le problème avec le plugin Post Views Counter

Parmi les différents plugins WordPress utilisés pour surveiller le trafic du site, Post Views Counter est celui qui se démarque malheureusement par ses limites plutôt que par ses points forts. Conçu pour les sites à faible trafic, son fonctionnement devient problématique et inefficace lorsqu'il doit gérer un grand nombre de visiteurs.

Post Views Counter est basé sur PHP et MySQL, deux technologies qui, comme nous l'avons vu, peuvent souffrir en termes d'efficacité et de rapidité face à un trafic important. Par conséquent, l'utilisation de ce plugin peut entraîner une surcharge du serveur et un ralentissement de la base de données, en raison des opérations continues d'INSERT et de UPDATE nécessaires pour enregistrer les visites.

Compteur de vues de publication

Pire encore, Post Views Counter n'interagit pas efficacement avec les caches côté serveur comme Varnish Cache ou NGINX FastCGI Cache. En fait, il a tendance à contourner ces caches, provoquant l'exécution de code PHP et l'accès à la base de données à chaque visite, un comportement qui réduit encore la vitesse et les performances globales du site.

Compte tenu de sa conception et de ses limites, Post Views Counter s'avère être un plugin inadapté aux sites à fort volume de trafic. S'il est utilisé dans de tels contextes, il doit être immédiatement supprimé et remplacé par une alternative plus performante et adaptée, comme les services externes Google Analytics, Matomo ou Jetpack. Ceux-ci évitent non seulement les problèmes liés à l'utilisation de PHP et MySQL, mais offrent également un certain nombre de fonctionnalités supplémentaires pour une surveillance plus détaillée et utile du trafic du site.

Interaction avec les caches côté serveur et problèmes consécutifs

Un autre problème émergent est l'interaction de nombreux plugins de compteur de visites WordPress avec des caches côté serveur, tels que Varnish Cache ou NGINX FastCGI Cache. Ces plugins ont tendance à contourner ces caches via des appels AJAX à 'admin-ajax.php', annulant ainsi l'efficacité d'un système de mise en cache de page très efficace comme Varnish. Par conséquent, chaque visite peut entraîner l'exécution de code PHP et l'accès à la base de données, ce qui a un impact négatif significatif sur la vitesse du site et les performances globales.

Le fichier admin-ajax.php est un composant crucial de WordPress, souvent utilisé pour gérer les requêtes AJAX. Avant d'aborder son fonctionnement, il est utile de prendre du recul et de comprendre ce qu'est un appel AJAX.

AJAX, acronyme de Asynchronous JavaScript and XML, est une technique de développement Web qui permet d'apporter des modifications à une page Web sans avoir à la recharger complètement. À l'aide d'AJAX, un site Web peut envoyer et recevoir des données d'un serveur en arrière-plan (de manière asynchrone), ce qui permet d'actualiser des parties de la page sans perturber l'expérience de l'utilisateur.

Dans le cadre de WordPress, admin-ajax.php est le fichier qui gère ces appels AJAX. Lorsqu'un plugin ou un thème WordPress doit exécuter une fonction AJAX, la demande est envoyée à admin-ajax.php, qui gère la demande et envoie une réponse. Ce processus peut être utilisé pour diverses fonctions, telles que le téléchargement de nouveaux messages, le comptage des visites, la mise à jour des commentaires, etc.

Malgré son utilité, admin-ajax.php peut présenter des problèmes. L'un des plus notables est que les appels AJAX contournent les caches côté serveur comme Varnish Cache ou NGINX FastCGI Cache par défaut. Cela signifie que chaque requête AJAX exécute du code PHP et accède à la base de données, même si les données demandées n'ont pas changé. Ce comportement peut entraîner une surcharge du serveur et un ralentissement du site, en particulier avec un volume de trafic élevé ou un grand nombre de requêtes AJAX.

Aussi, le fait qu'ils admin-ajax.php tous deux utilisés à la fois pour les requêtes frontales et dorsales peuvent entraîner des problèmes de performances, car toutes les requêtes AJAX doivent passer par le même point de déclenchement, quels que soient leur complexité ou leur objectif .

En conclusion, bien qu'étant un composant fondamental de WordPress, admin-ajax.php a des limitations qui peuvent avoir un impact significatif sur les performances du site. Il est important d'en tenir compte lors du développement ou du choix d'un plugin ou d'un thème WordPress, et de rechercher des solutions qui minimisent l'utilisation des appels AJAX ou les gèrent plus efficacement.

Effets secondaires indésirables

Les problèmes associés à l'utilisation de plugins de comptage de visiteurs basés sur PHP et MySQL peuvent déclencher un certain nombre d'effets secondaires indésirables, notamment une charge accrue du serveur, des pannes de serveur et des pannes de service ultérieures, sans parler de l'impact négatif inévitable sur l'expérience utilisateur et la visibilité du site sur moteurs de recherche. Ces conséquences peuvent être exacerbées dans des situations de trafic Web élevé, avec la nécessité de traiter un nombre massif de requêtes simultanément.

L'un des problèmes les plus courants dans cette situation est l'augmentation de la charge sur le serveur. Avec un nombre croissant de requêtes à traiter, PHP et MySQL peuvent se retrouver sous pression, devant travailler plus dur pour gérer le flux de données. Cela peut entraîner une consommation excessive des ressources du serveur, rendant l'ensemble du système plus lent et potentiellement instable.

502 Passerelle incorrecte nginx

Dans certains cas, la surcharge du serveur peut entraîner une erreur de type 500, un code d'état HTTP indiquant une défaillance générale du serveur. En particulier, si vous utilisez PHP-FPM (FastCGI Process Manager) pour gérer les requêtes PHP, la saturation des pools PHP FPM peut provoquer une erreur 500. Cette erreur est généralement le signe que le serveur a du mal à gérer la charge de travail actuelle.

Même une panne de serveur est une conséquence possible de ces problèmes. Dans des circonstances extrêmes, la charge de travail élevée peut entraîner l'arrêt complet du serveur, entraînant une indisponibilité du site. Non seulement cela interrompt l'accès au site, mais cela peut également avoir des répercussions sur la réputation du site et la confiance des utilisateurs.

Alternatives aux compteurs de visites basées sur PHP et MySQL

Un remède possible à ces problèmes est d'éviter l'utilisation de plugins qui fonctionnent de la manière décrite ci-dessus. Une fonctionnalité couramment utilisée au niveau du thème est la fonction 'post_views_count()'. Cette fonctionnalité enregistre chaque visite dans une publication spécifique et met à jour un compteur dans la base de données. Bien que cela puisse sembler utile, cela contribue à augmenter la charge sur le serveur et la base de données.

Une stratégie plus efficace serait de s'appuyer sur des services externes tels que Google Analytics, Matomo ou Jetpack. Ces services gèrent le comptage des visites sur des serveurs distincts, réduisant ainsi la charge sur le serveur du site Web.

Le potentiel des Jetpacks

Jetpack, l'un des services externes les plus réputés pour la gestion et la surveillance des sites WordPress, se distingue par sa capacité à gérer un énorme volume de trafic, culminant à des centaines de milliers de visiteurs par seconde sans taxer le serveur hébergeant le site. Mais en plus de cette incroyable capacité de gestion du trafic, Jetpack dispose également d'un large éventail de fonctionnalités qui permettent un suivi détaillé et précis des visites, ce qui en fait un outil extrêmement utile pour analyser les tendances et les comportements des utilisateurs.

Fonctionnalité de compteur de visites Jetpack

La fonctionnalité de comptage des visites de Jetpack va au-delà de la simple fourniture d'un nombre total de visites. Au contraire, il propose une série de statistiques détaillées, fournissant une image complète du trafic du site et de ses tendances.

Jetpack vous permet de consulter des statistiques quotidiennes, hebdomadaires, mensuelles et annuelles. Cela vous permet de surveiller facilement les tendances du trafic dans le temps et d'identifier les périodes de pointe ou les éventuelles baisses de fréquentation. Ces informations peuvent être très utiles pour optimiser le contenu ou les stratégies marketing, par exemple choisir le meilleur moment pour publier de nouveaux articles ou lancer de nouvelles campagnes.

Mais Jetpack va plus loin en offrant la possibilité d'analyser également les visites de postes individuels. Cela signifie que vous pouvez avoir une image précise des contenus les plus performants, de ceux qui attirent le plus de visiteurs et de ceux qui pourraient nécessiter des améliorations. Cette fonctionnalité vous aide à comprendre quels thèmes ou sujets sont les plus populaires auprès de vos visiteurs, vous permettant d'adapter votre stratégie de contenu en fonction des préférences du public.

De plus, Jetpack offre une vue géographique des visites, vous permettant de voir d'où viennent les visiteurs dans le monde. Cela peut être particulièrement utile pour cibler du contenu ou des campagnes marketing vers des marchés géographiques spécifiques.

Statistiques JetPack Compteur de visiteurs

conclusion

Les compteurs de visites basés sur PHP et MySQL, bien que courants dans WordPress, peuvent causer divers problèmes, en particulier en cas de trafic Web élevé. S'appuyer sur des services externes tels que Google Analytics, Matomo ou Jetpack peut non seulement résoudre ces problèmes, mais peut également fournir un certain nombre de fonctionnalités supplémentaires qui améliorent l'efficacité, les performances et la gestion générale du site Web. Pour assurer un site WordPress fluide, rapide et fluide, il est essentiel de faire les bons choix en termes d'outils et de technologies.

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de The FreeBSD Foundation ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt. Oracle Corporation détient les droits sur Oracle®, MySQL® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; REDIS® est une marque déposée de Redis Labs Ltd. F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB. Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited. Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV. Hetzner Online GmbH détient les droits sur Hetzner® ; OVHcloud est une marque déposée d'OVH Groupe SAS ; cPanel®, LLC détient les droits sur cPanel® ; Plesk® est une marque déposée de Plesk International GmbH ; Facebook, Inc. détient les droits sur Facebook®. Ce site n'est affilié, sponsorisé ou autrement associé à aucune des entités mentionnées ci-dessus et ne représente en aucune manière aucune de ces entités. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italie.

JUSTE UN MOMENT !

Souhaitez-vous voir comment votre WooCommerce fonctionne sur nos systèmes sans avoir à migrer quoi que ce soit ? 

Entrez l'adresse de votre site WooCommerce et vous obtiendrez une démonstration navigable, sans avoir à faire absolument quoi que ce soit et entièrement gratuite.

Non merci, mes clients préfèrent le site lent.
Retour en haut de page