Votre site WordPress fonctionnait hier. Ce matin, après une mise à jour automatique (ou manuelle), quelque chose ne va plus : page blanche, erreur PHP visible, mise en page cassée, fonctionnalité qui disparaît. Dans la grande majorité des cas, la cause est un conflit entre plugins.
Les conflits de plugins sont la première cause de dysfonctionnement sur WordPress. Ce guide vous donne la méthode pour les diagnostiquer et les résoudre — même sans accès au back-office.
Comment reconnaître un conflit de plugins
Un conflit de plugins se manifeste de différentes façons :
- Écran blanc (White Screen of Death) après activation d’un plugin
- Erreur PHP visible mentionnant une fonction ou une classe déjà déclarée
- Le back-office WordPress est inaccessible alors que le front-end fonctionne (ou inversement)
- Une fonctionnalité spécifique (formulaire, boutique, galerie) ne fonctionne plus
- Mise en page cassée : CSS qui ne charge plus, JavaScript bloqué
Le timing est souvent révélateur : si le problème est apparu juste après une mise à jour ou l’activation d’un nouveau plugin, le coupable est probablement évident. Si le problème est apparu sans action de votre part, une mise à jour automatique est la cause la plus fréquente.
Étape 1 : activer le mode debug
Avant toute chose, forcez WordPress à afficher l’erreur réelle plutôt qu’un écran blanc.
Via FTP/SFTP, ouvrez wp-config.php et ajoutez ces lignes avant /* C'est tout, arrêtez l'édition ! */ :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Le log des erreurs s’enregistre dans wp-content/debug.log. Lisez ce fichier pour identifier la fonction, la classe ou le fichier en cause. Vous verrez souvent quelque chose comme :
PHP Fatal error: Cannot redeclare function_name() (previously declared in /wp-content/plugins/plugin-a/file.php)
Ce message vous dit exactement quel plugin est impliqué.
Désactivez WP_DEBUG une fois le problème résolu.
Étape 2 : désactiver tous les plugins via FTP
Si le back-office est inaccessible, vous ne pouvez pas désactiver les plugins depuis l’interface. La solution : passer par FTP.
- Connectez-vous en FTP/SFTP à votre hébergement
- Naviguez vers
wp-content/ - Renommez le dossier
pluginsenplugins_old - Rafraîchissez votre site
WordPress ne trouve plus de plugins et affiche le site sans eux. Si le problème disparaît, un plugin était la cause.
Étape 3 : identifier le plugin coupable
Maintenant que le site fonctionne sans plugins, réactivez-les un par un pour isoler le coupable.
- Renommez
plugins_oldenplugins - Connectez-vous au back-office WordPress (il est maintenant accessible)
- Allez dans Extensions > Extensions installées
- Désactivez tous les plugins
- Réactivez-les un par un, en testant le site après chaque activation
Quand le problème réapparaît après l’activation d’un plugin spécifique, vous avez trouvé le coupable.
Si le problème n’apparaît qu’avec deux plugins actifs simultanément (et pas avec l’un ou l’autre seul), c’est un conflit entre les deux. Vous devez choisir lequel conserver ou trouver une alternative à l’un des deux.
Étape 4 : vérifier les conflits plugin/thème
Certains conflits ne sont pas entre deux plugins, mais entre un plugin et votre thème. Pour le vérifier :
- Activez temporairement un thème par défaut WordPress (Twenty Twenty-Four)
- Réactivez vos plugins un par un
Si le problème disparaît avec le thème par défaut mais revient avec votre thème, c’est un conflit plugin/thème. Contactez le développeur du thème ou du plugin — l’un d’eux doit proposer une correction.
Les conflits les plus fréquents
Plugins de cache + plugins de sécurité — Les plugins de cache (WP Rocket, W3 Total Cache) et les plugins de sécurité (Wordfence, iThemes Security) se marchent souvent dessus sur la gestion des requêtes HTTP.
Plugins de formulaire + plugins de protection anti-spam — Le traitement des soumissions de formulaire peut interférer avec les systèmes anti-spam.
Plugins d’optimisation d’images — Plusieurs plugins qui redimensionnent ou compressent les images en même temps créent des conflits dans la bibliothèque médias.
Plugins de paiement WooCommerce — Les passerelles de paiement modifient le comportement du checkout. Deux passerelles actives avec des hooks similaires peuvent se bloquer mutuellement.
Plugins de traduction (WPML, Polylang) — Ils interceptent quasiment toutes les requêtes WordPress. Un plugin mal codé qui ne respecte pas les hooks standards entre en conflit avec eux.
Quand la mise à jour est la cause
Si le conflit est apparu après une mise à jour automatique, vous avez deux options :
Option 1 : revenir à la version précédente du plugin Via le plugin WP Rollback (si vous avez encore accès au back-office) ou en téléchargeant manuellement l’ancienne version sur wordpress.org et en la réinstallant via FTP.
Option 2 : désactiver les mises à jour automatiques
Dans wp-config.php :
define('AUTOMATIC_UPDATER_DISABLED', true);
Ou sélectivement pour les plugins uniquement :
add_filter('auto_update_plugin', '__return_false');
Attention : désactiver les mises à jour automatiques vous expose aux failles de sécurité si vous n’effectuez pas les mises à jour manuellement et régulièrement.
Prévenir les conflits futurs
Testez les mises à jour sur un environnement de staging avant de les appliquer en production. La plupart des hébergeurs proposent un environnement de staging en un clic.
Limitez le nombre de plugins — chaque plugin ajouté est une source potentielle de conflit. Moins de 15 plugins actifs est une bonne règle générale.
Choisissez des plugins maintenus activement — vérifiez la date de la dernière mise à jour et le nombre d’installations actives avant d’installer un plugin.
Sauvegardez avant chaque mise à jour — une sauvegarde complète (base de données + fichiers) vous permet de revenir en arrière en quelques minutes si une mise à jour casse quelque chose.
Quand faire appel à un expert
Si vous avez suivi ces étapes et que le conflit persiste, ou si vous n’avez pas accès au FTP, notre service de dépannage WordPress en urgence intervient pour diagnostiquer et résoudre le problème. Nous avons les outils pour analyser les logs serveur, identifier les conflits complexes et tester les solutions sans impacter votre site en production.
Nos forfaits de maintenance WordPress incluent la gestion des mises à jour sur staging, ce qui élimine pratiquement les conflits en production.