Websourcing.fr

Websourcing.fr » ActualitĂ©s, Web, Logiciels et Fun

Image pour [Wordpress] Optimisez votre base de donnĂ©es en supprimant les « rĂ©visions » de billets

[Wordpress] Optimisez votre base de donnĂ©es en supprimant les « rĂ©visions » de billets

Si vous utilisez la plateforme Wordpress pour bloguer, et que vous avez installé une version récente (> 2.6), vous avez dû vous apercevoir que celle-ci est devenu plus gourmande en espace disque.

C’est notamment le cas Ă  cause (ou « grâce » dans certains cas) de l’enregistrement des « rĂ©visions ».

Que sont les « rĂ©visions »?
Il s’agit de versions intermĂ©diaires de vos billets qui sont enregistrĂ©es au fur et Ă  mesure que vous les Ă©crivez. Il s’agit d’une fonctionnalitĂ© très pratique lorsqu’on Ă©crit un billet en plusieurs fois ou Ă  plusieurs par exemple, pour ne pas perdre un contenu que l’on aurait effacĂ©.

Cependant cette fonctionnalitĂ© s’avère gourmande en espace disque sur la base de donnĂ©es car chaque rĂ©vision prend grosso modo autant de place que le billet finalement publiĂ©.

Personnellement je me sers des rĂ©visions jusqu’Ă  la publication finale. Mais après cette Ă©tape, je n’ai plus besoin de celles-ci. J’ai donc cherchĂ© un moyen de les supprimer pour optimiser ma base.

Pour cela, rien de plus simple; une simple ligne de SQL permet de faire un bon nettoyage. Les « rĂ©visions » ont un type associĂ© dans l’un des champ de la table des billets. il est donc très facile de l

DELETE FROM wp_posts
WHERE post_type = "revision";

Il suffit d’exĂ©cuter cette directive dans l’interface d’administration de votre base de donnĂ©es comme PHPMyAdmin par exemple. Ce faisant, vous allègerez votre base de donnĂ©es.

Si vous ne souhaitez pas tout nettoyer, mais uniquement les billets écrit avant une certaine date, vous pouvez ajouter une clause pour cela.

Par exemple:

DELETE FROM wp_posts
WHERE post_type = "revision"
AND post_date < "2008-11-01";

Bien entendu, pensez Ă  adapter la date Ă  vos besoins.

Avant de supprimer, vous pouvez vérifier ce que la requête SQL va enlever. Exécutez pour cela la requête suivante:

SELECT ID, post_type, post_date
FROM `wp_posts`
WHERE post_type = "revision" and post_date < "2008-11-01" order by post_date desc;

Il peut arriver que la table s’appelle wp_1_posts (sur Wordpress mu par exemple).


Cet article vous a plu ?

Commenter Laissez un commentaire | Recevez les mises à jour Souscrivez au flux RSS | Partager : Twitter AddInto Fuzz del.icio.us Wikio FR Blogonet
Websourcing.fr - Tous droits réservés. Reproduction interdite sans accord préalable.
  1. Répondre Citer #1 par Romain le 14 dĂ©cembre 2008 - 23:38

    Merci! Je cherchais comment le faire simplement dans la partie Admin mais bon rien!
    C’est con, y’a aucun paramĂ©trage possible dans l’Administration? Genre limiter le nombre de rĂ©visions au moins? MĂŞme activer ou non?

  2. Répondre Citer #2 par Lionel Roux le 15 dĂ©cembre 2008 - 00:24

    @Romain – C’est vrai, on ne peut mĂŞme pas dĂ©cider combien de rĂ©visions on souhaite garder. D’ailleurs de genre de rĂ©glage est aussi faisable. Du coup si comme moi on enregistre souvent son billet pour ne pas le perdre, on se retrouve avec une base Ă©norme assez rapidement. Merci de ta visite et @bientĂ´t.

  3. Répondre Citer #3 par Lionel Roux le 15 dĂ©cembre 2008 - 10:23

    @Romain > j’ai pas rĂ©pondu Ă  ta question: pour dĂ©sactiver dĂ©finitivement les rĂ©visions, tu peux rajouter la ligne suivante Ă  wp-config.php:

    define(’WP_POST_REVISIONS’, false);

  4. Répondre Citer #4 par Romain le 15 dĂ©cembre 2008 - 14:38

    Ok merci ;)
    Comment faut faire pour choisir le nombre de révisions à garder?

  5. Répondre Citer #5 par Lionel Roux le 15 dĂ©cembre 2008 - 14:43

    @Romain – C’est très simple. Ça se passe encore dans le fichier wp-config.php.
    Il faut ajouter :

    define ('WP_POST_REVISIONS', N); // remplacer N par le nombre de révisions souhaitées.

    On peut également contrôler le temps entre deux sauvegardes automatiques (pour en limiter le nombre):

    define('AUTOSAVE_INTERVAL', xxx); // remplacer xxx par le nombre de secondes entre chaque sauvegarde automatique

  6. Répondre Citer #6 par Romain le 18 dĂ©cembre 2008 - 20:12

    Merci!!

(Ne sera pas publié)
  1. Sur AllĂ©ger la base de donnĂ©e db Wordpress » In Mulot Veritas le 18 mars 2009 - 19:53

    [...] Roux dans son article [Wordpress] Optimisez votre base de données en supprimant les “révisions” de billets explique parfaitement ce problème et apporte des solutions sans passer par un plugin [...]

  2. Sur Gérer les Post Revisions (et les backup) sur WordPress le 22 juin 2009 - 02:08

    [...] Wordpress optimisez votre base de donnees en supprimant les revisions de billets This entry was posted in WordPress and tagged Backup, Base de donnĂ©es, Optimisation, phpMyAdmin, Plugins, Post Revisions, Sauvegarde, SQL, WordPress. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL. « Framework CSS — mettez vos grilles au pas ! [...]