WordPress est un CMS génial, facile à installer et à prendre en main. Seulement voilà, avec le temps, il a tendance à prendre pas mal de poids, ce qui provoque des ralentissements, au pire des gros plantages.
Comme toute bonne mécanique, il faut en prendre soins et réaliser quelques travaux de maintenance pour le garder en bon état de fonctionnement.
Dans cette première partie, nous allons parler de la base MYSQL. Avec les années, elle a tendance à s’alourdir et à ralentir votre site si vous n’êtes pas vigilant.
Pour commencer nous allons nous focaliser sur la table wp-option, la bête noire de notre BDD à cause des plugins qui viennent y écrire anarchiquement des données. Quand vous installez une extension, celle-ci y écrit des informations et bien souvent, ces données restent, même si vous la désinstallez ou que vous ne l’utilisez plus. Vous en conviendrez, ce n’est pas très propre…
Après 6 ans, la table wp-option de mon blog pèse plus de 11 MO, ce qui est énorme et ce qui explique sans doute les nombreux plantages que le site à subit ces dernières semaines. (je sais c’est pas très sérieux !)
Comment faire le ménage dans la table wp-option ?
C’est finalement assez simple, mais avant de toucher quoi que ce soit, pensez à faire une sauvegarde de votre BDD. On ne sait jamais…
-
Les Transients
La première chose à faire est de supprimer les Transient (Une API qui sauvegarde des données en cache).
Pour supprimer ces fameux Transient j’utilise l’extension (gratuite) Optimize Database after Deleting Revisions. Un plugin très utile et très efficace qui détecte et vire les Transient expirés. Cerise sur le gâteau, vous pouvez le programmer périodiquement pour qu’il nettoie et optimise votre base de données.
J’ai réussi à gagner prêt de 8mo, ce qui est un bon début mais pas encore suffisant…
-
Les plugins désinstallés
Nous allons ensuite supprimer toutes les données des plugins que vous n’utilisez plus. Un travail de fourmis qui va vous demander un peu de patience et de recherche.
Dans un premier temps nous allons repérer et isoler les 100 lignes de la table qui prennent le plus de place.
Tapez la commande suivante :
SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload=’yes’ ORDER BY option_value_length DESC LIMIT 100;
Voici donc les 100 lignes les plus imposantes de votre Table wp-option. Pour savoir à quoi elles correspondent vous allez devoir faire quelques recherches sur Google.
Dans le meilleur des cas, elles commencent avec un préfixe correspondant au nom de l’extension. Dans le pire des cas, le nom n’a rien à voir avec le plugin qui l’utilise. (Je ne comprends même pas que WordPress autorise ce genre de procédé.)
Dans mon cas, on peut voir par exemple les données de A3 Lazy Load, un plugin qui optimise l’affichage des images. Bref, recherchez à quoi elles correspondent et supprimez les lignes appartenant à d’anciens plugins que vous n’utilisez plus. Je sais, c’est un peu long et fastidieux mais le jeu en vaut la chandelle. (Au pire, supprimez juste les plus grosses). Si vous avez un doute ne les supprimez pas !
Vous pouvez en profiter également pour faire le ménage dans vos plugins installés en supprimant ceux qui abusent de cette table. C’est à vous qui décider du caractère indispensable ou non des extensions trop gourmandes.
Avec un peu de temps, j’ai réussi à réduire la table à 1.7MO (soit 10MO de moins) ce qui est plutôt pas mal.
Le plugin permet également d’aller plus loin en faisant le ménage dans les « révisions », ces sauvegardes d’articles qui s’entassent et qui au final ne servent plus à rien une fois que l’article est publié. Pensez également à supprimer les spams et à vider la corbeille.
Une fois terminé, faite une vérification et lancez une optimisation de la base avec PhpAdmin ou avec le plugin.
Comme je le disais un peu plus haut, le plugin peut être programmé pour automatiser ces différentes taches, ce qui permet de garder une table Wp-option décente.
WP-Optimize est aussi super bien pour nettoyer les BDD des merdes qui s\’y accumulent… j\’ai fait passer ma BDD de 500Mo à 90Mo… Gros nettoyage 😉