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

Par Xavier Deloffre

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 :

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 base de données via le fichier wp-config.php

WordPress permet d’optimiser automatiquement certains aspects de votre base de données en ajoutant des lignes de code dans le fichier wp-config.php, situé à la racine de votre site. Voici quelques exemples :

Vider automatiquement la corbeille tous les X jours

define('EMPTY_TRASH_DAYS', 7); // Remplacez 7 par le nombre de jours désiré

Limiter ou désactiver les révisions d’articles

define('WP_POST_REVISIONS', false); // Désactive complètement les révisions

define('WP_POST_REVISIONS', 3); // Limite à 3 révisions par article

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

Si vous êtes à l’aise avec phpMyAdmin, vous pouvez exécuter les requêtes suivantes via l’onglet SQL. N’oubliez pas de faire une sauvegarde de votre base avant toute modification.

Supprimer les révisions d’articles

DELETE FROM wp_posts WHERE post_type = 'revision';

Supprimer les brouillons automatiques

DELETE FROM wp_posts WHERE post_status = 'auto-draft';

Nettoyer les transients obsolètes

DELETE FROM wp_options WHERE option_name LIKE '%transient%';

Nettoyer la table wp_commentmeta (données orphelines)

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

Rechercher les métadonnées liées à Akismet

SELECT * FROM wp_commentmeta
WHERE meta_key LIKE '%akismet%';

Supprimer les métadonnées Akismet

DELETE FROM wp_commentmeta
WHERE meta_key LIKE '%akismet%';

Supprimer tous les commentaires spam

DELETE FROM wp_comments
WHERE comment_approved = 'spam';

Supprimer les pingbacks (rétroliens)

DELETE FROM wp_comments
WHERE comment_type = 'pingback';

Optimiser une table spécifique

OPTIMIZE TABLE wp_posts; -- À adapter selon la table que vous souhaitez optimiser

Vous pouvez répéter l’opération pour toutes les tables de votre base de données WordPress afin de défragmenter et améliorer les performances globales.

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 ?

Xavier Deloffre

Xavier Deloffre

⇒ Fondateur de la société Facem Web à Arras, Lille (Hauts de France), je suis également blogueur et formateur en Web Marketing, Growth Hacking. Passionné de SEO d'abord (!), je fais des outils Web à disposition tout ce qui est possible dans la chasse aux SERPs afin de travailler la notoriété de nos clients.

1 Commentaire

  1. Sébastien

    Merci pour cet excellent article. C’est vrai que quand on test certains plugins, il laisse des traces. J’ai par exemple des tables qui ne servent plus à rien.

    Pareil, j’ai la table post_meta qui pèsent 15 MO… sûrement dû au thème et plugins…

Besoin de visibilité ?

☑️ Experts du référencement

☑️ + de 12 ans d’éxpérience

☑️ + 500 clients satisfaits

☑️ Création de sites

☑️ Audit SEO

☑️ Conseil SEO

☑️ Référencement de sites

☑️ Devis gratuit