Comment supprimer (seulement) les anciennes Révisions de WordPress, manuellement via phpMyAdmin ?

Supprimer uniquement les anciennes « Révisions » de WordPress via MySQL et phpMyAdmin présente plusieurs avantages :

  • aucun plugin requit
  • conserve votre historique récent
  • accélère votre dashboard WordPress

Voyons la procédure et les requêtes MySQL à suivre pour pouvoir rapidement alléger votre base de données WordPress de ces révisions devenues inutiles depuis tout ce temps.

Voir directement la Requête MySQL “DELETE FROM…” ! ↓

Tutoriel MySQL (sans plugin) pour nettoyer les Révisions WordPress antérieures à une date précise

La procédure décrite ci-dessous est un peu technique et réservée aux utilisateurs étant familiers de phpMyAdmin et des requêtes MySQL.

Supprimer les révisions de WordPress via un plugin ?

Si vous ne maîtrisez pas suffisamment MySQL pour réaliser cette procédure, sachez qu’il existe des plugins de performances vous permettant d’atteindre le même résultat, en vous laissant guider dans votre interface WordPress.

Ce présent tutoriel plus rapide est proposé aux utilisateurs souhaitant éviter d’installer un plugin à chaque fois qu’ils désirent alléger leur base de données des (très) anciennes révisions.

« DELETE FROM wp_posts, post_type revision et post_modified »

Ce sont les quelques termes techniques qu’il vous sera utile de mémoriser, pour jongler spontanément avec vos anciennes révisions WordPress via MySQL.

Les captures d’écran de ce billet sont données à titre d’exemple,
Veillez toujours à adapter les requêtes MySQL ou les lignes de commande que vous trouvez dans les tutoriels. Par exemple, le nom de votre base de données, ainsi que le préfixe de vos tables wp_ (personnalisé par mesure de sécurité) peuvent être retrouvés dans votre fichier wp-config.php →

Réaliser une sauvegarde MySQL en 1 clic via l’Assistant cPanel

Lorsque vous vous apprêtez à effectuer des opérations MySQL sur votre base de données, pensez toujours à d’abord réaliser une sauvegarde de celle-ci. Grâce à « l’Assistant cPanel », télécharger une sauvegarde d’une base MySQL ne prend pas plus de 2 minutes !

Télécharger un Backup MySQL en 1 clic via cPanel et l'assistant de sauvegarde
Le clic sur ce lien lance instantanément le téléchargement d’un Backup MySQL
Télécharger une sauvegarde MySQL en moins de 2 minutes ?
Cela peut être réalisé en 1 clic, depuis l’Assistant de Sauvegarde MySQL de votre compte cPanel EasyHoster (Backup Wizard).

Puisque nous sommes maintenant en sécurité, avec un Backup MySQL récent sous la main, nous pouvons commencer notre balade dans phpMyAdmin (accessible depuis votre compte cPanel).

Découverte de la table MySQL wp_posts et Recherche de Révisions via phpMyAdmin

Une fois dans phpMyAdmin, sélectionnez la base de données associée au site WordPress à alléger > Structure, et triez les tables par ordre de Taille décroissante (DESC).

La capture ci-dessus montre que la base de données de ce site de test fait 71 Mo, une taille très raisonnable.

Nous réalisons régulièrement le nettoyage de nos Révisions WordPress, car des nettoyages réguliers assurent un Dashboard plus rapide ! De plus, avec une Requête MySQL “DELETE FROM” ↓, le nettoyage ne prend pas plus de 5 minutes !

En effet, nous avons l’habitude de nettoyer régulièrement les Révisions de nos propres sites WordPress.

Pourquoi alléger la table wp_posts en supprimant les anciennes révisions inutiles ?

Parce que, tout nettoyage de cette table sera  bon à prendre , car la suppression des Révisions de WordPress offre presque toujours une bonne Amélioration de Performance !
En particulier pour la vitesse de chargement du Tableau de bord WP, et les pages Non mises en cache : moteur de recherche WP, canal d’achat WooCommerce, compte utilisateur WP, etc.

Vous ne perdrez rien à faire l’essai !

D’ailleurs, pensez à mesurer la vitesse de votre Dashboard WP avec une extension Google Chrome telle que “Page Load Time”, avant / après nettoyage.

Sélectionner (SELECT) toutes les Révisions WP via MySQL

Sous l’onglet SQL de votre base de données, vous pouvez faire l’exercice de rechercher Toutes les Révisions, en adaptant la requête MySQL suivante :

SELECT * FROM wp_posts WHERE post_type = 'revision';

Total de Révisions pour ce test : 613

Il serait utile d’alléger la table wp_posts sans devoir supprimer TOUTES les révisions…
Nous allons donc voir ensemble comment supprimer un maximum de Révisions, tout en conservant un Historique Récent des Révisions d’environ 1 mois pour cet exemple.
Vérifier les révisions à supprimer grâce au moteur de recherche phpMyAdmin (optionnel)

Un moyen simple de vérifier que notre requête MySQL de “Suppression” (DELETE) donnera le bon résultat, il est utile de réaliser un Dry Run (une Recherche pour du beurre), avant de lancer l’irréversible commande “DELETE FROM”.

Pour cela, dans votre base de données, rendez-vous sous l’onglet Recherche de phpMyAdmin, où vous pourrez retrouver un formulaire de recherche vous permettant de générer des Requêtes SELECT, sans connaissance du code MySQL.

En renseignant les informations visibles sur la capture ci-dessous, phpMyAdmin génère une requête MySQL SELECT et lance la recherche dans la foulée.

Voici la requête SELECT générée par phpMyAdmin lors de ce test :

SELECT * FROM wp_posts WHERE post_modified < '2022-08-05 00:00:00' AND post_type = 'revision';

Total de Révisions antérieures + ~ 1 mois : seulement 236 sur 613 pour cet exemple
Vous devriez avoir un ratio plus élevé, si c’est votre premier nettoyage 😉

N’hésitez pas à vous inspirer de cette Requête MySQL pour lancer vos propres Recherches de Révisions, mais n’oubliez pas de l’adapter selon vos besoins : préfixe wp_, date, etc.

Requête MySQL “DELETE FROM” pour supprimer uniquement les anciennes révisions

Si vous avez réalisé l’exercice précédent avec une « Recherche phpMyAdmin », il vous est très simple d’adapter votre requête SELECT en requête DELETE FROM (attention, pas d’astérisque : * ).

La suppression via DELETE FROM est irréversible, faites un backup MySQL !

Supprimer uniquement les anciennes révisions de WordPress via phpMyAdmin

Voici donc la requête que nous avons choisi d’exécuter pour cet exercice :

DELETE FROM wp_posts WHERE post_modified < '2022-08-05 00:00:00' AND post_type = 'revision';

Total de Révisions supprimées : 213

Pour éviter les erreurs dues aux caractères invisibles,
il est conseillé de toujours Recopier vos lignes de commande, au lieu de les “copier-coller”.
Taille économisée dans la table wp_posts après suppression des anciennes révisions

Comme vous pouvez le voir sur la capture ci-dessous, notre table wp_posts est passée de 71 Mo à 44 Mo, soit 27 Mo (38% d’économie) !

Dans cet exercice, nous nous sommes contentés de supprimer des doublons devenus inutiles dans notre base de données, car a priori, après 1 mois, nous n’allons pas avoir besoin d’accéder à une ancienne version de page ou d’article.

Une optimisation pouvant être immédiatement ressentie en navigant sur son Tableau de bord WordPress !

Limiter le nombre max de Révisions WP via WP_POST_REVISIONS
Pour Limiter le nombre (max) de Révisions stockées par WP, suivez ce Guide d’Optimisation WordPress →

Un Hébergeur WordPress peut vous aider à Optimiser votre site !

« Bien sûr, et puis quoi d’autre ? Il va m’aider à créer mon site aussi peut-être, cet hébergeur ? » 😂

Oui, 🍌 🙈

Au travers de ses Solutions d’Hébergement WordPress et de l’Assistance WP incluse dans nos meilleurs Plans d’Hébergement Web, EasyHoster peut (sous conditions et dans certaines limites), vous aider à Optimiser votre site WordPress, en commençant par vous offrir un Audit de Performance et des Conseils personnalisés via le support… bien sûr, sans surcoût !

Sans parler du soutien que nous apportons aux utilisateurs de nos Sites clés en main, pour la création de leur vitrine commerciale ou leur eCommerce.

Venez donc en discuter avec nous !

Sommaire de ce billet
Besoin d'aide ?

Le site WordPress speed.easyhoster.net ➚ permet de tester le potentiel des solutions d'Hébergement Web EasyHoster.