WordPress : Désactiver l’historique des articles

wordpress-desactiver-tracking
Le passage à la nouvelle version de WordPress a causé un bug assez ennuyeux sur mon blog. Les permaliens vers mes articles étant du type http://darklgblog.dev/[id de l’article]/[titre de l’article], la fonction historique des articles sauvegardait automatiquement une version à chaque fois que j’enregistrais. Donc cet article aura l’identifiant 93, alors que je n’ai pas rédigé plus de 40 articles ( oui, mon blog est récent ).

Si vous êtes dans mon cas, et que l’historique des articles ne sert qu’à surcharger votre base de données, suivez le guide :

  • Ouvrez le fichier wp-settings.php dans votre éditeur favori
  • recherchez la ligne suivante ( 443 chez moi ) :
    $default_constants = array( 'WP_POST_REVISIONS' => true );
  • Remplacez « true » par « false ».
  • Enregistrez le fichier 😉

La fonction d’historique des articles devrait être désactivée, et WordPress un poil accéléré !

PS : Je ne critique pas dans cet article la fonctionnalité d’historique des articles, loin de là. Son utilité peut être non négligeable dans de nombreux cas, mais pas dans le mien, simplement 😉

PS2 : Thomas précise dans les commentaires qu’il est préférable d’inclure la ligne  » define(’WP_POST_REVISIONS’,’0′);  » dans le fichier wp-config.php.
En effet, ce dernier ne sera pas écrasé par une mise à jour. Bien vu 😉

Partager cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  • Et comment peut on supprimer ce qui a déjà été mis dans l’historique ?
    Merci de me repondre sur ellierazAThotmail.com

  • De manière générale, il faut toujours éviter de modifier des fichiers du coeur d’un logiciel comme WordPress : en effet, à la prochaine mise à jour, quand tu devras écraser (allégrement) les anciens fichiers, je parie que tu ne te souviendras pas de toutes les micro-modifications que tu as faites au fil du temps 😉

    Solution : ajouter la ligne suivante dans ton fichier wp-config.php (qui lui ne seras jamais écrasé) :

    define(‘WP_POST_REVISIONS’,’0′);

    D’après la doc, ça devrait suffir 🙂

    Cordialement,
    Thomas

  • DELETE FROM wp_posts WHERE post_type = « revision »;
    devrait faire un delete sélectif dans la base…

  • Bonjour,
    moi j’ai installé Amazing Grace et je n’ai pas de page intitulée wp-settings.php, mais j’ai une page function.php et je ne vois pas de ligne correspondante, alors je laisse tomber. Dommage car l’historique de mon blog est énorme, car je ne m’étais pas rendu compte qu’à chaque fois que j’enregistrai, je surchargeais ma base de données.
    Merci quand même pour tes explications qui seront bien utiles à beaucoup de gens.
    Bonne semaine.
    Bises, Isabelle

  • @Isabelle
    Tu devrais essayer avec le fichier wp-config.php, comme l’a expliqué Thomas un peu plus haut 😉
    Attention, ce fichier se trouve à la racine de ton blog, pas dans le dossier de ton thème 😉

  • Dans mon fichier wp-config qui est à la racine de mon site je n’ai pas grand chose, une dizaine de lignes avec surtout des commentaires. Voici ce qui vient après Réglages Mysql :
    [..] édité pour confidentialité des réglages 😉

  • colle « define(‘WP_POST_REVISIONS’,’0′); » sans les guillemets tout en bas de ton fichier wp-config.php .
    C’est tout ! 😉

  • J’ai ce bout de code qui s’affiche en haut de page de mon blog : define(’WP_POST_REVISIONS’,’0′);
    et quand j’enregistre mon travail une page blanche arrive avec le même bout de code en haut de page, je suis alors obligée de revenir en arrière à l’aide du bouton de mon navigateur. Il s’emble que malgré cela le travail est été enregistré.

  • 1/ Les apostrophes ont elles bien été remplacées par des apostrophes conventionnelles ?
    2/ En haut ou en bas du fichier wp-config.php, c’est la seule manip que je connaisse 😉

  • Je colle le code tel que je l’ai mis sur le précédent commentaire, rien de plus et rien de moins. Quand je le colle après ?>, il s’affiche en haut des pages de mon site, quand je le colle avant c’est une page blanche que j’obtiens de l’accueil de mon blog.
    C’est le bazar pour moi …
    Merci de ton soutien.
    Isabelle

  • La subtilité, c’est qu’il faut remplacer les apostrophes que tu copies colles depuis le commentaire ( ‘ ) par des apostrophes de ton clavier ( Touche 4 ).
    Wordpress les traduit tout seul, ça induit en erreur 😉

  • Etrange. je ne vois pas comment ça peut arriver si tu as appliqué tous les réglages donnés sur cet article.

    Je ne peux hélas pas t’aider plus que ça =/

  • En complément de l’info d’Ellie:
    > DELETE FROM wp_posts WHERE post_type = “revision”;
    > devrait faire un delete sélectif dans la base…

    Il faut en plus propager les suppressions aux autres tables, comme suit (sinon, il reste des scories):

    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’

  • J’ai pour ma part atteint 102% de capacité pour ma base sql aujourd’hui. Il va sans dire que rien ne va plus. J’ai donc tenté de supprimer l’historique, soit ces fichues révisions, mais j’ai peut-être fait les choses à l’envers.
    A vrai dire j’ai découvert dans un premier temps le code ajouté par entropie, je l’ai donc appliqué sans le « DELETE FROM wp_posts WHERE post_type = “revision”; »
    Je ne comprends à moitié rien au langage ici présent, donc j’ignore si c’est une erreur de ma part d’avoir privilégié l’execution du 2e avant celle du 1er.
    Je suis sceptique parce que mon manager -hebergeur web ne m’a pas encore annoncé à l’heure qu’il est un regain d’espace libre.
    J’ai bien tenté d’optimiser ma base mais je n’ai pas les droits (hebergeur gratuit impose ses restrictions).
    Bref. Pensez-vous que j’ai tout fait dans les règles ou presque, ou qu’il va falloir que je réinitialise ma DB?
    Merci d’avance 😉