Un site WordPress qui ralentit progressivement sans raison apparente — pas de nouveau plugin lourd, pas de changement d’hébergeur — souffre souvent d’un problème invisible : une base de données surchargée.
Au fil des mois, WordPress accumule des données inutiles qui alourdissent chaque requête. Ce guide vous explique ce qui encombre votre base de données, comment la nettoyer, et comment automatiser cette maintenance pour ne plus y penser.
Pourquoi la base de données WordPress grossit
WordPress enregistre énormément de données en base. Certaines sont utiles. Beaucoup ne le sont plus.
Les révisions d’articles
Chaque fois que vous sauvegardez un article ou une page, WordPress crée une révision. Un article modifié 30 fois génère 30 entrées dans la table wp_posts. Sur un site avec 200 articles publiés depuis 3 ans, les révisions représentent souvent plus de 50 % des lignes de la table.
Les commentaires spam
Akismet ou votre filtre anti-spam bloquent les commentaires indésirables — mais ils les stockent dans la base de données, dans la corbeille des commentaires. Des milliers de lignes parfaitement inutiles.
Les transients expirés
Les transients sont des données temporaires que WordPress et les plugins stockent en base pour accélérer certaines opérations. Le problème : les transients expirés ne sont pas toujours supprimés automatiquement. Ils s’accumulent dans la table wp_options et la font gonfler anormalement.
Les tables orphelines de plugins désinstallés
Quand vous supprimez un plugin, WordPress retire l’extension — mais rarement les tables créées en base de données. WooCommerce, par exemple, crée une dizaine de tables. Un plugin de formulaire, 2 ou 3 tables. Chaque plugin désinstallé laisse derrière lui ces tables fantômes.
Les données post_meta et options orphelines
Dans le même esprit, les plugins stockent des métadonnées dans wp_postmeta et wp_options. Ces entrées subsistent après désinstallation du plugin. Sur un site ayant changé de plugins plusieurs fois, ces données peuvent représenter des milliers de lignes inutiles.
Comment nettoyer la base de données
Option 1 : avec WP-Optimize (recommandé pour les non-techniques)
WP-Optimize est le plugin de référence pour ce type de tâche. Il est gratuit, maintenu activement, et ne requiert aucune connaissance technique.
Installation et utilisation :
- Installez WP-Optimize depuis l’annuaire des extensions WordPress.
- Allez dans WP-Optimize > Base de données.
- Vous voyez une liste d’optimisations disponibles : révisions de publications, brouillons automatiques, commentaires spam, transients expirés, tables à optimiser.
- Cochez les éléments à nettoyer (vous pouvez tout cocher sauf si vous avez besoin d’accéder aux vieilles révisions).
- Cliquez sur Exécuter toutes les optimisations sélectionnées.
WP-Optimize affiche le gain de poids estimé avant de lancer la suppression. Sur un site de 2 ans, il n’est pas rare de récupérer 50 à 200 Mo.
Avant de lancer : faites toujours une sauvegarde. WP-Optimize supprime des données définitivement.
Option 2 : avec WP-CLI (pour les utilisateurs avancés)
WP-CLI est l’interface en ligne de commande de WordPress. Si vous avez accès SSH à votre serveur, c’est l’outil le plus rapide et le plus précis.
Commandes utiles :
# Supprimer toutes les révisions
wp post delete $(wp post list --post_type=revision --format=ids) --force
# Supprimer les transients expirés
wp transient delete --expired
# Supprimer les commentaires spam
wp comment delete $(wp comment list --status=spam --format=ids) --force
# Optimiser toutes les tables
wp db optimize
Vous pouvez également limiter les révisions à conserver directement dans le fichier wp-config.php :
define('WP_POST_REVISIONS', 3);
Cette ligne limite à 3 le nombre de révisions conservées par article. Elle n’efface pas les révisions existantes, mais stoppe l’accumulation future.
Option 3 : via phpMyAdmin (nettoyage manuel ciblé)
Pour supprimer les tables orphelines d’un plugin désinstallé, phpMyAdmin est l’outil adapté. Accédez-y depuis votre espace hébergeur.
Repérer les tables orphelines : dans phpMyAdmin, listez les tables de votre base de données. Les tables créées par des plugins tiers ont généralement un préfixe propre (ex. : wp_wc_ pour WooCommerce). Si le plugin est désinstallé et que vous n’avez aucune intention de le réinstaller, vous pouvez supprimer ces tables.
Attention : ne supprimez que les tables dont vous êtes certain de l’origine. En cas de doute, abstenez-vous ou faites appel à un professionnel.
Automatiser la maintenance mensuelle
Nettoyer la base de données une fois ne suffit pas. L’entropie reprend rapidement. La bonne pratique est d’automatiser cette maintenance.
Avec WP-Optimize :
- Dans WP-Optimize > Réglages, activez la planification automatique.
- Configurez une exécution hebdomadaire ou mensuelle.
- Sélectionnez les optimisations à lancer automatiquement.
Avec WP-Cron et WP-CLI (pour les environnements avec accès serveur) : Ajoutez une tâche cron système qui exécute les commandes WP-CLI chaque mois :
0 3 1 * * wp --path=/var/www/html db optimize && wp --path=/var/www/html transient delete --expired
Cette tâche s’exécute le 1er de chaque mois à 3h du matin, en dehors des heures de trafic.
Les signaux d’alerte d’une base de données surchargée
Votre base de données vous parle. Voici les signes qui indiquent qu’il est temps d’intervenir :
- Site lent uniquement en back-office : le tableau de bord wp-admin rame, les listes d’articles mettent plusieurs secondes à charger.
- Erreur “Error establishing a database connection” : la base de données est saturée ou le serveur MySQL est à court de ressources.
- Timeout lors de l’édition d’articles : la sauvegarde automatique surcharge une table trop volumineuse.
- Requêtes MySQL lentes signalées par votre hébergeur : certains hébergeurs envoient des alertes quand des requêtes dépassent un seuil de temps.
À quelle fréquence nettoyer la base de données ?
La fréquence dépend de l’activité du site :
| Type de site | Fréquence recommandée |
|---|---|
| Blog actif (5+ articles/mois) | Toutes les 2 semaines |
| Site vitrine avec blog mensuel | Tous les mois |
| Site e-commerce (commandes quotidiennes) | Toutes les semaines |
| Site vitrine sans blog | Tous les 3 mois |
Un site e-commerce WooCommerce est particulièrement concerné : les commandes, les sessions de panier et les logs de transactions s’accumulent rapidement.
Vous préférez déléguer cette tâche récurrente ?
La maintenance de base de données fait partie des actions régulières qui prennent du temps mais sont indispensables à la performance de votre site. Si vous souhaitez externaliser cette surveillance, notre service de maintenance WordPress inclut l’optimisation régulière de la base de données, les sauvegardes automatiques et la surveillance des performances.
Quelques minutes par mois suffisent à maintenir une base de données propre. Le vrai coût, c’est le site lent que vos visiteurs quittent avant même d’avoir vu votre offre.