Si vous utilisez WordPress depuis un bon moment déjà, il est fort probable que votre table wp_postmeta contiennent énormément de données. Cet article va vous expliquer ce que contient réellement cette table et comment la vider sans risquer de rendre inaccessible votre site Web.

Que contient la table wp_postmeta ?

La table wp_postmeta contient toutes les révisions de vos articles. Cela est souvent très pratique afin de restaurer une page ou un article à une date précise. Cependant, à chaque fois que vous allez cliquer sur le bouton “Enregistrer le brouillon“, vous allez créer une révision. Bien que cela puisse être bénéfique, cela peut encombrer inutilement votre base de données.

De ce fait, il est conseillé de vider la table wp_postmeta régulièrement. Toutefois, il est toujours intéressant de garder au moins une ou deux révisions de vos articles par mesure de sécurité. La première méthode va vous expliquer comment supprimer la totalité des révisions tandis que la deuxième méthode va vous montrer comment supprimer des révisions par rapport à une date précise.

Comment supprimer toutes les révisions d’articles de votre table ?

Il vous est possible de supprimer la totalité des révisions de vos articles par le biais d’une requêtes SQL. Cependant, avant de telles actions, il est souvent conseiller d’effectuer une sauvegarde de la table afin de pouvoir la restaurer en cas de besoin. En effet, cette action est irréversible. La requêtes SQL a exécuter est la suivante:

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';

 

N’oubliez pas de remplacer wp_ par le préfixe de votre table WordPress.

Comment supprimer des révisions en fonction d’une date précise ?

Il se peut que vous ayez envie de garder l’historique récent de vos articles. Dans ce cas, il sera nécessaire de suivre la procédure suivante:

DELETE a,b,c
FRO 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'
AND a.post_date < '2019-01-30';

Tout comme dans l’exemple précédent, il est nécessaire de modifier le préfixe wp_ par celui de votre base de données. Comme vous pouvez le constater “post_date” contient la date à partir de laquelle les révisions doivent être supprimées. Tout comme lors de la suppression de toutes les révisions, cette action est irréversible.

Certains plugins tel que Wp Rockets vous permettent sans risque de supprimer les révisions se trouvant sur votre table wp_postmeta.

Modification du fichier wp_config.php

Vous pouvez, selon vos besoins, interdire l’enregistrement des révisions d’articles sur votre site WordPress. En effet, il vous suffit d’ajouter sur votre fichier wp-config.php, la ligne suivante:

define('WP_POST_REVISION', false);

En remplaçant le paramètre “false” par un chiffre, par exemple 2, vous limiterez à deux révisions pour chaque article.

Conclusion

Vous êtes désormais en mesure de vider la table wp_postmeta de votre site WordPress hébergé sur votre formule LWS. Cependant, avant chaque action de ce type, il est conseillé d’effectuer une sauvegarde de la table afin de pouvoir la restaurer en cas de besoin. Il est vrai que la révision d’article peut être un très grand avantage, cependant, cela peut aussi ralentir considérablement le fonctionnement de votre site Web. Il est de ce fait conseillé, d’effectuer cette action régulièrement.

En espérant avoir répondu à toutes vos questions, n’hésitez pas à me laisser un commentaire et à partager l’article si il vous a été utile 😉

Et à nous rejoindre, si vous n’êtes pas encore chez LWS  👍

nom de domaine .CM