Table des matières de l'article :
Assistance à l'un de nos clients www.viktec.net (un site de revue de technologie) qui s'est plaint d'une navigation extrêmement lente et a constaté que côté serveur tout était correctement configuré avec une pile logicielle d'excellence avec Vernis Cache qui a répondu correctement, et même un état supplémentaire de Cache avec CloudFlare, nous nous sommes demandé ce qui ne pouvait pas aller sur le site et nous avons approfondi la recherche en analysant l'application et la base de données.
Il peut arriver assez fréquemment qu'un site qui donnait de bons résultats et une excellente satisfaction en termes de positionnement sur les moteurs de recherche puisse perdre le positionnement de nombreux mots indexés et peu après le voir littéralement disparaître des moteurs de recherche.
Les raisons peuvent être multiples, un sitemap pas bien configuré, un cache qui ne se met pas à jour, un robots.txt avec un non autorisé incorrect, mais dans cet article, je veux vous parler de l'importance d'avoir un site rapide et de la nocivité d'un site lent pour les moteurs de recherche.
Ralentissez cette fois en raison d'un plugin Amazon WordPress officiel : Générateur de liens Amazon Associates.
Le plugin WordPress Amazon Associates Link Builder vous permet d'intégrer des produits Amazon dans votre site de manière simple et attrayante, en quelques clics.
Amazon Associates Link Builder est le plugin officiel pour WordPress, gratuit et conçu pour permettre aux membres du programme d'affiliation Amazon de rechercher facilement des produits Amazon à placer sur leur site. Il donne la possibilité de créer des liens directs, en quelques clics et sans avoir à sortir de l'éditeur WordPress.
L'utilisation d'Amazon Associates Link Builder vous permet d'éviter d'avoir à intégrer manuellement des informations importantes sur les produits, telles que les noms de produits, les descriptions et les aperçus.
Le plugin Link Builder génère des codes abrégés que vous pouvez utiliser pour sélectionner les données produit Amazon dans différents formats d'affichage, puis les afficher sur votre site Web. Ci-dessous, nous examinerons les fonctionnalités du Link Builder et quelques exemples de la façon dont les affiliés l'utilisent pour améliorer leurs sites.
Heureusement ce plugin a été déclassé le 9 mars 2020, mais si vous l'avez installé, soyez vraiment TRÈS prudent.
Le problème
Le principal problème vient du fait que ce plugin ajoute des entrées dans la base de données WordPress dans la table wp_options, des entrées pour plusieurs millions de lignes.
Le fait de ne pas utiliser un tableau séparé en dit déjà long sur à quel point ce plugin peut être improvisé et le mauvais travail que les ingénieurs d'Amazon ont fait (oui, c'est leur plugin officiel) mais le fait qu'il puisse remplir le tableau en allant considérablement augmenter le temps d'interrogation de la BD est vraiment plus que très grave.
Des requêtes lentes sur la base de données équivalent à des pages lentes qui sont préjudiciables à la fois pour le visiteur qui s'impatiente et pour les robots d'exploration de Google qui, ayant des milliards de sites à explorer, s'impatientent également et passent au suivant.
Qu'est-ce que le budget d'exploration ?
La définition communément donnée du budget de crawl est le nombre de pages que Google explore dans une période de temps donnée.
En termes simples, le robot d'exploration de Google s'occupe d'explorer les pages Web et de les ajouter ultérieurement à l'index. Lors de l'opération, le logiciel recherche d'autres liens à suivre indépendamment ou en suivant les URL d'un sitemap.xml pour toujours analyser les nouveaux contenus.
Pour être identifiés lors de la connexion, les bots utilisent généralement un agent utilisateur, qui est une chaîne d'accusé de réception. En consultant le fichier log Apache sur notre serveur, on peut voir les visites de Googlebot, mais il y a aussi BingBot de Microsoft, Baiduspider pour le marché chinois et YandexBot pour la Russie.
Réaliser le tâche d'exploration de site de 100, 1000 ou 10000 pages peut être particulièrement onéreux et surtout coûteux en ressources matérielles, mais aussi en temps, étant donné qu'il existe des milliards de sites qui doivent être périodiquement contrôlés pour surveiller toute nouvelle mise à jour ou modification de contenu.
D'où la nécessité de limiter le temps et les ressources dédiés à chaque site en fonction d'une série de facteurs qui récompensent certains sites avec un scan plus fréquent, tandis que d'autres ne seront que rarement vérifiés.
Pour se faire une idée concrète de la situation de votre site il faut forcément s'appuyer sur un système de surveillance des accès Googlebot et il existe différentes solutions.
Le moyen le plus simple et le plus gratuit consiste à utiliser votre compte Search Console dans la zone Crawl> Crawl Stats, où un graphique est affiché avec Activité de Google au cours des 90 derniers jours, indiquant la moyenne, les hauts et les bas du nombre de pages numérisées chaque jour.
Il est évident que si les pages sont nombreuses à explorer et que le site est lent, les Google Crawlers ne resteront pas là des heures pour récupérer la page et indexer le contenu, mais passeront au site suivant sans récupérer votre contenu et sans indexer eux. vous laissant littéralement disparaître de Google.
Le discours veut examiner Google, mais il est valable pour pratiquement tous les moteurs de recherche.
Analyse du problème
La première étape à franchir lorsqu'un site devient extrêmement lent à mort est de profiler l'application pour comprendre les goulots d'étranglement.
Cela peut être fait de plusieurs manières, en utilisant des applications tierces comme New Relic, en utilisant des plugins de profilage comme Query Monitor, ou en allant au shell MySQL DB et en effectuant un SHOW FULL PROCESSLIST ; pour voir quelles requêtes passent le plus fréquemment et le timing utilisé par chacune d'entre elles.
Un moyen sain si vous avez un accès root au système ou si vous avez des ingénieurs système intelligents qui comme nous vous suivent également sur les performances et ne vous vendent pas seulement le forfait d'hébergement à 50 euros par an est d'utiliser Boîte à outils Percona comme nous l'avons écrit dans cet article.
Cependant, dans ce cas, c'était encore beaucoup plus facile, car accéder à la base de données avec l'utilitaire phpMyAdmin il était impossible de ne pas remarquer que quelque chose n'allait pas : la table wp_options pesait 20 Go.
Une valeur inhumaine et insensée qui dépasse quelques dizaines de mégaoctets (une centaine au maximum) prouve et prouve au-delà de tout doute raisonnable que certains plugins écrivent des choses néfastes sur la table.
En fait c'était plein d'entrées avec un identifiant aalb_update_table_batch
Quelqu'un avait déjà remarqué le problème comme on peut le lire dans ce fil de support de plugin : https://wordpress.org/support/topic/the-wordpress-db-has-increased-by-600mb-2/
La solution recommandée également dans le fil répertorié ci-dessus consistait à supprimer toutes ces entrées à l'aide de la requête SQL suivante :
SUPPRIMER DE wp_options
OÙ option_name
LIKE ('% aalb_update_table_batch%')
La table a commencé à se vider jusqu'à quelques dizaines de mégaoctets et le site a commencé à ouvrir des pages en moins de deux secondes contre plus de 10 secondes avant le nettoyage.
Remplacement du plugin Amazon Associates Link Builder par WP Money Click
Une fois que le client a compris le problème que le plugin officiel d'Amazon tuait littéralement son site, il a procédé à son remplacement par le moins célèbre mais bien meilleur et plus performant Cliquez sur l'argent WP que nous recommandons fortement à tous ceux qui travaillent dans le domaine des affiliations et de la comparaison de produits.
De plus, le remplacement du plugin a permis de convertir tous les shortcodes présents sur le site (on parle de centaines d'articles) au format WP Money Click, n'ayant ainsi pas à prendre beaucoup de travail ou de temps pour migrer vers le nouveau plugin .
Résultats et bénéfices obtenus
Les résultats obtenus sont ceux d'être revenus sur un site rapide et accrocheur avec de nombreux keyworks et contenus finalement indexés par Google comme on peut le voir sur la capture d'écran suivante obtenue via SeoZoom.
Comme vous pouvez le voir de fin mars à aujourd'hui (début avril), sur environ 1000 pages indexées, nous avons atteint plus de 20000 XNUMX.
Conclusions
Bien que dans ce cas précis nous voulions traiter ce plugin qui posait de gros problèmes, cela ne veut pas dire que c'est le seul plugin à générer des situations et des conséquences néfastes comme décrit ci-dessus.
Il y a simplement des plugins écrits plus ou moins mal qui ont tendance à ralentir le site de manière embarrassante, obtenant les mêmes effets néfastes que vous avez lu plus haut.
Soyez donc prudent à chaque fois que vous installez un plugin, et faites attention à la croissance de la Base de données si vous constatez un ralentissement excessif.
A propos de quoi choisir et avec quels critères pour choisir un plugin, nous vous renvoyons à cet article Meilleure pratique pour le choix des plugins certain qu'il vous aidera à examiner attentivement la meilleure solution.
Comme toujours, si vous rencontrez des problèmes de performances, n'hésitez pas à nous contacter. Vous êtes toujours la bienvenue.