Gérer les Post Revisions (et les backup) sur WordPress

Depuis la version 2.6 de WordPress, la fonction Post Revisions permet de conserver les versions successives d’un billet. C’est pratique mais à la longue, c’est encombrant. Je n’ai fait appel à cette fonction qu’une ou deux fois et comme j’ai tendance à modifier mes billets assez souvent (j’utilise le bouton Save Draft en cours de rédaction ou Update Post lors des corrections ultérieures), en quelques mois, j’ai eu jusqu’à 113 Post Revisions pour un total de 320 billets… Il est temps de faire le ménage !

Mais avant de modifier la base de données, je vous conseille d’en faire un backup. Pour cela, plusieurs solutions s’offrent à vous :

5 solutions pour sauvergarder votre BDD

  1. Utiliser la fonction Export intégrée à WordPress pour obtenir un fichier XML sans les liens de votre blogroll préférée (d’ou la pauvreté de la mienne à ce jour) et sans toutes les tables ajoutées par les plugins que vous avez installés. Autant dire que cette option est à réserver lorsqu’on remet son blog à plat.
  2. Installer un plugin dédié à cette tâche comme WordPress Database Backup qui va sauvegarder les tables selon votre bon vouloir. Notez que ce plugin permet de ne pas enregistrer les commentaires considérés comme du spam dans la table wp_comments et d’exclure les Post Revisions de la table wp-posts. Dans le même genre, wp-dbmanager offre un menu étoffé pour effectuer des opérations de maintenance de votre base de données sans quitter WordPress !
  3. Profiter des fonctions de votre hébergeur préféré qui devrait permettre de faire des sauvegardes quotidiennes de l’ensemble de vos bases : les fichiers compressés seront probablement enregistrés à la racine de votre hébergement.
  4. Trouver le lien Exporter dans phpMyAdmin puis cliquer sur Transmettre pour sauvegarder votre base sur votre poste de travail ou obtenir un joli fichier texte si vous laissez les choses en l’état. Enfin, vous pouvez cliquer sur Exécuter.
  5. Enfin, pour les Jedi, il reste la ligne de commande comme mysql -h host -u user -ppass base_de_donnees > fichier_dump — Plus d’information sur aidenet.

Opération Search & Destroy avec Delete Revisions

Une fois la BDD à l’abrit, faites intervenir l’excellent Delete-Revision commis par gohsy. Ce plugin va simplement dégraisser la base de données et lui redonner une deuxième jeunesse en supprimant toutes les révisions redondantes. Comme ça, d’un seul clic. Je l’ai mis en place sur ce blog et tout à l’air de fonctionner correctement.

Le coup de la constante WP_POST_REVISIONS

Il est possible de se prémunir une fois pour toutes de ces révisions intempestives en ajoutant une constante dans le fichier wp-config.php situé à la racine du blog :

define(‘WP_POST_REVISIONS’, false);

Et en la plaçant juste avant le commentaire :

/* That’s all, stop editing! Happy blogging. */

Dans le même esprit, il est possible de ne conserver qu’un nombre définit de révisions avec la ligne (ici 3) :

define(‘WP_POST_REVISIONS’, 3);

Le coup de la requête SQL DELETE

Si vous n’avez pas ajouté WP_POST_REVISIONS dès l’installation de votre blog, il faudra supprimer les révisions existantes. Pour cela, cette requête SQL — à copier-coller dans le champs phpMyAdmin qui va bien — est votre amie :

DELETE FROM wp_posts WHERE post_type = ‘revision’;

Plus d’information sur Comment désactiver le suivi des versions sous WordPress 2.6 chez Korben et Malaiac qui nous offre une page consacrée à l’optimisation pour WordPress.

Quelques pistes pour optimiser WordPress

Supprimer les Post Revisions, c’est bien, mais pourquoi s’arrêter en si bon chemin alors que le réseau regorge de liens plus intéressants les uns que les autres ?

Profitons-en pour profiler notre outil de blog comme une voiture de course :