
Comment supprimer les anciennes révisions WordPress : 4 étapes
Votre base de données WordPress a gonflé, votre panneau d’administration est devenu d’une lenteur insupportable et votre sauvegarde atteint la taille d’une archive de site de taille moyenne? Les révisions sont probablement en cause: ce sont les copies de brouillon issues de chaque sauvegarde que le moteur accumule au fil des années.
Une seule page totalise des dizaines de modifications au cours de son existence. Multipliez cela par des centaines d’articles et vous vous retrouvez avec des gigaoctets de données inutiles dans wp_posts. Pire encore, les révisions sont stockées dans la même table que le contenu publié, donc chaque enregistrement supplémentaire ralentit les requêtes.
Voici quatre méthodes pour nettoyer les anciennes versions de votre base de données: d’une extension sûre à du SQL brut. Plus une astuce bonus qui empêchera l’accumulation de révisions de revenir.
💡 Aperçu rapide:
- WP-Sweep, la voie la plus sûre: l’extension supprime les révisions en utilisant les fonctions natives de WordPress, sans requête directe en base de données.
- wp-config.php, trois lignes de code désactivent ou limitent complètement la sauvegarde des brouillons au niveau du moteur.
- Requête SQL, un nettoyage instantané en une seule requête; nécessite une sauvegarde complète de la base avant exécution.
- Intervalle d’autosave, ne supprime pas ce qui est déjà accumulé mais ralentit considérablement la croissance future des révisions.
Étape 1: Supprimer les révisions avec l’extension WP-Sweep
La méthode la plus simple et la plus sûre pour ceux qui préfèrent ne pas toucher au code. WP-Sweep appelle les fonctions natives de WordPress (wp_delete_post_revision) et n’écrit aucune requête brute, le risque d’endommager la base de données est donc minime.

Installation standard:
- Allez dans Extensions → Ajouter.
- Recherchez WP-Sweep, cliquez sur Installer puis sur Activer.
- Ouvrez Outils → Sweep.
- Trouvez la ligne Révisions et cliquez sur le bouton Sweep.
L’extension indiquera combien de révisions ont été supprimées et combien d’espace a été libéré. En plus des révisions, WP-Sweep peut nettoyer les commentaires indésirables, les brouillons d’autosave, les termes de taxonomie inutilisés et les champs méta orphelins, le tout via l’API native de WordPress.
Étape 2: Désactiver les révisions via wp-config.php
Si vous n’avez pas du tout besoin des révisions, désactivez-les avec une seule ligne. Localisez le fichier wp-config.php à la racine de votre site et ajoutez le code avant la ligne /* That's all, stop editing! */:
1 define( 'WP_POST_REVISIONS', false );

Après cela, WordPress cessera de sauvegarder des brouillons à chaque autosave et à chaque clic sur «Mettre à jour». Seule la dernière version de chaque article restera dans la base de données.
Notez que cette ligne ne supprime pas les révisions déjà accumulées; elle empêche seulement l’apparition de nouvelles. Nettoyez l’existant avec l’étape 1 ou la requête SQL bonus ci-dessous.
Pour réactiver les révisions, remplacez false par true ou supprimez simplement la ligne.
Étape 3: Limiter le nombre de révisions
La désactivation complète ne convient pas à tout le monde. Si une équipe éditoriale de trois personnes modifie le même article et a besoin d’un historique des modifications, il vaut mieux ne pas désactiver les révisions mais en limiter le nombre.
Ajoutez ce qui suit à wp-config.php avant la ligne /* That's all, stop editing! */:
1 define( 'WP_POST_REVISIONS', 3 );
Le nombre 3 signifie que WordPress conserve au maximum trois versions récentes de chaque article. Une quatrième révision écrasera la plus ancienne, ce qui empêchera la base de données de continuer à grossir.

Pour la plupart des sites, trois révisions sont largement suffisantes. Si vous publiez des articles longs avec des dizaines d’itérations, fixez 5 ou 10. Il n’y a pas de limite; vous pouvez spécifier n’importe quel nombre entier.
Étape 4: Modifier l’intervalle d’autosave
Par défaut, WordPress sauvegarde un brouillon toutes les 60 secondes. Lors d’une édition active, cela crée des dizaines de révisions par heure. Vous pouvez allonger l’intervalle pour que les autosaves se produisent moins souvent et que la base de données grossisse plus lentement.
Ajoutez ce qui suit à wp-config.php:
1 define( 'AUTOSAVE_INTERVAL', 600 );

La valeur 600 est en secondes (10 minutes). Avec ce réglage, un brouillon est écrit dans la base de données une fois toutes les 10 minutes au lieu de chaque minute. Le minimum accepté par WordPress est de 60 secondes; le maximum recommandé est de 3600 (une heure).
Cette astuce ne nettoie pas les révisions existantes mais réduit considérablement l’accumulation de nouvelles. Combinez-la avec la limite de l’étape 3 pour obtenir une base de données propre sans nettoyage manuel régulier.
Bonus: Supprimer les révisions directement avec une requête SQL
La voie la plus rapide si le nettoyage par extension n’est pas envisageable pour une raison quelconque. Attention: cette requête est irréversible. Avant de l’exécuter, faites une sauvegarde complète de la base de données via phpMyAdmin, WP-CLI ou une extension de sauvegarde.
D’abord, un essai à blanc sans risque pour voir combien de révisions seront concernées sans les supprimer:
1 SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';
Si le préfixe de votre table n’est pas wp_, remplacez-le par le vôtre (vérifiez wp-config.php, la ligne $table_prefix).
Une fois que vous avez confirmé que le nombre est raisonnable, lancez la suppression:
1 DELETE FROM wp_posts WHERE post_type = 'revision';
La requête supprime toutes les révisions de tous les articles en une seule passe. Ensuite, la base de données sera immédiatement plus légère, surtout sur les sites anciens comptant des centaines de pages.
Ce que la requête ne touche pas: les articles publiés, les brouillons (post_status='draft'), les pages, les médias, les menus et la corbeille. Elle cible strictement les enregistrements avec post_type='revision', que le moteur utilise uniquement pour stocker les versions.
⁉️🤔 Foire aux questions
Les révisions affectent-elles vraiment la vitesse du site?
Elles l’affectent, mais indirectement. Les révisions elles-mêmes ne sont pas chargées en front-end; elles résident dans
wp_postset augmentent la taille globale de la table. Sur un site avec plus de 10 000 enregistrements, chaque millier de lignes supplémentaire ralentit les requêtesWP_Query, surtout sans cache objet (Redis). Après le nettoyage des révisions, la différence est perceptible dans le panneau d’administration et lors de la sauvegarde des articles.
Est-il sûr de supprimer les révisions avec une extension?
WP-Sweep est sûr précisément parce qu’il n’écrit pas de requêtes SQL brutes. Il appelle
wp_delete_post_revision(), la même fonction que WordPress invoque lors de la suppression normale d’un brouillon. Néanmoins, la règle «faites une sauvegarde avant toute opération sur la base de données» reste valable.
Qu’adviendra-t-il des autosaves après la désactivation des révisions?
Les autosaves continueront de fonctionner; il s’agit techniquement d’un mécanisme distinct. WordPress conserve une seule autosave par article (la plus récente), et elle est écrasée, pas accumulée. La désactivation des révisions via
WP_POST_REVISIONSn’affecte pas les autosaves. En revanche, modifierAUTOSAVE_INTERVALles contrôle directement.
Puis-je supprimer les révisions uniquement pour des types de contenu spécifiques?
Oui, via le filtre
wp_revisions_to_keep. Ajoutez ce qui suit au fichierfunctions.phpde votre thème ou à Code Snippets:
1 add_filter( 'wp_revisions_to_keep', function( $num, $post ) { 2 if ( 'product' === $post->post_type ) { 3 return 0; // do not keep revisions for WooCommerce products 4 } 5 return $num; 6 }, 10, 2 );
Ce code désactive les révisions uniquement pour les produits tout en conservant le comportement par défaut pour les articles et les pages. Pour la suppression en masse des révisions déjà accumulées d’un type spécifique, utilisez SQL avec une condition sur
post_parent.
Est-ce que Perfmatters remplace WP-Sweep?
Perfmatters est une extension de performance commerciale, et la gestion des révisions n’est qu’une de ses plus de 40 fonctionnalités. Elle peut limiter le nombre de révisions (de manière similaire à
WP_POST_REVISIONS) et les nettoyer selon un planning. Mais si vous avez seulement besoin du nettoyage des révisions, WP-Sweep est totalement gratuit et fait tout aussi bien le travail. Perfmatters prend tout son sens lorsque vous avez également besoin du lazy loading, de la désactivation des scripts emoji et d’autres options de performance fines.
Dois-je nettoyer les révisions sur un nouveau site?
Sur un site récent avec une dizaine d’articles, les révisions occupent quelques kilooctets, il n’y a donc aucun intérêt à nettoyer. Mais prenez une bonne habitude: si vous prévoyez de bloguer activement, fixez dès maintenant une limite
WP_POST_REVISIONSde 3 à 5. Vous n’aurez pas à gérer l’accumulation plus tard.
Que choisir selon votre situation?
Matrice rapide:
- Vous voulez un nettoyage sûr et rapide sans code → WP-Sweep (étape 1) + limitez les révisions à 3 (étape 3).
- Vous n’avez pas du tout besoin des révisions et travaillez seul → désactivez via
WP_POST_REVISIONS, false(étape 2). - **Base de données volumineuse, l’extension est lente sur votre **hébergement → requête SQL de la section bonus (strictement après une sauvegarde).
- Déjà propre, vous voulez le rester → limite de révisions de 3 à 5 (étape 3) + intervalle d’autosave de 300 à 600 secondes (étape 4).
Passez cinq minutes maintenant, et votre base de données cessera de gonfler au fil des ans. Si le site reste lent après le nettoyage des révisions, explorez d’autres façons d’accélérer WordPress: la mise en cache des requêtes et un thème léger apportent souvent un gain plus important que la suppression des révisions.



