Désactiver et supprimer les révisions d’articles de WordPress
Les révisions sont des sauvegardes des articles automatiquement enregistrés par WordPress. Cette fonctionnalité peut vite devenir un gouffre pour la base de données.
Une fonction de WordPress consiste à enregistrer des versions de vos articles. Bien qu’elle soit pratique, cette fonctionnalité alourdit rapidement votre base de données.
Afin d’alléger la base de données, nous allons supprimer puis désactiver les révisions !
Pour effacer les révisions d’articles déjà présentes dans la base de données ainsi que les meta données enregistrées, on les supprime directement via une requête SQL.
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
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';
[/pastacode]
Pour désactiver la fonctionnalité de WordPress, il suffit d’ouvrir le fichier wp-config.php
et y ajouter la constante WP_POST_REVISIONS
.
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
define('WP_POST_REVISIONS', false);
[/pastacode]
18 Commentaires
Merci pour le bout de code ! Ma base est passée de 85 Mo à 22 Mo ! Impressionnant !
@Yoann : Et oui, laisser les révisions est le meilleur moyen pour occuper de la place inutile dans une base de données !
Bonjour,
Je ne comprends pas où il faut placer le code qui permet de supprimer les révisions déjà présentes (“dans la base de données” –> mais encore ??)
Je ne suis pas une pro … :/
@Flobogo : Il faut vous rendre sur le PHPMyAdmin de votre serveur pour pouvoir exécuter la requête.
Si vous ne comprenez pas, il existe le plugin WP-Optimize qui vous permettra de supprimer les révisions très facilement à l’aide d’un espace d’administration.
Est-il possible plutôt que de les supprimer, de ne garder que les 4 ou 5 dernières révisions (par exemple) ?
@Christophe : Pour garder un nombre précis, il suffit de faire
define('WP_POST_REVISIONS', X);
ou X est égal au nombre de révisions à garder.Bonjour,
Comme nous le conseille le module de sécurité WSD security , j’ai changé le préfixe de la table , je remplace le wp par mon nouveau nom dans la requête SQL , mais faut-il changer aussi “WP_POST_REVISIONS “par “XXX_POST_REVISIONS”
@Paulo: Non, cela ne dépend pas du préfix de la BDD, il faut laisser
WP_POST_REVISIONS
.Bonjour,
J’ai mis la ligne define(‘WP_POST_REVISIONS’, false);en tête de mon fichier config.php et pourtant je trouve toujours des révisions .
@paulo: Cela permet de “désactiver” les révisions, mais ça ne supprime pas les anciennes.
Merci Jonathan,
Enfin une vrai soluce pour ne garder que les 5 dernières revisions
Juste dommage que WP intègre pas directement en admin de simples cases à cocher pour virer les anciennes.
Bonjour,
Merci ce conseil astucieux. J’ai supprimé les révisions d’articles avec du succès…
Mais je change d’avis, j’aimerai de le remettre en place. Avant de faire injecter dans le SQL, je préfère de vous poser la question pour être sûr :
Est il suffit de mettre “UPDPATE a,b,c” à la place de “DELETE a,b,c” ?
@David: Une fois que les données sont supprimées, il n’est plus possible de les récupérer.
Bonjour,
J’ai copié-collé le code SQL tel quel et la requête me renvoie “0 ligne supprimée.” et il y a toujours les révisions dans mon wordpress.
De plus, j’ai copié define (‘WP_POST_REVISIONS’, 3); à la fin de mon config.php mais je peux toujours créer autant de révisions que possible.
J’ai loupé quelque-chose ?
@Michela: Vous devez adapté le nom de tables avec celle de votre BDD ;)
tu dit:
Non, cela ne dépend pas du préfix de la BDD, il faut laisser WP_POST_REVISIONS .
et
Vous devez adapté le nom de tables avec celle de votre BDD ;)
question:
si Database Name: ‘donald’ et la table se nomme : toto_posts
je dois mettre : define(‘TOTO_POST_REVISIONS’, false); ???
ha, c bon en fait, le nom de tables c’est pour la requête….
faut bien laissé wp_post en fait comme ta dit.
ce qui est logique, wordpress va chercher directement le bon nom de la table grâce a cette variable WP_POST_REVISIONS…
Merci bien pour ce tutoriel. J’ai choisi l’option du plugin WP-Optimize pour éviter de toucher au fichier config. Merci bien (: