Nettoyer la base de données WordPress sans et avec Plugin

Nettoyer la base de données WordPress pour le SEO ?

Le temps de chargement d’un site Internet est important. Dans de nombreux cas, la lenteur des réponses d’un site peut vous faire perdre des visiteurs.

En matière de référencement, cela n’a pas d’impact pour le positionnement d’un site selon John Mueller.

Cela reste essentiel tout de même puisque l’on a pu constater dans des cas extrêmes de lenteur une forme de pénalité appliquée par Google mais surtout…

Dans tous les cas, c’est très mauvais pour l’utilisateur qui est de plus en plus soucieux d’avoir une réponse rapide, donc pour commencer un affichage rapide du site Internet qu’il consulte.

On se rappellera également que Google a déposé un brevet sur l’expérience utilisateur. Par ailleurs, cette vitesse d’affichage apparaît également dans Google Page Speed Insights.

En ce qui concerne WordPress, la base de données peut vraiment grossir puisqu’elle stocke toutes les informations dans ses tables.

Et le principe est de faire vivre votre site… donc de faire grossir cette bdd. Vous avez certainement besoin de faire un peu de nettoyage, voici un article assez complet sur le sujet.

Tout d’abord un petit sommaire pour aller à la section qui vous intéresse :

  1. Quelques précisions sur la bdd WordPress
  2. Nettoyer facilement la bdd WordPress
  3. Comment faire une sauvegarde de bdd WordPress
  4. Optimiser la bdd via le fichier wp-config
  5. Les requêtes SQL pour nettoyer sa base de données
  6. Des plugins pour nettoyer la base de données WordPress
  7. Conclusion sur le nettoyage de bdd

Quelques précisions sur la bdd WordPress

A l’installation, WordPress met en place onze tables dans la base de données. Vous pouvez visualiser ces tables en vous connectant avec PHP MyAdmin.

C’est là où sont stockées toutes les informations du site comme le contenu des articles, des pages, des catégories.

C’est aussi là que l’on va retrouver les extensions, les thèmes les informations sur les utilisateurs ou encore la configuration de WordPress.

De base, ces tables ont le préfixe wp_ que vous avez certainement changé lors de l’installation, c’est conseillé 🙂

Évidemment, on ne se limite pas à ces 11 tables dans le plus grand nombre de cas puisque votre thème ou une simple extension supplémentaire comme Contact form 7 va générer d’autres tables. Ces nouvelles tables peuvent apparaître aussi dans le cas du mode multisite.

Exemple issu de PhpMyAdmin :

tables de WordPress

wp_commentmeta : Elle stocke les meta informations sur les commentaires. Si vous avez installé Askimet (notez qu’il existe des alternatives), cette extension de base dans les installations utilise cette table.

wp_comments : Comme son nom l’indique, la table qui stocke les commentaires des articles et pages.

wp_links : Elle regroupe tous les liens de « feu l’onglet Liens » dans l’administration de WP (utile pour des versions anciennes).

wp_options : Vous y trouverez les configurations générales du site, notamment celles que vous renseignez durant son installation.

wp_postmeta : Liée à la suivante (wp_posts), cette table regroupe des informations complémentaires en rapport avec les pages et articles.

wp_posts : C’est une table clef de WordPress car elle stocke les données sur les posts, pages, médias (images, docs pdf et vidéo), ou même les produits dans les extensions E-commerce.

wp_terms : Vous y retrouverez les étiquettes (mots-clés). C’est donc une table en lien direct avec la taxonomie de WP (wp_term_relationships et wp_term_taxonomy).

wp_term_relationships : La table qui permet l’association des étiquettes (mots-clés, tags) avec les articles et pages. En lien donc avec la précédente et la suivante.

wp_term_taxonomy : On y retrouve des informations complémentaires concernant les éléments de taxonomie précités (catégorie et étiquettes). Elle est utile pour la différentiation de ces éléments.

wp_usermeta : Cela concerne la configuration des utilisateurs. Quel est leur rôle ? Quelles sont les informations complémentaires ?

wp_users : Le stockage des utilisateurs, c’est là. C’est pratique notamment pour retrouver leurs noms et leur mot de passe, mais aussi l’adresse mail. Besoin de changer le mot de passe ? c’est donc possible de le faire ici.

Nettoyer facilement la base de données WP

Alors il existe plusieurs plugins intéressants pour traiter sa base de données assez facilement et sans risquer d’aller mettre les mains dans la base directement.

Après un rappel sur la sauvegarde de bdd, nous allons voir comment la nettoyer sans extension.

Dans tous les cas, faites une sauvegarde de votre base !

Comment faire une sauvegarde de bdd WordPress

C’est assez simple, rendez-vous sur votre interface de base de données (généralement phpMyAdmin comme dans l’exemple ci-dessous) et l’onglet « Exporter ».

Choisissez la méthode d’exportation personnalisée pour avoir la proposition d’un format de compression d’export de la sortie du fichier (zip et aucune).

Mettez un fichier zipé et un autre non zipé ensuite à la racine de dossier de sauvegarde de votre site internet que vous avez préalablement récupéré entièrement via le FTP et placé sur un disque dur ou tout autre support-cloud, vous pourrez ainsi utiliser cette sauvegarde en cas de crash :

export base de données wordpressInutile pour la manipulation présente de toucher à « options spécifiques au format« , faites « exécuter ».

Optimiser la bdd via le fichier wp-config

Voyons maintenant quelques astuces pour optimiser sa base de données facilement et en gestion « automatique » par WordPress à partir du fichier wp-config qui se situe à la racine de votre site. C’est le fameux fichier que vous avez configuré manuellement ou via l’interface WordPress à l’installation. Vous pouvez insérer dans celui-ci les codes suivants.

Si vous publiez beaucoup, il arrive que votre base de données soit un peu surchargée par la corbeille , si on la vidait automatiquement tous les X jours (X étant un chiffre) :

Vider la corbeille automatiquement tous les X jours
define(‘EMPTY_TRASH_DAYS’, X );

L’une des plaies lorsque l’on publie beaucoup, ce sont les révisions d’articles et de pages qui viennent gonfler la bdd. Ces codes insérés au choix dans votre fichier wp-config permettent d’en limiter les effets :

Arrêter les révisions des articles et pages de WordPress
define(‘WP_POST_REVISIONS’, false );
Limiter les révisions des articles et pages de WordPress au nombre de X
define(‘WP_POST_REVISIONS’, X );

Les requêtes SQL pour nettoyer sa base de données

Si vous ne vous sentez pas à l’aise avec le langage SQL et phpMyAdmin en particulier, vous pouvez aller voir les extensions proposées ci-dessous. Cela étant dit, voici quelques requêtes que vous pouvez utiliser pour traiter les tables vues plus haut.

Allez dans l’autre cas sur l’onglet SQL si vous êtes sur phpMyAdmin :

requête SQL sur phpMyAdminSi vous souhaitez supprimer les révisions de la base de données, ça se passe dans wp_posts d’où la requête « DELETE FROM » suivante :

supprimer les révisions de la bdd WordPress
DELETE FROM ‘wp_posts’ WHERE ‘post_type’ = ‘revision’

Ici la commande WHERE permet d’extraire les lignes d’une base de données qui respectent la condition choisie. Cela discrimine les informations souhaitées.

Toujours dans la même table, on peut supprimer les sauvegardes automatiques de pages et d’articles :

supprimer les sauvegardes automatiques de la bdd WordPress
DELETE FROM ‘wp_posts’ WHERE ‘post_status’ = « auto-draft »

On sait que les extensions viennent gonfler la bdd, d’autant que certaines sont peut être inactives (au passage supprimez-les). En accumulant de nombreuses données issues des tests que vous avez opérés (combien de plugin essayez-vous avant de trouver le bon ?).
Veillez bien à faire une sauvegarde avant cette opération :

Nettoyer la table wp_options
DELETE FROM ‘wp_options’ WHERE ‘option_name LIKE ‘%transcient%’

La commande LIKE permet une recherche en spécifiant un mot (ou une partie d’un mot).

La table wp_commentmeta (utilisée par Askimet), elle est forcément bien chargée, pour la nettoyer procédez comme ceci :

Nettoyer la table wp_commentmeta
DELETE FROM wp_commentmeta
WHERE comment_id NOT IN (
SELECT comment_id
FROM wp_comments);

Pour le cas d’Askimet, allez d’abord vérifier son état :

Vérifier la table wp_commentmeta por Askimet
SELECT *
FROM wp_commentmeta
WHERE meta_key LIKE ‘%akismet%’

Puis, passez éventuellement à la suppression :

NEttoyer la surchage Askimet dans la table wp_commentmeta
DELETE FROM wp_commentmeta
WHERE meta_key LIKE ‘%askimet%’

Supprimer directement les spams est possible. Ces commentaires sont très encombrants. Notez que vous pouvez (!?) changer les valeurs ci-dessous avec 0 pour le commentaires en cours de modération et 1 pour les commentaires approuvés :

supprimer les commentaires spams de votre bdd wordpress
DELETE FROM wp_comments WHERE comment_approved = ‘spam’;

Vous créez des liens entre vos articles, vous avez peut-être noté les pingbacks (rétroliens) issus d’autres sites si vous avez coché l’option dans Réglages -> Options de discussion. Il est possible de les supprimer via cette requête :

supprimer les pingbacks de WordPress
DELETE FROM wp_comments WHERE ‘comment_type’ = ‘pingback’;

Optimiser l’ensemble des tables est possible d plusieurs manières mais la requête à utiliser est la suivante pour défragmenter la bdd :

Optimiser une table de la bdd de WordPress
OPTIMIZE TABLE le_nom_de_la_table

Bon nous avons fait le tour des requêtes concernant le sujet. Passons aux plugins.

Des plugins pour nettoyer la base de données WordPress

Inutile de rappeler qu’une sauvegarde de votre base est recommandée (enfin voilà qui est fait 🙂 ).

WP-Optimize, très utilisé et performant

On a tendance a être exaspéré par les spammeurs du Web, WP-Optimize va vous permettre de traiter le problème sans aller mettre la main à la patte dans votre bdd. Voici une capture d’écran possible après installation :

réglage de nettoyage wp optimizeVous pouvez constater que nombre des commandes sont exécutables ici. Concernant les données en rouge, et notamment les options transitoires (transcients), vous pouvez également les supprimer sans pour autant les discriminer.

Si vous souhaitez en savoir plus sur le sujet, je vous invite à lire cet article très détaillé de WP Formation.

Notez que vous pouvez voir les tables de votre installation dans l’onglet éponyme :

tables de bdd wp optimizeEt vous constatez que sur de petites installations déjà, on retrouve vite des tables supplémentaires et la taille des tables en question.

L’onglet réglages va vous permettre d’automatiser les opérations :

réglages wp optimizePensez à votre temps pour réaliser des articles avant d’aller plus loin.

Il arrive que l’on puisse passer plusieurs jours avec un brouillon d’article avant de le publier, parfois il faut que cela murisse… La programmation par défaut de WP Optimize est donc à réfléchir avant de la mettre en place.

WP clean up, extension plus simple mais fonctionnelle

Une autre extension, moins paramétrables et donc plus simple d’usage, c’est WP Clean Up. En voici un screenshot :

réglages wp clean up

Conclusion sur le nettoyage de bdd pour améliorer la vitesse de site

En matière de référencement, on a vu en introduction que c’était discutable.

Ce qui l’est moins, c’est que l’utilisateur commence à douter après quelques secondes et que dans l’essentiel des cas, ce « petit » temps d’attente peut suffire à faire perdre le sens de la requête initiale. Pourquoi suis-je là déjà ?

Le nettoyage de la base de données n’est peut être pas le seul problème. Il arrive également que l’affichage soit un soucis pour d’autres raisons que des outils d’analyse vont tout ou partie vous donner.

On pense naturellement à la taille des images, le javascript qui doit autant que possible apparaître en pied de page, l’optimisation en un seul fichier CSS, le non usage d’un système de cache, etc.

Enfin une optimisation de la bdd est intéressante du point de vue de la sécurité. Pourquoi garder des éléments inutiles ?

[Total : 4    Moyenne : 5/5]

A propos de l'auteur(e)

Une réponse
  1. Sébastien 22 juin 2017

Centre de préférences de confidentialité

Google Analytics

Google Analytics est un outil Google d'analyse d'audience Internet permettant aux propriétaires de sites Web et d'applications de mieux comprendre le comportement de leurs utilisateurs. Cet outil peut utiliser des cookies pour collecter des informations et générer des rapports sur les statistiques d'utilisation d'un site Web sans que les utilisateurs individuels soient identifiés personnellement par Google. Le cookie "__ga" est celui qui est le plus utilisé par Google Analytics.
En plus d’établir des rapports statistiques d’utilisation des sites web, Google Analytics peut également être utilisé, conjointement avec certains des cookies publicitaires décrits précédemment, pour proposer des publicités plus pertinentes sur les services Google (comme Google Search), sur l’ensemble d’Internet et pour mesurer votre interaction avec les publicités que nous affichons.

Google Analytics
_ga, _gid, _gat

Publicité Google

Google AdSense est un programme de monétisation proposé par Google aux éditeurs de sites web pour générer des revenus publicitaires à la performance. Un éditeur de site web peut adhérer gratuitement au programme et bénéficier d’affichages publicitaires sur son site en y plaçant des tags publicitaires correspondant aux formats de son choix par simple copier / coller d’un code fourni par le programme.
Google utilise des cookies pour rendre la publicité plus attractive pour les utilisateurs et plus rentable pour les éditeurs et les annonceurs. Les cookies servent ainsi également à sélectionner les publicités en fonction de leur pertinence pour l'utilisateur, à améliorer les rapports sur les performances des campagnes et à éviter la diffusion d'annonces que l'utilisateur a déjà vues.

Google AdSense
NID,SID,DSID, FLC, AID, TAID