Nettoyez et optimisez votre base de données
La table de données est la mémoire de votre installation WordPress. Il faut la bichonner, il faut la sauvegarder, il faut l'aimer. Sinon, abandonnée à elle-même, elle se laisse aller et elle grossit lamentablement.
Optimiser et réparer une base de données se fait en général en passant par phpMyAdmin (cf. la FAQ de votre hébergeur) mais, évidemment, il y a aussi des plugins qui permettent de nettoyer vos tables de données directement de l'administration WP.
WP-Optimize est probablement celui qui a le plus la cote en ce moment. Il propose
- de supprimer les anciennes révisions de billet
- de supprimer les commentaires non approuvés et en spam
- de supprimer les commentaire de la corbeille
- de vider la corbeille
- de conserver les données datant d'un certain nombre de semaines – deux par défaut
- de retirer tous les trackbacks et pingbacks
- nettoyer les brouillons automatisés des billets
- retirer les options transient
- de programmer le nettoyage de manière hebdomadaire
Les transients
Les transients : résultats d'un système de cache intégré dans WordPress. Ils sont utilisés notamment pour stocker les flux affichés sur l'administration et de nombreux plugins les utilisent. En théorie, ils doivent être nettoyés automatiquement mais si un plugin est mal programmé, ils peuvent s'accumuler et gonfler votre base de données.
Options
Précaution éventuelle
Ma paranoïa naturelle m'incite à croire que l'on ne peut pas faire confiance à un plugin pour gérer automatiquement la base de données – je rappelle que si elle est abîmée et que vous n'avez pas de sauvegarde vous avez tout perdu. Je conseille donc – peut-être inutilement – de n'utiliser la fonction automatique que lorsque vous avez à disposition des sauvegardes régulières de votre base de données.
site de l’extension : https://wordpress.org/plugins/wp-optimize/ – version testée : 1.8.4
Salut Li-An,
Celui là je l'installe souvent pour l'optimisation des BDDs et c'est vraiment du très bon.
Seul bémol, ces dernières semaines pas moins de 3 màj et quelques bugs avec les orphelins (supprimés depuis la dernières version)
Je ne l'utilise pas tous les jours je l'avoue. J'ai dû passer à travers les bugs.
Le plus gros ménage à faire est celui de la table commentmeta à cause de l'extension akismet qui la remplit de trois enregistrements pour chaque commentaire, ce qui gonfle vite la table. Je me souviens d'un blogueur qui avait atteint la taille maximum de base de données allouée par son hébergeur (d'un nom qui commence par O et qui finit par H) à cause de akismet !
Requête SQL à exécuter régulièrement :
DELETE FROM xx_commentmeta
WHERE meta_key LIKE 'akismet%'
Ah ben, justement, j'ai réactivé Askimet pour cause de spammeur gonflant et je me posais la question sur ce que l'on pouvait effacer pour ce plugin – j'avais lu en effet qu'il gonflait la taille de la base de données. Merci beaucoup.
Pour ma part, j'utilise le plugin Conditionnal captcha qui fonctionne en amont d'Akismet et bloque de nombreux robots spameurs. Du coup, Akismet a beaucoup moins de boulot, et un nettoyage de la BDD avec WP-Optimize de temps en temps est suffisant.
Bonjour Li-An,
J'utilise systématiquement ce plugin pour optimiser les bases de données de mes sites WordPress, sans avoir rencontré de problèmes. Le seul petit soucis a été la succession de mise à jour comme le mentionne à juste titre Fabrice dans son commentaire. Je pense que ce plugin est un très bon outil pour optimiser sa base de données et ainsi les performances de son site.
Pour aller plus loin, je peux vous suggérer une petite lecture : ‑http://goo.gl/lXuCwN
Bonjour,
un bon plugin si on a des tables de type MyISAM mais si elles sont de type Innodb le plugin n'optimise pas les tables.
La question est faut‑l trouver un autre plugin ou changer le type des tables ?
C'est une question difficile pour moi : j'imagine que WP-Optimize travaille sur le format le plus courant et je ne connais pas les différences entre les deux pour pouvoir juger.
http://sql.sh/1548-mysql-innodb-myisam
MiISAM semble donc plus adapté pour des sites WP.
je suis d'accord, mais certains hébergeurs créées des bases de données de type InnoDB d'origine, il faut pourvoir changer de type.
Voici une solution qui permet de passer des tables InnoDb en MyISAM sans souci : http://blog.manooweb.fr/changer-le-moteur-des-tables-mysql-de-prestashop/
Testé sur ma BDD (dont certaines tables étaient passées en InnoDB, j'ignore pourquoi), et que j'ai pu optimiser ensuite.
Cela pourra être utile à d'autres, même si on n'est pas sur le forum-WP ;)
A priori c'est faisable en suivant le tuto.
Dommage que le plugin n'ai pas une des fonctions les plus utiles : le vidage de la corbeille (pages et articles). Nous avons plusieurs centaines de pages en corbeille (suite à tests d'une version précédente) et il est impossible de la vider via l'admin WordPress, process trop lourd qui plante au milieu… Il reste à attaquer directement la base avec une bonne vieille requête SQL mais c'est pénible qu'aucun plugin ne propose cela.
Vous pouvez la faire nettoyer automatiquement : http://wpchannel.com/vider-corbeille-wordpress-automatiquement/ Mais si l'admin plante, les plugins planteront aussi – WP Optimize le propose il me semble ??? Je vous conseille de désactiver tous les plugins et de mettre votre site en maintenance pour faire la manip : ça devrait passer. Je suis quand même étonné que ça coince parce qu'il me semble que ce n'est pas une opération très lourde.
Merci. Non le plugin ne propose pas la vidage de la corbeille des pages, d'ailleurs ça n'apparait même pas dans le dashboard. Nous allons effectivement faire ça la nuit en fermant le site quelques minutes..
Ben pourtant : http://tof.canardpc.com/view/c3d14ad6-a59f-4a97-a917-138425c6486a.jpg
Oui mais ça concerne juste les posts et les commentaires, pas les PAGES ni les pages en corbeille :-)
Bonjour,
vous devez en avoir beaucoup, j'ai déjà en cliquant sur Corbeille dans Pages puis tout cocher et choisir " Supprimer définitivement" ainsi vider la corbeille sans problème.
Sans être sur à 100%, il me semble l'avoir aussi fait grâce à wp-optimize.
sinon mettre dans wp-config.php le code Empty_Trash.
https://codex.wordpress.org/Editing_wp-config.php#Empty_Trash
vous avez bien modifié le thème via un thème enfant, donc maintenu à jour Smart Mag ? Version 2.5 ?
Vos plugins sont tous de 2015 ?
Oui, plusieurs milliers en fait (bug d'un plugin à l'activation, qui a généré près de 4000 pages vides…). De toute façon même en réglant le nombre d'items par page dans l'admin, quand on lance un supprimer définitivement, le process se fige et ne supprime que par lots de 15 pages… Impossible de faire ça sur un site live qui a toujours en moyenne entre 500 et 1000 connexions permanentes. Nous allons passer en mode maintenance de nuit pour achever cette tâche.
Ah, je comprends mieux le problème : plusieurs milliers justifient que le serveur coince. Je ne me suis jamais posé la question des pages d'ailleurs.
Pour info, le plugin en question est UserPro. Un très bon plugin, extrêmement complet mais très délicat à paramétrer. Je pense qu'il a généré ces pages parce-qu'il y avait déjà dans le site des pages qui portaient le même nom (register, login etc) et du coup ça a lancé une sorte de boucle infernale. Bref, on relance l'install de zéro, mais il faut qu'on vide cette foutue corbeille avant pour être bien clean :-)
En haut à droite Options de L'écran puis choisir le nombre de pages à afficher.
Oui, voir mon commentaire précédent :-) Ça ne change rien
Savez vous si il existe un outil pour supprimer ses images non utilisées dans une bibliothèque wordpress ?
J'ai plusieurs images a double et j'aimerais savoir les quelles ne sont pas utilisées.
A bientôt et au plaisir de lire vos articles !
VIBESlab
Regardez ça https://wordpress.org/plugins/media-cleaner/
Pas de chances, c'est pas compatible avec Visual Composer, merci en tout cas…