WordPress : limiter ou supprimer les révisions d'articles
WordPress enregistre automatiquement une révision à chaque sauvegarde d'un article ou d'une page. Sur un site actif, cela peut rapidement représenter des milliers de lignes en base de données. Résultat : une base plus lourde, des sauvegardes plus volumineuses et, dans certains cas, des ralentissements perceptibles.
Comprendre les révisions WordPress
Les révisions sont des copies de sauvegarde internes. Elles permettent de revenir à une version précédente d'un contenu. C'est un filet de sécurité utile, mais qui peut devenir excessif. Un article modifié régulièrement peut accumuler des dizaines, voire des centaines de révisions. Chaque révision est stockée comme une entrée distincte dans la table wp_posts.
Limiter le nombre de révisions
La méthode la plus propre consiste à définir un plafond dans le fichier wp-config.php. Ajoutez cette constante avant la ligne « C'est tout, ne touchez pas à ce qui suit ! » :
// Limiter à 5 révisions par article
define('WP_POST_REVISIONS', 5);Avec cette configuration, WordPress ne conservera que les 5 dernières révisions de chaque article. Les révisions les plus anciennes seront automatiquement supprimées lors des sauvegardes suivantes.
Désactiver complètement les révisions
Si vous ne souhaitez plus aucune révision, vous pouvez les désactiver entièrement :
// Désactiver les révisions
define('WP_POST_REVISIONS', false);⚠ Attention : Désactiver les révisions supprime votre filet de sécurité. Si vous écrasez accidentellement un contenu, il n'y aura aucun moyen de revenir en arrière via WordPress. Limitez plutôt à un nombre raisonnable (3 à 5) plutôt que de désactiver complètement.
Supprimer les révisions existantes
Limiter les révisions futures ne supprime pas celles déjà en base. Pour nettoyer les révisions existantes, vous pouvez exécuter une requête SQL directement sur la base de données :
-- Supprimer toutes les révisions existantes
DELETE FROM wp_posts WHERE post_type = 'revision';
-- Nettoyer les métadonnées orphelines
DELETE FROM wp_postmeta
WHERE post_id NOT IN (SELECT ID FROM wp_posts);⚠ Attention : Faites impérativement une sauvegarde complète de votre base de données avant d'exécuter ces requêtes. Une erreur dans une requête DELETE sur une base de production peut avoir des conséquences irréversibles. Testez d'abord sur une copie de la base.
Vérifier le résultat
Après le nettoyage, vous pouvez vérifier le nombre de révisions restantes avec cette requête :
-- Compter les révisions restantes
SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';Bonnes pratiques
- Limitez les révisions à 3-5 plutôt que de les désactiver complètement
- Ajoutez la constante WP_POST_REVISIONS dès l'installation de WordPress
- Planifiez un nettoyage périodique de la base si le site est très actif
- Utilisez un outil de sauvegarde fiable indépendamment des révisions WordPress
- Optimisez la table wp_posts après un nettoyage massif (OPTIMIZE TABLE wp_posts)