Aujourd’hui je vous propose cet article invité traitant de WordPress et plus précisément du nettoyage de votre base de données, écrit par Morsi Masmoudi.


 

Que vous ayez besoin de libérer de l’espace sur votre serveur / base de données, ou pour des raisons de sécurité, le « nettoyage » de votre site WordPress à une fréquence bien régulière est une bonne habitude à faire.

Cet article propose 8 conseils pour se débarrasser des données inutiles et potentiellement nuisibles pour votre site WordPress. Le nettoyage va concerner les images, les métadonnées, les plugins non utilisés …

1. Supprimer les révisions d’articles

Depuis la version 2.6 de WorPress, les modifications apportées aux articles pendant que vous les rédiger sont automatiquement enregistrées dans la base de données. Ce comportement peut être utile si vous pouvez perdre brusquement vos changements et avec les révisions vous pouvez revenir donc à une version antérieure.

Mais d’un autre côté, la sauvegarde de ces révisions va consommer de l’espace et va augmenter considérablement la taille de votre base de données. Il faudra donc supprimer ces révisions. Vous pouvez le faire en utilisant un plugin, ou directement par la modification de votre base de données via PhpMyAdmin mais attention ce mode nécessite un minimum de connaissance du langage SQL pour ne pas faire n’importe quoi.

Cette requête SQL va vous débarrasser de toutes les révisions d’un article, ainsi que les métadonnées associées.

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

Pour ne pas avoir à gérer plusieurs révisions d’articles (ou de pages) et exécuter à chaque fois la requête SQL, vous pouvez limiter le nombre des révisions par article (ou page) que WordPress devra sauvegarder.

Pour cela, éditez votre fichier wp-config.php et collez cette ligne

define ( 'WP_POST_REVISIONS', 3);

Cette ligne va indiquer à WordPress de ne sauvegarder que les 3 dernières révisions.

Voici un article qui n’en parle que de ce premier conseil pour Supprimer, limiter ou désactiver les révisions d’articles WordPress

2. Débarrassez-vous des plugins et des thèmes inutilisés

Bien que ce conseille puisse être évident, la plupart de développeurs WordPress ont tendance à oublier de supprimer les plugins ou les thèmes qu’ils ont installés pour faire des tests ou pour chercher un comportement particulier et qui ne sont plus utilisés.

La suppression de ces plugins et thèmes ne va pas seulement libérer de l’espace sur votre serveur, mais va aussi éviter un problème de sécurité en cas de failles d’un plugin obsolète ou un thème non mis à jour.

Les plugins inutilisés peuvent être supprimés directement depuis l’administration du site WordPress via le menu « Extensions -> Extensions installées » et en cliquant sur « supprimer » d’un plugin inactif.
Supprimer plugin inactif

Pour les thèmes inutilisés (dont sûrement Twenty Fifteen, Twenty Fourteen et Twenty Sixteen) il faut utiliser votre client FTP et naviguer vers « wp-content / themes » et ensuite supprimer les thèmes inutilisés.

3. Nettoyer les méta-données

Au fil du temps, et que les articles ou pages sont mis à jour, créées ou supprimées, la table  wp_postmeta peut rapidement augmenter de taille et sera rempli de données inutilisées. La suppression de ces anciennes méta-données peut être faite avec un plugin ou directement avec une requête SQL:

DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;

4. Supprimer les commentaires SPAM

Si vous n’avez pas encore commencé à utiliser un système de gestion des commentaires comme « Disqus » ou « Facebook Comment » alors il y a de fortes chances que votre blogue attire beaucoup de spammeurs.

Grâce à l’extension « Akismet » disponible par défaut sur chaque site WordPress, la majorité des commentaires SPAM sont automatiquement mis en une file d’attente de modération.

En vous connectant à votre espace d’administration WordPress aller dans « Commentaires -> Tous les commentaires », sélectionnez les commentaires indésirables et les mettre en corbeilles ou en « indésirables ».

N’oubliez pas de vider la corbeille de temps en temps.

Vous en doutez mais il existe aussi (toujours) une requête SQL qui va vous permettre de supprimer tous les commentaires SPAM d’un coup !

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'Spam';

5. Supprimer les liens cassés

Si votre site n’est pas assez récent, on peut parier sur le fait qu’il y a déjà des liens cassés (un lien référencé qui ne même à aucune page).

Les liens cassés ne prennent pas beaucoup d’espace dans votre base de données, mais ça peut causer des problèmes de référencements par ce que trop de pages menant à des liens cassés pénalisent le classement Google et autre moteurs de recherches.
Broken Link Checker

Pour supprimer les liens cassés, on pourra se fier au plugin « Broken Link Checker » qui comme son nom l’indique va chercher les liens cassés.

A titre d’exemple ce que peut sortir le plugin comme résultats :
Options Broken Link Checker

L’utilisation de ce plugin fera l’objet d’un article entier pour pouvoir détailler son fonctionnement.

6. Diminuer la taille de la base en supprimant les données transitoires

Les données transitoires sont des données stockées temporairement dans la base et qui ont un nom bien spécifique (contenant le mot « transient ») et un délai après lequel ils expirent et seront supprimées.

Mais parfois, des plugins vont prendre beaucoup d’espace pour les données transitoires et ne vont pas être supprimées rapidement.

Sachez qu’il existe (encore ?) une requête SQL qui va supprimer ces données transitoires :

DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');

7. Supprimer les étiquettes (Tags) inutilisées

Il est désormais dépassé le temps où on utilise plusieurs étiquettes (ou Tags ou mots clés) pour définir son article et pour faire un mappage interne entre les articles d’un blog. Aujourd’hui la tendance est de ne plus utiliser les étiquettes mais même si on arrête de les utiliser cela ne signifie pas qu’il va rester pour une raison ou pour une autres des tas d’étiquettes qui ne sont utilisées dans aucun article.

Encore une fois cela passe par SQL et cette syntaxe :

DELETE FROM wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = 'post_tag' AND wtt.count = 0;

8. Supprimer les trackbacks

Pour faire simple, un trackbacks est une notification de la part d’un autre site pour dire qu’on parle de vous ! Exemple, vous allez écrire un article qui parle des conseils d’optimisation de WordPress et vous allez mentionner cet article en mettant un lien de référence.

Le lien que vous mettez pour référencer cet article est un trackbacks qui va m’informer du fait qu’on parle de moi, de l’article en fait, euhhh bref …

Cette technique n’est pas si utile que ça finalement et beaucoup de spammeurs l’utilisent, et ça peut venir polluer votre base de données … du coup cette super requête SQL va juste les supprimer :

DELETE FROM wp_comments WHERE comment_type="trackback";

Conclusion

Voilà donc une liste qui n’est pas bien sûr exhaustive qui vous aide à sécuriser et à diminuer la taille de votre base de données WordPress.

Si vous avez d’autres pistes d’améliorations ou d’autres conseils à partager avec nos lecteurs n’hésitez pas à nous le faire savoir avec un commentaire sur le blog.