Guide ultime pour corriger les conflits de plugins WordPress

Les plugins WordPress peuvent alimenter essentiellement n'importe quelle fonction ou fonctionnalité dont vous avez besoin, ce qui en fait un complément puissant pour n'importe quel site. Mais malgré l'utilité des plugins, ils sont souvent au centre des erreurs de site, des bogues, des plantages, des problèmes de performance et même de l'écran blanc redouté de la mort.

En fait, si vous n'avez pas encore fait face à un écran blanc de mort ou si vous n'avez pas encore ouvert une session pour voir des illustrations pixélisées où devraient se trouver votre curseur ou vos boutons de galerie (tout cela grâce à un plugin), vous devriez vous donner une tape bien méritée au dos !

La vérité est que nous sommes déjà conscients que de mauvais plugins peuvent être problématiques. C'est pourquoi il existe de nombreux guides pour nous aider à choisir les bons plugins, à les mettre à jour et à apprendre quoi faire lorsque les plugins cessent de fonctionner comme ils le devraient.

Ce qui n'est pas aussi simple, cependant, ce sont les situations de conflit de plugins et comment les résoudre !

Comme chaque plugin provient d'un développeur différent, il est presque impossible de garantir que le code d'un plugin ne sera pas en conflit avec celui d'un autre plugin, d'un thème ou d'une version WordPress ! Par conséquent, si vous travaillez avec un arsenal de plugins, il est presque inévitable qu'un conflit finisse tôt ou tard (si ce n'est déjà fait) par causer des erreurs visuelles ou fonctionnelles sur votre site Web en direct.

Ainsi, même si vous n'êtes pas en plein milieu d'une catastrophe en ce moment, il est dans votre intérêt d'adopter des mesures de prévention et de dépannage pour faire face aux conflits, s'ils surviennent.

Que sont les conflits de plugins et pourquoi se produisent-ils ?

Comme le terme le suggère, les conflits de plugins sont le résultat de deux ou plusieurs plugins WordPress en conflit les uns avec les autres. De plus, un conflit pourrait également apparaître entre l'un de vos plugins et votre thème, ou parfois même votre version de WordPress. (Vous apprendrez à diagnostiquer les trois types de conflits dans ce guide !)

Généralement, plus les parties en conflit sont complexes ou importantes, plus les implications sur votre site Web peuvent être importantes. Si l'un de vos plugins principaux ou l'un de vos thèmes principaux est impliqué dans un conflit majeur, les conséquences seront forcément un chaos visuel ou fonctionnel.

Alors, pourquoi des conflits de plugins ou de thèmes se produisent-ils ?

Techniquement parlant, un conflit se produit lorsque les deux parties essaient d'exécuter un code qui limite ou contredit directement l'autre.

Bien que chaque plugin et thème soit responsable de ses propres tâches, cela peut arriver pour plusieurs raisons :
  • Un conflit de ressources pourrait survenir entre deux plugins majeurs en raison de leur extrême complexité de code, comme votre inventaire eCommerce et votre plugin de facturation !
  • Un mauvais poisson a gâché tout l'étang, c'est-à-dire que le code mal écrit derrière un plugin en a peut-être restreint d'autres, ce qui a tout fait tomber.
  • Après la mise à jour d'un plugin, la dernière version pourrait s'avérer incompatible avec votre thème.
  • Une mise à jour automatique par lot peut avoir déclenché une guerre des fonctionnalités entre deux (ou plusieurs) plugins où les deux ont essayé d'exécuter des commandes contradictoires affectant la même partie fonctionnelle de votre site Web en direct !...et la liste continue. 
Bref, un conflit peut survenir pour l'une des nombreuses raisons suivantes. Tout se résume au code derrière chaque plugin ou thème et aux mesures que leurs développeurs ont prises pour éviter les conflits potentiels !

Reconnaître les conflits : À quoi ressemblent les erreurs de conflit ?

Comme les conflits de plugins peuvent survenir pour plusieurs raisons, les erreurs qu'ils déclenchent peuvent aussi prendre des formes très diverses.

Qu'il s'agisse de rendre des parties d'un site Web amusantes ou de faire tomber le redoutable écran blanc de la mort, les conflits sont le plus souvent à l'origine de tout cela.

Bien que les conflits de plugins soient une cause fréquente d'erreurs sur les sites WordPress, il peut être difficile d'identifier un conflit simplement en regardant l'erreur !

Ainsi, au lieu de vous concentrer sur l'erreur en tant que telle, pour les besoins du dépannage, vous voulez regarder le niveau d'accès et de contrôle qui vous reste sur votre propre site Web.

En d'autres termes, les conflits peuvent affecter votre site Web de deux manières principales. Ils peuvent le faire : 
  1. Provoquez des erreurs sur votre site Web en direct tout en vous laissant l'accès à votre panneau d'administration et à votre site Web.
  2. Parce que l'écran blanc de la mort (WSOD) où votre site plante et vous êtes verrouillé hors de votre panneau d'administration.
Gardez à l'esprit que ces deux erreurs peuvent être causées par d'autres facteurs. Par exemple, un chef-d'œuvre de bogues visuels peut être le résultat d'un plugin obsolète ou d'un thème incompatible, ou un WSOD peut s'être produit parce que votre serveur a atteint sa limite mémoire. 

Néanmoins, chaque fois qu'il y a un problème sur votre site Web et que le dépannage de base ne semble pas fonctionner, vous pouvez être presque certain qu'un conflit est le véritable coupable.

Comment résoudre les conflits lorsque vous avez accès à votre panneau d'administration

Quels que soient les problèmes que vous rencontrez sur votre site web, si vous avez toujours accès à votre panneau d'administration, alors l'enfer est loin de se déchaîner !

A travers les étapes de dépannage suivantes, je vais vous montrer comment identifier les conflits, trouver les plugins (ou le thème) en conflit, et corriger les erreurs de conflit - tout cela à partir de votre panneau d'administration WordPress. Je vais vous donner plus de détails sur chaque étape, mais voici un bref résumé de ce que vous devez faire.

Pour résoudre les conflits de plugins lorsque vous avez accès à votre panneau d'administration :
  1. Vider la mémoire cache de votre navigateur.
  2. Assurez-vous que vos plugins sont mis à jour.
  3. Déterminez s'il s'agit vraiment d'un conflit de plugin en excluant une version de WordPress ou un conflit de thème (un site de staging est recommandé pour cela).
  4. Retrouvez les plugins à l'origine du conflit à l'aide de la console de votre navigateur ou en désactivant et réactivant manuellement chaque plugin, un par un.
  5. Remplacez l'un des plugins ou les deux, puis signalez le bogue aux développeurs.

1. Effacer la mémoire cache de votre navigateur

Il est courant que le cache de votre navigateur conserve l'ancien code et ne reflète pas le nouveau code, surtout après les mises à jour du plugin. Videz votre cache pour être sûr que ce n'est pas le cas. 

Si vous êtes sur Chrome, appuyez sur 'ctrl+shift+del' → Sélectionnez 'images et fichiers en cache' → Sélectionnez 'Effacer'. Sur Safari, appuyez sur 'option+commande+E' → Sélectionnez 'Vider'.  

2. Assurez-vous que vos plugins sont mis à jour

Connectez-vous à votre espace d'administration et vérifiez que tous vos plugins sont mis à jour avec leurs dernières versions.

3. Vérification des conflits entre les plugins et les versions de WordPress

Tout d'abord, nous allons vérifier si vos plugins actifs sont compatibles avec votre version actuelle de WordPress. Vous pouvez soit faire ça :
  1. A l'aide d'un plugin comme Better Plugin Compatibility Control qui identifie les problèmes de compatibilité, les mises à jour importantes en attente, et plus encore.
  2. Manuellement en visitant la section plugins de votre tableau de bord WordPress et en vérifiant la compatibilité de chaque plugin un par un.
compatibilité du plugin
Désactivez les plugins incompatibles, le cas échéant. Retournez sur votre site web et vérifiez si tout est redevenu normal. Si oui, il est clair qu'un conflit entre un plugin et votre version WordPress est à l'origine des problèmes sur votre site web.

Si les erreurs persistent, passez à l'étape suivante.  

4. Vérification des conflits entre les plugins et les thèmes

Ensuite, nous allons vérifier si tout va bien entre tous vos plugins et le thème. 
Note: Avant de commencer, configurez un site de rassemblement si ce n'est déjà fait. C'est beaucoup plus simple qu'il n'y paraît et vous aidera à faire des changements et à tester les choses correctement sans affecter votre site Web en direct. 
Pour commencer à détecter un conflit de thème, changez le thème de votre site (de préférence en staging) pour un thème par défaut WordPress.

À partir de votre page d'administration, allez dans 'Appearances' → 'Themes'. Une fois sur place, activez le thème populaire de TwentySeventeen. Maintenant, vérifiez votre site Web, si les problèmes disparaissent avec le changement de thème, alors vous vous trouvez au milieu d'un conflit de thème. Pour l'instant, changez aussi le thème de votre site Web en direct à un thème par défaut.

Maintenant, pour trouver le plugin en conflit, revenez à la mise en scène, réactivez votre thème précédent, et désactivez vos plugins un par un jusqu'à ce que vous voyez l'erreur disparaître. Si c'est le cas, alors vous aurez aussi isolé le plugin coupable.

Maintenant c'est à vous de décider, vous pouvez soit garder le plugin, soit le thème. Dans les deux cas, prenez contact avec les développeurs pour signaler le problème, ils pourraient bien le résoudre !

Par contre, si les erreurs persistent même après un changement de thème, alors votre thème d'origine n'est pas non plus en faute. Votre site Web connaît très probablement un conflit entre deux plugins. Dans ce cas, réactivez votre thème préféré et passez à l'étape suivante.

5. Vérification des conflits entre plugins et plugins

Maintenant que vous avez éliminé les conflits possibles entre les thèmes et les versions de WordPress, vous voulez creuser dans vos plugins. Commencez par désactiver tous vos plugins.

Allez à la page Plugins. Sélectionnez tous les plugins en cochant la case vide à côté de'Plugins'. Dans le menu déroulant " Action en bloc ", sélectionnez " Désactiver ".

Maintenant, retournez sur votre site Web et vérifiez si les problèmes sont toujours là.

Si l'erreur disparaît avec la désactivation de tous les plugins, alors voilà ! Vous venez d'isoler et d'identifier un conflit de plugins ! Si ce n'est pas le cas, on peut dire qu'aucun de vos plugins n'est en faute. Dans ce cas, vous voudrez peut-être vérifier les erreurs htaccess ou contacter votre hébergeur et vos développeurs internes.

6. Trouver les plugins coupables

La console de votre navigateur peut vous donner une longueur d'avance pour trouver les plugins en conflit sans aucun dépannage. Allez à la page sur laquelle vous rencontrez des problèmes et ouvrez votre console (Clic droit Inspectez → Allez dans l'onglet 'Console' ). Ne vous laissez pas embourber par les messages d'erreur rouges, parcourez-les et passez au-dessus des chemins de fichiers soulignés pour voir si l'un de vos plugins est mentionné. Traduit avec 

Si votre console n'est pas utile, vous devrez identifier manuellement les plugins coupables. Pour cela, nous réactiverons vos plugins un par un pour vérifier quand le problème réapparaîtra.

Au lieu de commencer par un plugin aléatoire, commencez par réactiver vos plugins clés ou les plugins qui pourraient être directement liés au problème. Réactivez un plugin à la fois et continuez à vérifier votre site de staging.

Lorsque le problème réapparaît, vous avez trouvé l'un de vos plugins coupables.

Pour trouver l'autre, maintenez le premier plugin en conflit activé et désactivez les plugins précédemment réactivés, un à la fois. Dans ce cas, lorsque le problème disparaît avec la désactivation d'un autre plugin, ledit plugin est évidemment l'autre plugin en conflit.

7. Remplacer et signaler les plugins coupables

Une fois que vous avez trouvé vos plugins coupables, vous pouvez choisir de désactiver les deux ou le moins important. Vous pouvez également essayer de trouver des plugins alternatifs ou des extraits de code pour remplacer l'un ou l'autre des plugins coupables.

Pendant ce temps, prenez contact avec les développeurs des deux plugins par e-mail et les fils de support et partagez les détails du conflit avec les captures d'écran du dépannage que vous venez de faire.

La plupart des développeurs de plugins et de thèmes s'efforcent de rendre leur code parfait, donc ils devraient être heureux de résoudre le problème ou de fournir des informations utiles, à tout le moins.

Comment résoudre un conflit qui provoque le crash de votre site ?

Le fameux écran blanc de la mort ou du crash d'un site est de loin le cauchemar le plus redouté des propriétaires de sites WordPress. De plus, les pannes du site entraînent généralement la perte de l'accès au panneau d'administration, ce qui peut être assez effrayant ! 

Aussi intimidant que cela puisse paraître, la bonne nouvelle est qu'il existe plusieurs façons d'accéder à votre site Web et à votre panneau d'administration, même lorsqu'ils sont en panne ! 

A travers les étapes suivantes, je vais vous montrer une de ces méthodes : la méthode Secure File Transfer Protocol (SFTP), que même les utilisateurs les plus amateurs d'entre nous peuvent suivre pour accéder à nos sites Web et résoudre le conflit avec facilité ! Je vais vous donner plus de détails sur chaque étape, mais voici un bref résumé de ce que vous devez faire. 

Pour résoudre les conflits de plugins lorsque vous n'accédez pas à votre panneau d'administration (ou pour voir un écran blanc) :
  1. Installez un programme (S)FTP, comme FileZilla.
  2. Connectez votre site Web.
  3. Accédez à vos fichiers via SFTP pour désactiver les thèmes et plugins.
  4. Si vous récupérez l'accès au site, connectez-vous pour commencer le dépannage à partir du panneau d'administration.
  5. Si votre site est toujours en panne, contactez votre hébergeur.

1. Installer un programme (S)FTP simple comme FileZilla

Les clients SFTP comme le populaire FileZilla vous permettent d'accéder à vos fichiers de site à distance depuis votre système en téléchargeant simplement le logiciel autonome et en vous connectant avec vos identifiants.

Rendez-vous sur le site Web FileZilla et installez la dernière version.

2. Connectez votre site web

Lorsque vous ouvrez le programme FileZilla, un bouton d'option QuickConnect s'affiche.

Connectez votre site web

Cliquez dessus et entrez les informations d'identification de votre site pour connecter votre site et accéder à ses fichiers. Ici, vous aurez besoin :
  1. Votre nom d'hôte
  2. Votre nom d'utilisateur
  3. Votre mot de passe
Ces informations doivent vous avoir été fournies par votre hébergeur en même temps que votre document d'installation initial. Pour les utilisateurs de Flywheel, voici les informations dont vous avez besoin pour accéder à votre site via sftp.

Pour tous les autres, si vous n'avez pas ce logiciel sous la main, contactez le support de votre hôte.

3. Accédez à vos fichiers pour désactiver les plugins et les thèmes

désactiver les plugins et les thèmes

Une fois que vous avez connecté votre site Web, vous verrez le panneau'Site distant' sur le côté droit. Ici, naviguez jusqu'au dossier'public_html'. Cette liste répertorie les fichiers et répertoires de votre site Web sur le serveur auquel vous êtes connecté.

wp-content plugins

Sous cela, trouvez 'wp-content'. C'est ici que vous trouverez vos plugins et vos fichiers de thèmes. 

Renommez simplement le dossier des plugins en tout ce que vous voulez, comme plugins désactivés ou plugins renommés pour désactiver tous vos plugins en même temps. Faites de même avec le dossier des thèmes. 

Votre site Web reviendra automatiquement à votre thème par défaut et à zéro plugins activés. 

Videz votre cache et vérifiez à nouveau votre site Web. Si un conflit est à l'origine du crash du site, alors votre site web et votre panneau d'administration devraient être de retour !

Une fois que vous avez retrouvé l'accès à votre espace d'administration WordPress, dépannez comme si vous y aviez accès depuis le début en suivant les étapes décrites dans la section précédente.

Si malgré la désactivation de vos plugins et thèmes, votre site est toujours en panne, alors quelque chose d'autre se cache derrière le crash du site. Contactez votre hébergeur car vous avez peut-être saturé la limite de mémoire de votre serveur.

Conseils de prévention : Comment éviter les conflits de plugins

Maintenant que vous savez comment résoudre les problèmes pour sortir d'un conflit de plugins, vous devriez vouloir l'empêcher d'élever à nouveau sa vilaine tête ! 

Bien que, comme je le disais, si vous travaillez avec une tonne de plugins, il pourrait être très difficile d'éviter les conflits, mais il existe des mesures préventives de base que vous pouvez adopter pour limiter les conflits au strict minimum. 

Pour prévenir les conflits de plugins WordPress et l'écran blanc de la mort :

  1. Faites des sauvegardes régulières de votre site Web (ou assurez-vous que votre hébergeur le fait).
  2. N'apportez jamais de modifications à votre site Web en direct. (Utilisez plutôt un site de mise en scène ou un site local.)
  3. Garde les plugins à jour et évite les plugins obsolètes.
  4. Évitez les mises à jour par lots ou les mises à jour automatiques.
  5. Limitez le nombre de plugins que vous utilisez au nombre de plugins dont vous avez vraiment besoin.

1. Établir une pratique de sauvegarde saine

Pensez aux sauvegardes comme les failsafees contre tout type de désastre sur votre site en direct. Dès que vous décidez de prendre l'habitude de créer des sauvegardes régulières de votre site Web, vous vous donnez automatiquement un avantage énorme sur toute erreur de conflit potentiel. 

En tant que solution de sauvegarde, vous pouvez choisir de le faire :
  • Choisissez une offre de sauvegarde fiable de votre hébergeur.
  • Installez un plugin de sauvegarde tiers.
  • Sauvegardez manuellement vos fichiers.
Inutile de dire que si vous avez une sauvegarde à portée de main, vous pouvez facilement la restaurer à chaque fois que quelque chose se casse sur votre site Web. 

2. N'apportez jamais de modifications à votre site Web en direct

Lorsqu'il s'agit d'installer ou de mettre à jour des plugins, des thèmes ou votre version de WordPress, il peut être tentant de le faire directement sur votre site Web en direct, surtout si rien n'a encore mal tourné ! 

Cependant, pour vraiment éviter les conflits, vous devriez envisager de mettre en place un site de mise en scène ou un site local, c'est-à-dire un clone de votre site de production en direct où vous pouvez faire des changements en toute sécurité et les tester avant de les pousser vers votre site en direct ! 

Cela est beaucoup plus simple qu'il n'y paraît et comme les sauvegardes, elles devraient être activées par votre hébergeur. 

3. Restez à jour et évitez les informations obsolètes.

Bien que les nouvelles mises à jour causent le bogue rare (c'est ce que le staging est là pour détecter !), il est bien pire d'exécuter des versions plus anciennes de vos plugins, thème, ou même votre version WordPress ! 

Non seulement pour la santé générale de votre site, mais aussi pour éviter les bugs et les conflits, assurez-vous que tout est à jour. 
plugin à jour
Cela signifie également que vous devriez éviter les plugins périmés ou les plugins qui n'ont pas eu de mises à jour récentes au cours des six derniers mois, par exemple.

4. Évitez d'exécuter des mises à jour par lots et des mises à jour automatiques.

Bien sûr, l'automatisation a son attrait et sans aucun doute, programmer ou sélectionner un lot de mises à jour de plugins à exécuter simultanément peut vous faire gagner du temps, mais elle a ses propres pièges ! 

Pour commencer, les conflits suivent le plus souvent les mises à jour par lots. De plus, si c'est le cas, vous devrez alors passer par l'épreuve fastidieuse de trouver les plugins en conflit. 

Pour réduire les conflits au minimum, mettez à jour chaque plugin individuellement et vérifiez s'il y a des erreurs après chaque mise à jour. De cette façon, vous saurez immédiatement quel plugin est à l'origine du conflit, le cas échéant.

5. Moins, c'est plus

L'un des meilleurs moyens d'éviter les conflits de plugins est bien sûr d'éviter tous les plugins ensemble ! Cela n'est peut-être pas tout à fait possible, mais vous ne devriez envisager de conserver que les plugins dont vous avez absolument besoin. 

Dans la plupart des autres cas, les plugins peuvent être remplacés par des bribes de code et il est conseillé de s'asseoir avec un développeur pour faire le travail plutôt que de dépendre de plugins tiers.

Conclusion !

Bref, les plugins peuvent sauver des vies, mais ils apportent leur propre bagage. J'espère que cet article vous a non seulement aidé à isoler et résoudre avec succès un conflit de plugin sur votre site web, mais aussi à mieux les comprendre. 

Sinon, tant que vous continuez à développer vos compétences de dépannage et à suivre les meilleures pratiques, vous devriez vous considérer comme un pas de plus vers un site Web sans erreur ! 

C'est ça, c'est ça ! J'aimerais connaître les conflits que vous avez rencontrés sur votre site Web et l'approche que vous avez adoptée pour les régler. A vous de jouer !