# Ajuster la conservation de la corbeille et des révisions

> Adapter EMPTY_TRASH_DAYS et WP_POST_REVISIONS aux besoins réels d'un client plutôt que de conserver aveuglément les valeurs par défaut de WordPress.

- Auteur : Clément Hadrot
- Publié le : 2023-03-08
- Mis à jour le : 2023-03-08
- Catégorie : Tips
- URL : https://wpmoderne.dev.wordpress-developpement.fr/tips/ajuster-conservation-corbeille-revisions/

## L’essentiel

- 30 jours de corbeille par défaut ne conviennent pas à tous les projets
- Un nombre illimité de révisions alourdit durablement la base de données
- Les deux réglages se définissent dans wp-config.php

Sur un site d'actualités qui publie une quinzaine d'articles par jour depuis plus de quatre ans, un examen de la base de données a révélé un chiffre qui a surpris tout le monde en réunion : plus de quarante mille lignes dans la table `wp_posts` correspondaient uniquement à des révisions d'articles, contre à peine six mille articles réellement publiés. La table des révisions pesait, à elle seule, presque sept fois plus lourd que le contenu éditorial réel du site.

Deux réglages, tous deux définissables dans `wp-config.php`, permettent de reprendre le contrôle sur cette croissance : `WP_POST_REVISIONS` pour les révisions d'articles, et `EMPTY_TRASH_DAYS` pour la durée de conservation des contenus mis à la corbeille.

## Comprendre le comportement par défaut

Sans configuration explicite, WordPress conserve un nombre illimité de révisions pour chaque article, créées à chaque enregistrement automatique ou manuel. La corbeille, elle, vide automatiquement son contenu après trente jours via une tâche cron planifiée, ce qui convient à de nombreux sites mais reste arbitraire selon le contexte.

> L'essentiel à retenir : 30 jours de corbeille par défaut ne conviennent pas à tous les projets ; Un nombre illimité de révisions alourdit durablement la base de données ; Les deux réglages se définissent dans wp-config.php

## Limiter le nombre de révisions conservées

```
// Dans wp-config.php, avant la ligne "That's all, stop editing!"
define( 'WP_POST_REVISIONS', 10 );
```

Cette constante limite le nombre de révisions conservées par article à dix, les plus anciennes étant automatiquement supprimées à mesure que de nouvelles sont créées. Pour désactiver complètement les révisions, ce qui reste rarement recommandé car cela prive l'équipe éditoriale de tout retour en arrière possible, la valeur `false` convient :

```
define( 'WP_POST_REVISIONS', false ); // à réserver aux cas très spécifiques
```

Attention : cette constante n'a aucun effet rétroactif sur les révisions déjà enregistrées en base de données. Un nettoyage manuel ou via WP-CLI reste nécessaire pour purger l'historique existant avant que le nouveau réglage ne produise son plein effet.

## Purger les révisions existantes avec WP-CLI

```
wp post list --post_type=revision --format=ids | xargs -n 20 wp post delete --force
```

Cette commande liste les identifiants de toutes les révisions existantes puis les supprime par lots de vingt, une précaution utile pour éviter de surcharger la ligne de commande sur un site comptant plusieurs dizaines de milliers de révisions accumulées.

## Ajuster la durée de conservation de la corbeille

```
define( 'EMPTY_TRASH_DAYS', 7 ); // une semaine plutôt que trente jours
```

Pour un site où le volume de suppressions est important, comme une boutique en ligne qui retire régulièrement des fiches produit obsolètes, réduire cette durée limite la taille de la corbeille active. À l'inverse, sur un site sensible où une suppression accidentelle serait particulièrement problématique, une durée plus longue, voire une valeur à `0` couplée à une politique de sauvegarde renforcée, peut se justifier :

```
define( 'EMPTY_TRASH_DAYS', 0 ); // vidage immédiat, à réserver aux sites avec sauvegardes fiables
```

## Trouver le bon compromis selon le profil du site

| Profil de site | WP_POST_REVISIONS recommandé | EMPTY_TRASH_DAYS recommandé |
| --- | --- | --- |
| Site d'actualités à fort volume | 5 à 10 | 7 |
| Site vitrine peu mis à jour | Valeur par défaut (illimité) | 30 (valeur par défaut) |
| Boutique e-commerce avec catalogue mouvant | 10 | 14 |
| Documentation technique collaborative | 20, pour tracer les évolutions | 30 |

> Le bon réglage n'est jamais universel : il dépend directement du rythme de publication et de la tolérance du client au risque de perte définitive d'un contenu supprimé par erreur.

## Ce que ce réglage ne remplace pas

Ajuster ces deux constantes réduit la croissance de la base de données, mais ne remplace en rien une vraie stratégie de gestion des révisions au quotidien pour l'équipe éditoriale, qui implique des pratiques et des outils propres à la rédaction, déjà traités séparément sur ce blog.

## En résumé

`WP_POST_REVISIONS` et `EMPTY_TRASH_DAYS`, définies dans `wp-config.php`, permettent d'adapter finement la conservation des révisions et des contenus supprimés au profil réel de chaque site, plutôt que de subir des valeurs par défaut pensées pour convenir à tout le monde sans vraiment convenir à personne.
