Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

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.

Décrire mon problème Discuter sur WhatsApp

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

  1. Sauvegarde complète de la base

    Avant toute suppression, une sauvegarde de la base entière, restaurable indépendamment des fichiers du site.

  2. 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.

  3. 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.

  4. 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.

  5. 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

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.

D’où partez-vous ?
Quelle est la taille du catalogue, s’il y a une boutique ?
Le site utilise-t-il des extensions payantes avec licence à retransférer ? (facultatif)

Certaines licences sont limitées à un domaine ou nécessitent une réactivation auprès de l’éditeur.

Qu’est-ce qui doit impérativement être conservé ? (facultatif)
Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Questions fréquentes

Pourquoi les options autoload ralentissent-elles vraiment le site ?
Parce qu’elles sont toutes chargées en mémoire à chaque requête, y compris sur des pages qui n’en ont besoin d’aucune. Plus leur volume total augmente, plus chaque chargement de page paie ce coût, même pour un simple affichage de page produit.
Comment repérer une table orpheline sans risque de casser un plugin actif ?
Je croise la liste des tables de la base avec les préfixes des extensions réellement installées, actives ou non. Une table sans plugin correspondant, ni actif ni désactivé, est un bon candidat, mais je vérifie toujours avant suppression plutôt que de me fier uniquement au nom.
Faut-il supprimer toutes les révisions de contenu ?
Non, je conserve un nombre raisonnable de révisions récentes par article pour garder un historique utile, et je purge seulement l’accumulation ancienne qui ne sert plus à personne.
Un nettoyage de base peut-il casser une extension active ?
Oui, si une table ou des transients supprimés sont encore lus par une extension active. C’est pour cette raison que la vérification fonctionnelle après nettoyage porte en priorité sur les extensions qui utilisaient un cache ou une table dédiée.
À quelle fréquence faut-il nettoyer une base WordPress ?
Il n’y a pas de fréquence universelle : ça dépend du nombre d’extensions installées puis retirées au fil du temps et du volume de contenu. Un contrôle une à deux fois par an suffit sur la plupart des sites actifs.