WordPress : à la chasse aux plugins cochons

Accueil / Humeur / WordPress : à la chasse aux plugins cochons

La chaleur de l’été aidant, il advient qu’on ait envie de légèreté. Et dans le domaine de la création de sites web que ceux-ci soient amaigris et se chargent à la vitesse de la lumière, en particulier sur les smartphones. Je ne parle pas des sites de mes clients, de quelques dizaines de pages tout au plus, optimisés aux petits oignons avec l’aide des outils dédiés des serveurs modernes… Non, je parle du site personnel, âgé de dizaines d’années, rempli à ras bord d’articles, de médias, de scripts et de plugins en tous genre. Celui qui sert à essuyer les plâtres, à tester d’audacieuses solutions, hébergé le plus souvent sur de vieux serveurs qui marchent au charbon et grincent aux entournures : on sait bien que les cordonniers sont les plus mal chaussés ! Il aurait fallut désinstaller proprement les plugins WordPress

Cochons !

En effet, au fil du temps, au gré des différents essais de plugins, des changements de look, votre site est devenu un veau. On s’en accommodait, vaille que vaille, les fidèles aussi, en s’inventant des excuses comme quoi c’était un gros site, très graphique, etc. mais il fallait un jour ou l’autre se rendre à l’évidence : personne n’avait la patience d’attendre le chargement des pages. On sait qu’au bout de deux secondes, l’internaute lambda va jouer ailleurs. Avec la génération TikTok c’est encore pire : on est dans le supersonique ou rien !

Mais qui n’a pas cédé au chant des sirènes ou plutôt des plugins ? Ces bouts de code php déguisés en applications, qu’il est si facile d’installer d’un clic sur un site déjà obèse ? Avant de les supprimer pour d’autres miroirs aux alouettes, perdant jusqu’au souvenir de leur existence ? Il faut dire que les programmeurs de ces phlegmons, bien utiles dans certains cas, font de la vente forcée avec des plugins semi gratuits (il y a toujours une version « pro » qui traîne, plusse mieux) et depuis quelques temps il n’est possible de s’en débarrasser qu’après un véritable interrogatoire de police ! Désinstaller proprement les plugins WordPress ? Presque impossible ! Ca colle aux doigts ces trucs là, c’est une horreur. On notera au passage l’option à cocher « j’ai cassé mon site », comme quoi même le programmeur le plus endurci reconnait qu’il propose un code possiblement mortel…

On s’est pourtant séparé au fur et à mesure des thèmes et des plugins inutilisés ; on a nettoyé la base de données avec d’autres plugins « miracles » et on se croit tranquille. On pense que tout est en ordre. Mais on se trompe ! Figurez-vous que quand on désinstalle benoitement un thème ou un plugin, ces cochons là laissent quand même leur traces de gras un peu partout dans la base de données, sans rien dire, et précisément dans la table « wp-options ». Mazette ! On m’aurait trompé ?

Désinstaller proprement les plugins WordPress : la base de données est obèse !Des traces gluantes sous forme de fichiers lourds. très lourds. En « autoload » s’il vous plait, c’est à dire que ces informations obsolètes (les fautifs ont disparus depuis longtemps et en tout cas de votre mémoire) avec leurs noms incompréhensibles, se chargent à chaque requête, à chaque page appelée. Il aurait fallut désinstaller proprement les plugins WordPress… Bien sûr tout celà ralentit considérablement le site sans compter le gâchis des ressources en direction du serveur. Au bout d’un moment, les dernières versions de WordPress se sont mises à publier des messages d’erreur dans la section « santé du site ». C’est d’ailleurs ce qui m’a donné le courage de plonger dans la base de données avec mes bits et mon couteau.

Désinstaller proprement les plugins WordPress : le panneau santé du site WordPress

Nettoyage au Karcher

C’est décidé, je consacre quelques jours au nettoyage de la base de données ! Une tâche rébarbative repoussée au fil des mois, des années… D’abord désinstaller proprement les plugins WordPress inutiles (il y en a toujours beaucoup trop !). Ensuite, il faut donc procéder au nettoyage à la main de ces entrées néfastes (suppression pure et simple ou suppression de l’autoload) dans la base de données SQL, accessible par l’interface PHPMyAdmin du serveur. Un modèle d’usine à gaz d’ailleurs à l’interface très linuxienne des années 70… J’ai flouté quelques informations sensibles pour éviter de tenter les boutonneux pirates : on n’a pas besoin de çà !

Tout se passe donc dans la table wp_options avec la requête SQL suivante :

SELECT option_name, LENGTH(option_value) AS option_value_length
FROM wp_options
WHERE autoload = 'yes'
ORDER BY option_value_length DESC;

On obtient ainsi la liste des fameuses entrées classées par taille. C’est vertigineux, il y en a des centaines et des centaines. Sur un de mes sites il y en avait plus de 4500 !

 

Désinstaller proprement les plugins WordPress. L'interface MySQL

 

Reste à supprimer celles qui sont inutiles. Une par une, interminablement, comme un malheureux. On s’aidera d’une IA en copié/collé pour savoir à quoi correspond chaque entrée, rédigée dans sa merveilleuse imbitable syntaxe. Heureusement l’IA a réponse à tout…

wpts_foundation correspond par exemple à un framework Bootstrap : « L’option wpts_foundation dans WordPress correspond très probablement à un framework ou une fondation de développement orientée objet utilisée pour la création rapide de plugins WordPress. D’après les informations disponibles, il existe un projet appelé “Modern Framework for WordPress” (aussi qualifié de “foundation” ou base technique) qui fournit un cadre structuré avec des classes bootstrap, des abstractions d’API, des outils pour générer automatiquement des ressources (scripts, styles, templates, classes PHP), et un système de gestion simplifié pour les plugins WordPress. « 

Afuera !

Ne cherchez pas, il vous est impossible d’éditer directement les entrées wp_options (facétie du serveur) : vous n’avez pas les droits ! Ce serait trop simple. Il faut en passer par une requête dédiée et une à la fois… Voici la marche à suivre.

Dans la table wp_options, il faut lancer une requête SQL (je vous laisse découvrir la merveilleuse interface et toutes ses instructions et réglages en mode texte – et encore, on a échappé au terminal, encore que, c’est possible. Si, si !). Voici la formule magique. En remplaçant évidemment « nom complet » par l’entrée trouvée avec la première requête.

DELETE FROM xxx_options WHERE option_name = 'nom complet';

C’est un jeu fastidieux et très périlleux : faites des sauvegardes régulières de la base de données de façon à pouvoir revenir en arrière ! Souvent, une entrée supprimée, d’apparence inoffensive, casse le site. Merveilleux WordPress… Encore que ce soit le moins pire des CMS.

Récompense

Toujours est-il qu’après avoir supprimé des centaines d’entrées inutiles (compter une centaine d’années), la santé du site WordPress vous dit merci.

Santé du site : Désinstaller proprement les plugins WordPress

Sur Google Insight, PingDom, GT Metrix ou d’autres moulinettes en ligne, le gain de vitesse est significatif. De quoi nous motiver pour accélérer encore le site et crever les plafonds ! Avec des logiciels de cache par exemple… Mais ça c’était avant. Avant la terrible conjonction de nuisances qui a abouti à la pire des pannes que j’ai eu à gérer : des jours hors ligne à chercher le moyen de ressusciter mon site et ma boutique. Mais ceci est une autre histoire 😉

 

Publié le Août 14, 2025

Catégories

0 commentaires