Les révisions d’articles permettent de restaurer à une date précise la sauvegarde du billet en question. Bien que très pratique, cette fonctionnalité finit par encombrer la base de données après de nombreux enregistrements.
N.B : avant d’opérer une quelconque modification dans votre base de données, je vous recommande fortement de visionner le podcast Sauvegarder automatiquement votre base de données MySQL.
Il est donc conseillé d’effacer les révisions d’articles. Toutefois, pour aller plus loin, nous allons faire en sorte que les X dernières soient conservées pour allier performances et sécurité.
#1 – Effacer toutes les révisions d’articles
Exécutez la requête SQL ci-dessous pour supprimer la totalité des versions d’articles. Après cette action, il vous sera impossible de restaurer l’un d’eux à une date antérieure.
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
#2 – Effacer les révisions en fonction d’une date
Pour ne garder que l’historique récent de vos articles, préférez cette requête. La dernière ligne indique une date que vous pouvez modifier ; en l’occurrence, le 1er janvier 2010. Avant celle-ci, toutes les sauvegardes seront supprimées.
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision' AND a.post_date < '2010-01-01';
Pour aller plus loin
Il est possible de désactiver le versionning des articles. A l’aide de votre client FTP favori, connectez-vous à la racine de votre site WordPress puis ouvrez wp-config.php.
Ajoutez ensuite la ligne suivante :
define('WP_POST_REVISIONS', false);
En indiquant un chiffre à la place du paramètre false, vous limiterez le nombre de sauvegardes – à 5 dans cet exemple. Idéal pour un système optimisé et sécurisé
define('WP_POST_REVISIONS', 5);
Les révisions d’articles constituent un atout majeur de WordPress. Il n’est pas rare de devoir revenir en arrière après une modification malencontreuse. Entre performances SQL et niveau de risques, à vous de trouver un juste milieu !
Crédits photo : mookxi
Podcast: Télécharger (76.6MB)

Admettons que j’utilise :
define(‘WP_POST_REVISIONS’, 5);
Il me semble plutôt logique de supprimer les révisions >5, as tu une requête SQL en tête pour cette opération ?
Pas vraiment si ce n’est qu’en activant cette fonction tu auras les 5 sauvegardes plus récentes…
Ouf, j’ai enfin compris un truc après avoir cherché pendant des semaines : il ne faut pas mettre le code n’importe où dans le fichier wp-config sinon, au mieux, cela ne marche pas… au pire, tous mes articles et pages étaient passés à la poubelle !
J’ai finalement placé le code avant les clefs d’authentification et c’est OK…
Juste un petit mot pour dire que tout a fonctionné pour moi !
Mais comme le dit olivierC, il faut mettre le code avant les clef d’authentification. Sinon ça ne marche pas !
Bonne soirée !
PS : je parlais du code de désactivation des révisions…
Ping : Sauvegardez et réinstallez la bdd de votre blog en moins de 15 minutes Conseils #Blogging
Merci pour ce tuto très clair. Résultat de ma requête : plus de 11,000 écritures supprimées.
Je cherchais à faire ça depuis longtemps. Le ménage est fait.
Merci.
Merci du tuyau, j’ai pu alléger ma table wp_posts de 20 %
Bonjour
Impossible pour moi de trouver comment revenir sur une erreur. J’ai ajouter une photo a une galerie et puis après seule la dernière photo s’affiche (les autres ont disparues). C’a m’arrive souvent.
A chaque fois il faut tout refaire car je ne sais pas comment revenir en arrière.
ps: je suis nul en informatique et ne comprends pas les infos trop complexe.
Si tu as la réponse, je te remercie à l’avance.
Yann
Je ne pense pas pouvoir t’aider davantage via commentaires interposés…
merci pour ce tutorial je vien de supprimer 10Mo de ma base de données merci beaucoup