WordPress

    WordPress : limiter ou supprimer les révisions d'articles

    12 mai 2025
    (mis à jour le 12 mai 2025)
    2 min

    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 ! » :

    php
    // 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 :

    php
    // 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 :

    sql
    -- 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 :

    sql
    -- 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)

    Un projet en tête ?

    Discutons-en. Premier échange gratuit, réponse sous 24h.