[Astuce WP] Donnez un bon coup de balai à votre BDD

Le très connu Windows® n’est pas le seul à s’encrasser à l’usage : si vous utilisez WordPress comme moteur de votre site ou blog et si vous ne l’avez pas réinstallé depuis un certain temps (non, les mises à jour qui se passent bien ne comptent pas :P ), il y a de grandes chances pour que votre Base de Données (BDD) soit peu à peu devenue aussi poussiéreuse et désordonnée que ma chambre d’étudiant qu’un sac d’aspirateur après une demi-heure de nettoyage frénétique des sous-pentes du grenier de la maison de vos grand-parents (ouch) :D Voyons comment remédier à cela sans peine.

Avant de vous lancer dans ces manipulations, assurez-vous :

  • Que votre version de WordPress soit à jour (version 2.6.3 à la date de parution de cet article)
  • De disposer d’une interface permettant d’exécuter des requêtes SQL sur votre BDD (PhpMyAdmin par exemple)
  • D’avoir sauvegardé (plusieurs fois) votre Base de Données
  • Que vos doigts ne tremblent pas : s’agirait pas de cliquer sur le bouton “Empty Table” par mégarde ;)
  • D’avoir sauvegardé votre Base de Données (j’me répète mais rigolez, rigolez…)

Une fois cette check-liste complétée, gardez un onglet ouvert sur cette page et ouvrez-en un autre sur votre interface de gestion de BDD. Commençons par demander au moteur MySQL d’optimiser les tables, ce sera toujours ça de fait :)

1. Cliquez sur le nom de votre base de données
2. Sous la liste de vos tables, cliquez sur “Tout cocher” puis dans le menu déroulant sélectionnez “Optimiser la table
3. Attendez… (l’optimisation peut prendre un moment si vous avez publié un grand nombre d’articles)
4. Vérifiez dans le rapport qui s’affiche que les résultats sont bien “OK” (indique une optimisation réussie) ou “Table is already up to date” (indique qu’il n’était pas nécessaire d’optimiser la table)

Une fois l’optimisation automatique achevée, l’heure est venue de mettre les mains dans le cambouis :) On poursuit avec une réorganisation de la table des options, selon la même méthode que celle dont j’avais fait part sur cet article (méthode testée depuis, et approuvée sur tout WordPress ≥ 2.5) Collez simplement le code suivant dans l’onglet “SQL” de PhpMyAdmin :

ALTER TABLE `wp_options` CHANGE `option_id` `option_id` BIGINT NOT NULL;
ALTER TABLE `wp_options` DROP PRIMARY KEY;
ALTER TABLE `wp_options` DROP `option_id`;
ALTER TABLE `wp_options` AUTO_INCREMENT = 1;
ALTER TABLE `wp_options` ADD `option_id` BIGINT AUTO_INCREMENT PRIMARY KEY FIRST;
ALTER TABLE `wp_options` DROP PRIMARY KEY, ADD PRIMARY KEY (`option_id`, `blog_id`)

Pour des explications détaillées, je vous renvoie à l’article en question ;) Enfin, après avoir optimisé, attaquons-nous au nettoyage à proprement parler ; je veux parler du système de révisions mis en place depuis la version 2.6. Car si le fait de conserver toutes les modifications apportées à un article peut être utile dans certains cas spécifiques (blog communautaire avec plusieurs rédacteurs), ce n’est pour moi (et d’après quelques discussions pour pas mal de monde) qu’une “useless feature“, qui ne m’a jusqu’ici servi qu’à encombrer la base de données et à fausser les identifiants d’articles ; celui-ci est par exemple le 377ème (si seulement, *soupir* :| )

Bref, fi de tout ceci, voici comment désactiver l’enregistrement systématique de révisions ET comment purger votre base de données en supprimant toute trace d’anciennes révisions ;)

1. Désactiver l’enregistrement de révisions : aucune difficulté mais comme disait l’autre, “faut l’savoir” : ajoutez simplement la ligne suivante à votre fichier wp-config.php :

define('WP_POST_REVISIONS', 0);

2. Purger la base de données : pour ce faire retournons dans l’onglet “SQL” de notre gestionnaire de bases de données, et copiez le code suivant (props Andrei Neculau)

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'

Et voilà, à présent vérifiez que tout marche bien (phew), faites à nouveau une sauvegarde complète de votre base de données, et profitez-en pour comparer la taille du fichier de sauvegarde avec celui de tout à l’heure ;)

Crédits : L’icone illustrant cet article provient de Wikimédia Commons.

blogasty

Articles Suggérés

1 Commentaire...

  1. Christophe de Bellabre le 15 décembre 2008

    Merci pour ce didacticiel, il est vraiment très très efficace !

1 trackback

Laisser un commentaire