Supprimer un plugin WordPress depuis le tableau de bord ne suffit pas. La plupart des plugins laissent des tables, des options et des fichiers résiduels en base de données. Pour une désinstallation propre : désactivez le plugin, vérifiez s’il propose une option de nettoyage, supprimez-le, puis nettoyez les résidus avec Advanced Database Cleaner ou WP-Optimize.
Pas le temps ? Faites-le analyser par l'IA
Le vrai problème : ce que les plugins laissent derrière eux
Avec plus de 60 000 plugins sur le répertoire officiel, tout le monde en teste, en installe, en abandonne. Mais quand vous cliquez sur "Supprimer" dans le tableau de bord, que se passe-t-il réellement ?
WordPress supprime les fichiers du plugin dans /wp-content/plugins/. Point. Les données en base de données ? Ça dépend entièrement du plugin. Certains nettoient proprement derrière eux. La majorité ne le fait pas.
Après 15 ans à auditer des sites WordPress, j’ai vu des bases de données avec 50+ tables orphelines laissées par des plugins supprimés depuis des années. Wordfence à lui seul crée 13 tables. WooCommerce en crée plus de 30. Yoast SEO stocke des dizaines de milliers de lignes dans wp_options et wp_postmeta.
Ces résidus ne cassent rien. Mais ils gonflent la base, ralentissent les requêtes SQL, et compliquent les migrations. Alors autant faire les choses proprement.
Étape 1 : désactiver le plugin avant de le supprimer
Ça paraît évident, mais c’est la source de la plupart des erreurs. WordPress ne vous laisse pas supprimer un plugin actif depuis le tableau de bord — il faut d’abord le désactiver.
Allez dans Extensions → Extensions installées, cliquez sur "Désactiver" sous le plugin concerné. Une fois désactivé, le lien "Supprimer" apparaît.
Mais attendez avant de cliquer.
Étape 2 : vérifier si le plugin propose un nettoyage à la désinstallation
Les plugins bien codés proposent une option "Supprimer les données à la désinstallation" dans leurs réglages. Activez-la avant de supprimer le plugin.
Parmi les bons élèves :
- Complianz — propose un nettoyage complet dans ses réglages, puis efface tout à la suppression
- WP Rocket — supprime ses tables de cache et ses options automatiquement
- Redirection — propose explicitement de "supprimer les données du plugin" dans les réglages avancés
- UpdraftPlus — supprime ses réglages (mais pas les sauvegardes, heureusement)
Et les mauvais élèves — ceux qui laissent tout en base même après suppression :
- Wordfence — 13 tables, des dizaines d’options, des fichiers dans
/wp-content/ - WooCommerce — 30+ tables, des milliers de lignes dans
wp_postmeta - Yoast SEO — table
yoast_indexable,yoast_migrations, des centaines d’options - Jetpack — options partout, fichiers CSS/JS mis en cache, connexion WordPress.com résiduelle
- Elementor — données CSS en cache, meta
_elementor_datasur chaque post
Astuce : avant de supprimer un plugin "mauvais élève", cherchez sur Google "uninstall [nom du plugin] cléan". La plupart ont une documentation officielle qui détaille les tables et options créées. Wordfence par exemple a une page dédiée avec les instructions de nettoyage manuel.
Étape 3 : supprimer le plugin
Une fois la case de nettoyage cochée (si elle existe), cliquez sur "Supprimer". WordPress demande confirmation via un pop-up. Confirmez.
WordPress exécute alors le fichier uninstall.php du plugin (s’il en a un), puis supprime le dossier du plugin. Si le plugin a bien implémenté son code de désinstallation, les données en base sont aussi supprimées.
Si le plugin n’a pas de fichier uninstall.php, seuls les fichiers sont supprimés. La base reste intacte — avec tous ses résidus.
Étape 4 : nettoyer les résidus en base de données
C’est l’étape que 95 % des utilisateurs oublient. Et c’est la plus importante pour garder une base de données propre.
Deux plugins font ce travail proprement :
Advanced Database Cleaner de Younes JFR est mon choix pour les audits approfondis. Il détecte les tables orphelines (créées par des plugins supprimés), les options inutilisées dans wp_options, et les tâches cron fantômes. L’interface est claire : il vous montre exactement quelles tables n’appartiennent à aucun plugin actif.
WP-Optimize de Team Updraft est plus généraliste. En plus du nettoyage de base (révisions, transients, spam), il optimise les tables MySQL (OPTIMIZE TABLE), nettoie les commentaires indésirables, et peut être programmé pour un nettoyage automatique hebdomadaire.
Attention : faites toujours une sauvegarde de votre base de données avant de supprimer des tables orphelines. Une table qui semble orpheline peut en réalité être utilisée par un mu-plugin ou un thème. En cas de doute, renommez la table plutôt que de la supprimer.
Désinstaller via FTP : quand le tableau de bord est inaccessible
Si vous ne pouvez pas accéder à wp-admin, la désinstallation se fait en deux temps :
- Connectez-vous en FTP et supprimez le dossier du plugin dans
/wp-content/plugins/ - Si vous voulez un nettoyage complet, passez par phpMyAdmin pour identifier et supprimer les tables du plugin
Comment identifier les tables d’un plugin ? La plupart utilisent un préfixe reconnaissable. Exemples :
- Wordfence :
wp_wfConfig,wp_wfHits,wp_wfStatus… - WooCommerce :
wp_wc_orders,wp_woocommerce_sessions… - Yoast :
wp_yoast_indexable,wp_yoast_migrations…
Si vous n’êtes pas sûr, ne supprimez pas. Utilisez plutôt Advanced Database Cleaner après avoir retrouvé l’accès au tableau de bord — il fait le tri pour vous.
WP-CLI : désinstallation en une commande
Pour ceux qui ont accès au terminal SSH, WP-CLI combine désactivation, suppression et nettoyage en une seule commande :
# Désinstaller un plugin (désactive + supprime + exécute uninstall.php)
wp plugin uninstall akismet
# Désinstaller sans exécuter le code de désinstallation
wp plugin uninstall akismet --skip-delete
# Forcer la suppression même si le plugin est actif
wp plugin uninstall akismet --deactivate
La commande wp plugin uninstall est plus complète que la suppression via le tableau de bord : elle exécute le hook register_uninstall_hook du plugin, ce qui déclénche le nettoyage de la base si le développeur l’a prévu.
Ma checklist de désinstallation propre
Voici exactement ce que je fais quand je retire un plugin d’un site client :
- Sauvegarder la base de données
- Vérifier les réglages du plugin → cocher "Supprimer les données à la désinstallation" si l’option existe
- Désactiver le plugin
- Vérifier que le site fonctionne toujours (front + back)
- Supprimer le plugin
- Lancer Advanced Database Cleaner → onglet "Tables" → supprimer les tables orphelines
- Lancer Advanced Database Cleaner → onglet "Options" → supprimer les options orphelines
- Vérifier
/wp-content/en FTP — certains plugins y laissent des dossiers (cache, logs, exports) - Vider le cache (LiteSpeed, WP Rocket, ou le cache de votre hébergeur)
9 étapes. Ça prend 5 minutes. Et votre base de données vous dit merci.
Questions fréquentes
La suppression d’un plugin WordPress supprime-t-elle ses données ?
Ça dépend du plugin. Les plugins bien codés (Complianz, WP Rocket) suppriment leurs données quand vous les supprimez depuis le tableau de bord. Les autres (Wordfence, WooCommerce, Yoast) laissent tables et options en base. Utilisez Advanced Database Cleaner pour identifier et nettoyer les résidus.
Puis-je réinstaller un plugin après l’avoir désinstallé ?
Oui, sans problème. Si les données en base n’ont pas été supprimées, le plugin retrouvera même ses anciens réglages. Si les données ont été nettoyées, le plugin repartira de zéro — il faudra le reconfigurer.
Comment savoir si un plugin laisse des résidus en base ?
Installez Advanced Database Cleaner. Dans l’onglet "Tables", il affiche toutes les tables qui n’appartiennent à aucun plugin ou thème actif. Dans l’onglet "Options", il fait la même chose pour les entrées de wp_options. Les tables et options marquées "orphelines" sont des résidus.
Faut-il nettoyer la base de données régulièrement ?
Oui, mais pas obsessionnellement. Un nettoyage trimestriel suffit pour un site standard. Si vous testez beaucoup de plugins, faites-le tous les mois. L’essentiel est de nettoyer chaque fois que vous supprimez un plugin — c’est à ce moment que les résidus apparaissent.
WP-CLI uninstall est-il plus propre que la suppression via le tableau de bord ?
Techniquement, les deux déclénchent le même hook WordPress (register_uninstall_hook). Le résultat est identique. L’avantage de WP-CLI est la rapidité et la possibilité de scripter la désinstallation de plusieurs plugins à la suite.
Bonnes pratiques avant de désinstaller
Avant de cliquer sur "Supprimer", prenez deux minutes pour ces vérifications. Elles évitent les mauvaises surprises et facilitent un éventuel retour arrière.
- Faire une sauvegarde complète : base de données et fichiers. Même si la désinstallation semble anodine, mieux vaut avoir un point de restauration. Une extension comme UpdraftPlus suffit pour décléncher un backup manuel avant l’opération.
- Noter les réglages importants : certains plugins accumulent des configurations complexes (règles, licences, intégrations tierces). Faites une capture d’écran ou exportez les réglages si l’option existe — vous vous en féliciterez si vous devez reinstaller.
- Vérifier les dépendances : d’autres plugins ou votre thème peuvent dépendre du plugin que vous allez supprimer. Cherchez son nom dans le code de votre thème ou vérifiez si d’autres extensions l’indiquent comme requis.
- Tester en staging : si votre hébergeur propose un environnement de préproduction (O2switch, WP Engine…), supprimez d’abord sur le staging et vérifiez que le site se comporte normalement avant de répliquer en production.
- Nettoyer la base après : une fois le plugin supprimé, utilisez WP-Optimize ou Advanced DB Cleaner pour supprimer les tables et options orphelines. Un site propre charge plus vite et se sauvegarde plus rapidement.
Les traces laissées par les plugins
Supprimer un plugin via l’interface WordPress efface ses fichiers, mais rarement ses données. La grande majorité des plugins stockent des informations en base et dans le système de fichiers qui persistent après la suppression. Voici ce que vous retrouverez souvent.
- Tables de base de données : beaucoup de plugins créent leurs propres tables (exemple :
wp_woocommerce_orders). Ces tables subsistent après suppression, sauf si le plugin gère lui-même leur nettoyage à la désinstallation. - Options dans wp_options : chaque plugin enregistre ses réglages dans la table
wp_options. Des dizaines de lignes peuvent s’accumuler avec le temps, alourdir les requêtes et polluer votre base. - Transients : les données mises en cache temporairement (préfixées
_transient_et_transient_timeout_) restent parfois bloquées en base même après expiration. - Cron jobs (WP-Cron) : les tâches planifiées enregistrées par un plugin ne sont pas toutes supprimées à la désinstallation. Vérifiez avec un plugin comme WP Crontrol. C’est particulièrement vrai pour les plugins saisonniers de Noël qu’on oublie souvent de désinstaller après les fêtes.
- Fichiers dans wp-content/uploads : images, PDF, exports CSV générés par le plugin peuvent représenter plusieurs centaines de mégaoctets. À nettoyer manuellement si nécessaire.
- Shortcodes orphelins : si vous aviez inséré des shortcodes dans vos articlés, ils s’afficheront sous forme de texte brut après suppression du plugin. À remplacer dans vos contenus avant de désinstaller.
Plugins qui résistent à la suppression
Il arrive que WordPress refuse de supprimer un plugin, affiche un message d’erreur, ou que le dossier persiste malgré la suppression via l’interface. Voici les causes habituelles et les solutions correspondantes.
- Droits de fichiers insuffisants : si le plugin a été installé avec un utilisateur système différent de celui du serveur web, WordPress ne peut pas effacer ses fichiers. Passez par FTP ou le gestionnaire de fichiers cPanel pour les supprimer manuellement.
- Suppression manuelle via wp-content/plugins : connectez-vous en FTP (FileZilla ou autre), naviguez jusqu’à
wp-content/plugins/et supprimez le dossier du plugin directement. WordPress détectera automatiquement sa disparition au prochain chargement de l’administration. - Plugin encore actif en base : si WordPress considère le plugin comme actif alors que ses fichiers ont disparu, nettoyez la valeur
active_pluginsdans la tablewp_options. Repérez la ligne avecoption_name = 'active_plugins'et retirez l’entrée correspondante via phpMyAdmin ou WP-CLI (wp plugin deactivate --allpuis suppression). - Plugin réseau sur un multisite : sur une installation multisite, certains plugins sont activés au niveau réseau. Seul le super-administrateur peut les désactiver depuis le tableau de bord Réseau, dans Extensions > Extensions installées.
Dans tous les cas, si WordPress bloque la suppression, ne forcez pas depuis l’interface — passez par FTP ou WP-CLI. Vous éviterez de laisser le site dans un état incohérent, avec un plugin marqué comme actif alors que ses fichiers ont disparu.
Un réflexe simple : après chaque désinstallation, lancez un scan avec un plugin de sécurité pour vérifier qu’aucun fichier suspect ne subsiste. Et si vous gérez plusieurs sites WordPress, documentez les plugins désinstallés et leurs alternatives — vous éviterez de les réinstaller par erreur six mois plus tard.
Chaque mois, je passe 15 heures en veille WordPress. Vous, vous recevez un email de 3 minutes.
Sécurité, performance, SEO, nouveautés, IA : l'essentiel trié, vérifié et expliqué par un formateur WordPress depuis 2012 et fondateur de WPServeur.
1 email par mois. Désabonnement en 1 clic.
Analyser avec l'IA
Partager



