Nettoyer une base WordPress après des années d’extensions
Tables orphelines, options auto-chargées surchargées, révisions accumulées : ce qu’une base vieillissante contient réellement et comment la nettoyer sans casser un plugin encore actif.
Ce que contient réellement une base après des années d’usage
Un site WordPress de plusieurs années, passé par de nombreuses extensions installées puis désinstallées, accumule dans sa base des éléments que personne n’a jamais nettoyés. Les extensions bien conçues suppriment leurs propres tables à la désinstallation ; beaucoup ne le font pas, et laissent des tables orphelines qui continuent d’exister sans qu’aucun code actif ne les lise. La table wp_posts accumule aussi les révisions de contenu : chaque enregistrement automatique ou sauvegarde manuelle d’un article crée une nouvelle ligne, jamais purgée par défaut. Les transients, un mécanisme de cache temporaire stocké dans wp_options, expirent logiquement mais restent souvent en base bien après leur expiration si rien ne les purge.
Les métadonnées orphelines suivent la même logique : quand un article, un produit ou un client est supprimé, les lignes correspondantes de wp_postmeta ou wp_usermeta ne le sont pas toujours en même temps, surtout si la suppression est passée par une requête directe en base plutôt que par l’interface WordPress. Ces lignes orphelines n’affichent jamais rien, mais elles gonflent la base sans raison.
Le point le plus coûteux en performance est souvent le moins visible : les options marquées autoload dans wp_options. Ce sont des réglages que WordPress charge intégralement en mémoire à chaque chargement de page, quel que soit le besoin réel de cette page. Sur un site ancien, cette table peut atteindre plusieurs mégaoctets d’options autoload, chargés à chaque requête même sur une simple page produit qui n’en a besoin d’aucune.
Comment je nettoie une base WordPress vieillissante
-
Sauvegarde complète de la base
Avant toute suppression, une sauvegarde de la base entière, restaurable indépendamment des fichiers du site.
-
Identification des tables orphelines
Je compare la liste complète des tables de la base aux préfixes des extensions réellement actives sur le site. Une table dont le préfixe ne correspond à aucun plugin installé, actif ou non, est un candidat à la suppression.
-
Purge des révisions et des transients expirés
Je supprime les révisions de contenu au-delà d’un nombre raisonnable conservé par article, et les transients dont la date d’expiration est dépassée.
-
Mesure des options autoload avant et après
Je relève la taille totale des options marquées autoload avant intervention, puis je vérifie sa réduction après nettoyage. C’est l’indicateur le plus direct de l’effet réel du nettoyage sur la performance.
-
Vérification fonctionnelle
Je contrôle que chaque extension active fonctionne normalement après la purge, en particulier celles qui utilisaient des transients pour leur propre cache.
Pages liées
-
Site WordPress lent
Les causes les plus fréquentes de lenteur sur un site WordPress ou une boutique WooCommerce, base de données comprise.
-
Sauvegarder une boutique avant une intervention
Ce qu’une sauvegarde doit couvrir avant une opération sur la base de données pour rester réversible.
-
Vider le cache WordPress
La différence entre cache de page, cache d’objet et transients, et comment les vider sans tout casser.
-
Glossaire : migration
Le vocabulaire technique utilisé sur ces pages, expliqué simplement.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.