Les plugins ralentissent WordPress : mythe ou réalité ?

Les plugins ralentissent WordPress : mythe ou réalité ?

Quelle est la phrase favorite de la communauté mondiale WordPress ? La réponse (sans surprise) : « Il existe un plugin pour ça ». D’un côté, cette phrase résume à elle seule la flexibilité de WordPress. D’un autre côté, elle entretient un état d’esprit selon lequel « tout doit être résolu via des plugins ».

L’inconvénient du recours systématique aux plugins est le risque d’un problème de lenteur : les sites WordPress sont devenus plus lents qu’ils ne le devraient. Contrairement à ce que prétendent certains utilisateurs d’autres CMS et générateurs de contenu statique, WordPress n’est pas lent. Ce sont les plugins que nous lui ajoutons qui le ralentissent. Les plugins WordPress lents sont les seuls responsables des pertes de performances de l’écosystème WordPress.

Chez Ex2, nous avons étudié l’impact des plugins les plus populaires sur les performances de WordPress. Voici quelques recommandations simples pour utiliser les plugins WordPress à bon escient et sans générer d’impact négatif en termes de performance.

Du bon usage des plugins

Avant d’ajouter un énième plugin WordPress, posez-vous les bonnes questions :

  1. Ai-je vraiment besoin de ce plugin ?
  2. Ce plugin est-il indispensable ou bien superflu ?
  3. Le besoin peut-il être comblé côté serveur ou par un autre moyen en dehors de WordPress (de manière à ne pas affecter les performances du site web) ?

De nombreuses fonctionnalités présentes dans les plugins WordPress peuvent tout à fait être ajoutées grâce à de petits extraits de code dans votre fichier functions.php de thème WordPress, ou encore sous forme de petit plugin. En résumé, si vous avez besoin d’une seule fonctionnalité, inutile d’installer un gros plugin (un exemple, pour bien comprendre l’idée : inutile d’installer Photoshop uniquement pour redimensionner des photos).

Certaines fonctionnalités (comme l’optimisation d’image) n’ont d’ailleurs pas besoin de plugin. L’optimisation d’image peut être effectuée facilement avec des outils serveurs comme imagemagick via une ligne de commande SSH.

Bon à savoir : chaque ligne de code que vous ajoutez à WordPress augmente le temps de chargement. Si tous les plugins ralentissent votre site, l’impact sur les performances sera en revanche négligeable avec des plugins petits ou bien construits.

Autre élément important, évitez d’utiliser des plugins censés « tout faire », appelés également « plugins couteau suisse ». Ils font certes beaucoup de choses, mais pas que de bonnes choses, et ils peuvent aussi nuire au temps de chargement. Sachez que ce n’est pas la quantité de plugins qui ralentit votre code, mais la somme de code à exécuter. Il est donc préférable d’ajouter de petits plugins spécialisés.

Lors de l’installation de plugins, il est impératif de tester les performances de votre site web WordPress, avant et après. Vous saurez ainsi quel est leur impact en termes de performances, et si leur installation vaut réellement le coup : s’agit-il d’un besoin indispensable ou superflu ?

Vérifiez les points suivants :

  • Si tel plugin est disponible dans le répertoire des plugins WordPress, quelle est sa note ?
  • Dans le forum d’assistance pour le plugin en question, y a-t-il beaucoup de questions restées sans réponse ?
  • Quand le plugin a-t-il été mis à jour pour la dernière fois ?
  • Le plugin a-t-il été testé avec votre version de WordPress ?

Vérifiez également l’historique des vulnérabilités dé sécurité. Rendez-vous dans des bases de données de vulnérabilités comme wpvulndb.com.

Activez les plugins correctement

Autre étape cruciale : exécuter les plugins de la bonne manière. Si vous gérez différents sites WordPress (réseau multisite), n’activez pas un plugin pour l’ensemble de vos sites s’il ne sera utilisé que sur un seul site web. Activez le plugin uniquement pour le site concerné.

Les plugins qui exécutent des tâches planifiées doivent être configurés avec cron installé sur un serveur. N’utilisez pas WP-cron, il s’agit d’un tueur de performances notoire. Passez directement au serveur cron avec WordPress. Vous trouverez facilement des tutoriels vous permettant de configurer cron correctement.

Les plugins qui nuisent à vos performances WordPress

Nous avons classé ces plugins en différentes catégories, et pointé de meilleures solutions. La liste n’est pas exhaustive, il est probable qu’il y ait bien davantage de plugins qui nuisent aux performances, mais nous avons répertorié les plus populaires avec un impact négatif sur les performances.

Sécurité

Plugins à bannir :

  • WordFence Security
  • Sucuri Security
  • iThemes Security (Better WP Security)
  • All in One WP Security & Firewall

Les solutions :

  • Pare-feu avec votre hébergeur
  • Cloudflare
  • Désactiver XML-RPC
  • Mettre à jour régulièrement les plugins, les thèmes et le core
  • Utiliser des mots de passe sécurisés

Les plugins censés ajouter de la sécurité à WordPress ne remplissent pas vraiment leur rôle. Ils ont au contraire tendance à donner un faux sentiment de sécurité alors qu’ils contiennent souvent eux-mêmes des failles de sécurité.

Les plugins de sécurité impactent des zones qui ne sont pas faites pour les gérer, et ils veulent faire beaucoup trop de choses. Lorsqu’un plugin de sécurité contient une erreur dans une fonction qui touche une zone non concernée, cela entraîne des conséquences désastreuses.

Pour maintenir un bon niveau de sécurité, le plus important à faire est de mettre à jour correctement les plugins et les thèmes WordPress. Lorsqu’un site WordPress est piraté, c’est presque toujours dû à un plugin non sécurisé.

Utiliser un pare-feu (via votre hébergeur ou un pare-feu d’application) est également une très bonne solution. Le pare-feu protège les sites web contre les attaques connues (basées sur une base de données avec des vulnérabilités) avant même que les attaques n’atteignent votre site web.

Page builders : les constructeurs de pages

Plugins à bannir :

  • WPBakery (Visual Composer)
  • Beaver builder
  • Elementor

Les solutions :

  • WordPress Block Editor (Gutenberg)
  • Advanced Custom Fields – Flexible Content Fields

Les plugins « Page Builders » peuvent être à la fois des facilitateurs et en même temps une vraie plaie. Ils ont certes tendance à rendre les choses beaucoup plus faciles, mais ils ajoutent également beaucoup de fonctions superflues et du code inutile, surtout au niveau frontend. Avec l’introduction récente de Block Editor (Gutenberg), plusieurs plugins constructeurs de pages sont devenus plus performants, mais ils sont encore loin d’être parfaits.

Jusqu’à ce que l’éditeur de blocs soit un constructeur de pages à part entière (ce qui pourrait arriver), associer Gutenberg et Advanced Custom Fields est la solution la plus performante. Exemple : utiliser le plugin ACF Flexible Content comme constructeur de page, et utiliser l’éditeur de bloc sur les articles de blog.

Gestion des images

Plugins à bannir :

  • EWWW Image Omptimizer
  • Smush Image Compression & Optimization
  • Imsanity
  • Différents plugins de « redimensionnement »

Les solutions :

  • Optimisation d’image basée sur le serveur
  • Optimiser les images localement avant de les télécharger
  • wp media regenerate (WP-CLI)
  • Compress JPEG & PNG images (TinyPNG)
  • ShortPixel Image Optimizer

Les images sont les éléments qui occupent généralement le plus d’espace sur un site web. Il est donc indispensable d’optimiser les images, de réduire leur taille et leur temps de chargement. Malheureusement, beaucoup d’utilisateurs pensent qu’il suffit d’installer un plugin d’optimisation d’images et que tout sera résolu. Ce qui n’est pas le cas.

Nous avons testé et comparé différents plugins d’optimisation d’images et il s’est avéré que beaucoup d’entre eux sont vraiment mauvais. Le plugin dont l’impact est le plus négatif est certainement EWWW Image Optimizer. Si vous devez utiliser un plugin, il est préférable d’utiliser des plugins qui compressent la résolution.

Plutôt que d’utiliser des plugins, le mieux est de gérer autrement l’optimisation des images, dès leur production. Exportez-les correctement ou bien optimisez-les côté serveur avec des programmes comme jpegoptim, imagemagick ou optipng. Bon à savoir : WP-CLI propose désormais de bons outils de gestion d’images.

Liens rompus et articles similaires

Plugins à bannir :

  • Broken Link Checker
  • WP Broken Link Status Checker
  • Yet Another Related Posts Plugin

Les solutions :

  • Google Search Console
  • Moz, Screaming Frog, Sitebulb, etc.
  • Yoast SEO Premium

Les plugins avec des tâches planifiées bénéficient pleinement d’une configuration cron appropriée, comme mentionné plus haut. Mais le mieux reste encore d’utiliser des services externes spécialisés, comme la Google Search Console, Moz ou Screaming Frog.

Utiliser la fonctionnalité « article similaire » dans la version premium de Yoast SEO est également une bonne opportunité. Yoast SEO est maintenant devenu très performant. N’hésitez pas à tester cette fonctionnalité.

 Sauvegardes / backups

Plugins à bannir :

  • WP-DBManager
  • Updraft/Updraft Plus
  • Duplicator

Solutions :

  • Sauvegardes via votre hébergeur
  • mysqldump + rsync (ligne de commande)
  • wp pdb export/import (WP-CLI)

La question des sauvegardes est épineuse et celles-ci peuvent être difficiles à mettre en place. Dans de nombreux cas, la mise en place de plugins de sauvegarde bloque complètement les sites web, allant même jusqu’à les empêcher de fonctionner. La meilleure façon de réaliser des sauvegardes est de passer par le serveur, à condition que cela n’affecte pas les services web et la base de données.

Les programmes comme pysqldump et rsync ont été dès le départ conçus en prenant en compte les performances. Ils sont faits pour être utilisés. De plus, les versions récentes de WP-CLI ont d’excellentes fonctionnalités pour l’export / import de bases de données.

Médias sociaux

Plugins à bannir :

  • AddThis
  • ShareThis
  • Social Media Share Button (et assimilés)

Les solutions :

  • les fonctionnalités des réseaux sociaux
  • MashShare

Les plugins de réseaux sociaux (ou de partage) ont tendance à inclure un très grand nombre de codes et de fonctions externes. Beaucoup d’entre eux ne respectent pas les données personnelles des visiteurs des sites et revendent les informations sur vos visiteurs à des tiers. Le comportement de ces plugins ressemble à celui des plugins censés « tout faire ».   

Si vous souhaitez que les visiteurs de votre site web partagent votre contenu, utilisez les fonctions facilement disponibles avec les réseaux sociaux que vous utilisez. Consultez la documentation dédiée aux développeurs proposée par Facebook, Twitter les autres réseaux sociaux. Si vous tenez vraiment utiliser un plugin, choisissez MashShare.

Traduction

Plugins à bannir :

  • WPML
  • Local Translate

Les solutions :

  • MultilingualPress
  • Polylang
  • Installation multisite simple

La prise en charge de la gestion multi-langues par WordPress ne s’est améliorée que très lentement avec les années. Il est probable qu’à l’avenir, WordPress prenne en charge la traduction en dur, au sein de son noyau (core). D’ici là, nous n’aurons pas d’autre solution que de prendre en charge cette fonctionnalité via des plugins.

En tous les cas, si vous avez besoin de mettre en place vos contenus en plusieurs langues, n’utilisez pas WPML. En aucun cas. Les deux plugins MultilingualPress et Polylang sont les meilleurs substituts que vous puissiez trouver.

Cache et optimisation

Les plugins à bannir :

  • WP Super Cache, W3 Total Cache (liste non exhaustive)
  • WP-Optimize
  • Autoptimize (et d’autres)

Les solutions :

  • Un cache adossé au serveur
  • Cloudflare Edge Cache
  • Mysql/phpMyAdmin
  • Pagespeed module (mod_pagespeed)

Nous ne sommes pas tellement partisans d’utiliser le cache pour l’optimisation, car le cache n’est pas censé être utilisé pour cela. Il est toujours préférable de se concentrer sur le code plutôt que sur le cache.

Pourquoi ? Certes, les plugins de cache accélèrent les requêtes, mais ils ralentissent également celles qui ne sont pas mises en cache. Puisque pour un cache normal, le taux de succès se situe entre 10 et 25 %, un plugin de cache ralentira votre site pour 75 à 90 % de vos visiteurs.

Si vous avez vraiment besoin de cache, utilisez une solution de cache adossé à votre serveur. Une autre bonne solution pour la mise en cache des ressources statiques (images, scripts et autres) est Cloudflare[Auteur in1] . Et pour l’optimisation de la base de données et des scripts, utilisez les outils côté serveur appropriés au lieu d’ajouter encore plus de code à WordPress.

Plugins vraiment inutiles

Que dire de plus ? Ce titre parle tout seul. Voici cependant quelques explications pour ne pas vous laisser sur votre faim.

  • Revolution Slider -> Les sliders… ça n’a jamais rien vendu !
  • Really Simple SSL -> Corrigez vous-même vos url pour passer en https
  • PHP Execute -> Utilisez Functions.php + child theme

Vous souhaitez un site WordPress rapide et performant ? N’utilisez pas le plugin Revolution Slider.

Même recommandation pour Really Simple SSL (qui n’est utile que pour les installations WordPress cassées). Honnêtement, vous pouvez mettre un peu les mains dans le moteur et corriger vos urls vous mêmes pour les adapter en https. Par exemple, avec WP-CLI, effectuez une recherche, et vous n’avez même pas besoin de plugin supplémentaire. Il vous suffit d’exécuter la commande wp search-replace et de taper : wp search-replace http://yourdomain.com https://yourdomain.com --all-tables

Notre avis sur les plugins qui permettent de personnaliser vos scripts PHP dans WordPress ? Ils ont généralement un impact négatif sur les performances et représentent un risque élevé en terme de sécurité. Utilisez functions.php pour gérer votre thème, installer un thème enfant (child theme) ou encore pour customiser un plugin. C’est de cette manière que le PHP personnalisé est censé être utilisé dans WordPress.

Si avez lu quelques articles sur la performance des sites WordPress, vous savez qu’à ce stade, il manque encore probablement un plugin. Nous l’avons tous utilisé au moins une fois. C’est d’ailleurs l’un des plugins WordPress les plus téléchargés et il est développé par Automattic… la maison mère de WordPress.

Et Jetpack dans tout ça ?

Si Jetpack n’est pas le plugin WordPress le plus performant qui existe, nous ne l’avons pas inclus dans notre liste de plugins à bannir car Jetpack s’est nettement amélioré au fil des années.

Il est aujourd’hui modulable et vous pouvez décider d’utiliser uniquement certaines fonctionnalités.

Conseillons-nous d’installer et d’utiliser Jetpack ? Non. Mais sans pour autant jeter la pierre à ceux qui le font. Ils ont sûrement de bonnes raisons de l’avoir et ont évalué les alternatives. Testez vous-même si Jetpack accélère ou ralenti votre site, et surtout n’oubliez pas de le mettre à jour régulièrement !

Encore quelques mots au sujet des plugins de dépannage

Oui, les plugins WordPress ont des loupés. Ils cassent les sites web, ajoutent des failles de sécurité et sont à l’origine de la plupart des problèmes avec WordPress. Malgré cela, nous continuons à les utiliser car nous en avons toujours besoin et ils nous simplifient la vie. Heureusement pour nous, il existe de nombreuses façons de résoudre les problèmes liés aux plugins, à la fois à l’intérieur et à l’extérieur de WordPress.

À l’intérieur de WordPress :

  • Health Check & Troubleshooting
  • Query Monitor
  • WP Performance Profiler
  • Wp profile (WP-CLI)

Le plugin Health Check & Troubleshooting est tout simplement génial. Il est tellement génial qu’il sera bientôt intégré au cœur de WordPres. Avec lui, il est facile de tester des plugins et des thèmes sur un site WordPress, sans que les visiteurs ne s’en aperçoivent. Il permet également bien d’autres choses. Testez-le si vous ne l’avez pas encore fait.

Les plugins Query Monitor et WP Performance Profiler sont également parfaits pour le dépannage des plugins. Et avec wp profile WP-CLI, il est vraiment facile de suivre et analyser tout ce qui se charge dans un site WordPress. Testez-le également !

En dehors de WordPress :

Un plugin a cassé votre site ? Renommez le dossier du plugin (via SSH / SFTP, vérifiez le dossier wp-content puis dossier plugins) pour le désactiver. C’est une manip vieille comme le monde, mais elle marche toujours.

Bien sûr, les plugins peuvent également être facilement installés, activés et supprimés via WP-CLI.

WordPress dispose d’un mode de débogage intégré qui est facilement activé via wp-config.php. Et de nombreux fournisseurs d’hébergement peuvent vous donner accès aux logs d’erreurs directement sur le serveur. Dans la plupart des cas, la cause des défaillances des plugins y est tout simplement décrite.

Enfin, concernant les erreurs, assurez-vous de corriger même ce qui apparaît comme un « simple avertissement ». Si un avertissement apparaît, PHP doit écrire un fichier de logs à ce sujet, ce qui au final réduit vos performances. L’objectif de tous les sites Web devrait être d’avoir un journal d’erreurs propre.

Vous cherchez des solutions permettant d’éviter facilement l’utilisation de différentes sortes de plugins ? Contactez-nous. Vous pourrez ainsi en finir avec l’utilisation de plugins de sécurité, d’optimisation et de mise en cache, et les remplacer par des solutions adaptées à votre site.

Similar Posts by The Author:

Avatar