Magazine Internet

WordPress: nettoyer la base de données

Publié le 26 octobre 2009 par Maccimum

Cet article fait suite à celui consacré au versionning qui explique comment optimiser la base de données en effaçant les révisions des articles de WordPress. Le présent article a pour but d’expliquer comment nettoyer régulièrement la base de données en effaçant les informations inutiles. Au fil de son utilisation, WordPress et ses plugins génèrent en effet des données temporaires qui ne seront plus utilisées par la suite, et qu’il convient donc de supprimer régulièrement.

wordpress-database-cleaning

Cet article est largement inspiré d’une publication de Emmanuel Georgon intitulé : WordPress, Nettoyer la base de données.

Optimiser votre base de données en utilisant quelques commandes SQL

Avertissement : Les requêtes proposées dans cette section ne sont pas anodines. Agissez avec prudence. Toutes modifications effectuées sur la base de données de votre blog Wordpress peuvent être fatales et irréversibles. Si vous n’êtes pas certain de ce que vous faites, pensez à faire une sauvegarde avant toute chose.

Remarque préliminaire : Toutes les opérations proposées dans cet article nécessitent d’avoir un accès direct à la base de données. Votre hébergeur dispose certainement d’un outil pour cela, l’outil le plus répandu étant phpmyadmin.

1°) Suppression des versions

Comme évoqué dans l’article consacré au versionning, la gestion de versions des articles est certainement la fonction qui encombre le plus la base de données. La requête suivante efface les révisions des articles tout en nettoyant les tables wp_term_relationships et wp_postmeta :

  1. DELETE a,b,c
  2. FROM wp_posts a
  3. LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
  4. LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
  5. WHERE a.post_type = ‘revision’

2°) Suppression des options du type rss_…

Les informations affichées dans le tableau de bord de l’interface d’administration sont des flux RSS, dont les données sont stockées dans la table wp_options. Ces informations ne sont pas toujours effacées, et deviennent parfois envahissantes.
Si les options du type rss_ … deviennent trop nombreuses, elles font grossir inutilement la table des options. Il est possible de les effacer régulièrement grâce à la requête suivante:

  1. DELETE FROM wp_options WHERE option_name LIKE ‘RSS_%’

Si vous vous connectez immédiatement après à l’interface d’administration, les tableaux d’information seront d’abord vides, puis se rempliront de nouveau avec les dernières entrées.

3°) Suppression des données du type _last_edit

WordPress peut être utilisé par plusieurs auteurs simultanément. Pour éviter que des articles soient édités en même temps, et provoquer ainsi des pertes de données, l’application pose des verrous sur les articles. Ces verrous prennent la forme de deux valeurs _edit_last et _edit_lock dans la table wp_postmeta. Le problème est que ces valeurs ne sont pas effacées après utilisation.

Si vous êtes le seul auteur de votre blog, ces informations sont inutiles est peuvent être supprimées régulièrement avec la requête suivante:

  1. DELETE a FROM wp_postmeta a WHERE a.meta_key = ‘_edit_last’ OR a.meta_key = ‘_edit_lock’

4°) Suppression des commentaires refusés

Autre source d’informations inutiles: les spam, et les commentaires refusés. Ces commentaires restent en effet stockés dans la base de données, alors qu’à priori, nous ne les utiliserons plus. Pour les effacer directement dans la base, il sufit d’appliquer régulièrement la requête suivante:

  1. DELETE FROM wp_comments WHERE comment_approved = ’spam’;

Attention, cette opération va irrémédiablement supprimer les statistiques de Akismet.

Optimiser votre base de données à l’aide de plugins

Pour ceux qui ne veulent pas optimiser manuellement les tables de la base de données en utilisant phpmyadmin, il existe quelques plugins simples à utiliser.

1°) Clean Options et Wp-DBManager : deux plugins utiles pour nettoyerpour supprimer les options de plugins désinstallés :

Lorsque vous désactivez ou désinstallez un plugin, les options ou les tables ne sont pas enlevés. Si vous installez et désinstallez beaucoup de plugins il y aura de plus en plus d’options inutiles et des tables augmenteront la taille de votre base de données. Pour effacer les tables crées par vos plugins dans votre base de données, vous pouvez employer Wp-DBManager. Pour effacer les options inutiles, vous pouvez utiliser le plugin Clean Options.

2°) Delete Unused Image (DUI) : un plugin pour la suppression des images inutilisées

Lorsque vous téléchargez une image, WordPress créé automatiquement des copies de petite et moyenne tailles. Ces images sont souvent inutilisées. Il peut également y avoir quelques images que vous avez téléchargées, mais que vous n’utilisées pas. Ces images qui ne servent à rien doivent être supprimées pour ne pas augmenter la taille de vos répertoires et de votre base de données. Pour ce faire, nous vous conseillons l’utilisation d’un plugin très pratique et vraiment très efficace : Delete Unused Image (DUI). À noter que ce plugin vous propose une liste d’images inutilisés, mais vous laisse le soin de les supprimer partiellement ou en totalité.

3°) WP-Optimize : un plugin dédié à l’optimisation de votre base de données

Avec WP-Optimize, quelque clics suffisent pour supprimer les fichiers inutiles, et ainsi optimiser votre base de données. Parmi ces fichiers inutiles, citons tout d’abord les « post-révisions » de vos articles, mais aussi les commentaires de spam et les commentaires désapprouvés. Soit dit en passant, ce plugin permet aussi de changer du nom de l’admin (ce qui est fortement conseillé pour des raisons de sécurité).

Un autre plugin, Wp-DBManager, vous permettra d’optimiser (et de sauvegarder) votre base de données. Ce plugin comporte de nombreuses options… trop à mon goût ! De plus, il pose quelques problèmes lors de l’installation. Personnellement, je préfère utiliser les commandes SQL pour un nettoyage complet — ce que je fais environ un fois par mois — et entre temps, j’utilise le plugin WP-Optimize.

4°) Utiliser l’option d’Akismet permettant d’effacer directement les commentaires dans la base

Akismet, le célèbre plugin WordPress utilisé pour bloquer les spams, propose une option permettant d’effacer systématiquement les commentaires indésirables dans les articles datant de plus de 1 mois. Il suffit pour cela de cocher une option dans l’écran de configuration : Choisissez Extensions > Configuration Aslimet.

Conseil : Il est préférable d’activer les différents plugins que nous venons d’évoquer juste avant d’effectuer le nettoyage de votre base de données, puis de les désactiver une fois ce travail effectué. En effet, en ne gardant que les plugins vraiment indispensables, vous réduirez le nombre de requêtes HTTP, et ainsi, votre blog gagnera en vélocité.
——
maccimum-sign-blogPour tous renseignements complémentaires, contactez-nous :
www.maccimum.fr (communication globale, tous supports, tous médias).


Retour à La Une de Logo Paperblog

A propos de l’auteur


Maccimum 4 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog

Magazine