L’impact des plugins sur le temps de chargement de vos pages web

Flèche dans le mille

Le temps de chargement de vos plugins a un impact considérable sur la vitesse de votre WordPress. Nous avons vu plus tôt comment optimiser vos images pour le WEB, et comment déceler les plugins trop lourds qui ralentissent votre site avec P3 Plugin Profiler, pour les éliminer… mais il y a des plugins dont on ne peut pas se passer : les sites wordpress ont besoin d’un certain nombre de plugins pour arriver à leurs fins, c’est inévitable. Le problème est le suivant : tous les plugins activés sont chargés à chaque fois qu’un internaute accède à chacune de vos pages WEB. Pourtant, certains de ces plugins ne sont utiles que dans l’administration, pour vous, par pour vos visiteurs, et pourtant vos visiteurs doivent subirent inutilement des délais dans le temps de chargement des pages. D’autres plugins, comme par exemple un formulaire, ne sont utiles que pour une seule page : la page contact. Et pourtant ce plugin de formulaire ralentit toutes vos pages web. Il est chargé à chaque fois. Ce n’est pas logique, et l’impact de certains plugins est énorme.

Organiser vos plugins avec Plugin Organizer

Plugin Organizer peut vous servir de différentes façons :

  1. activer ou de désactiver un plugin pour une seule page ou un seul article.
  2. désactiver globalement certains plugins et les activer pour une certaine page ou article là où vous en avez besoin
  3. si vous avez des plugins qui sont en conflit entre eux, vous pouvez désactiver ces plugins individuellement par page ou article
  4. activer ou de désactiver un plugin selon l’appareil utilisé par l’internaute (ordinateur ou mobile)
  5. changer l’ordre dans lequel vos plugins sont chargés pour pallier aux conflits, à l’incompatibilité entre certains plugins (utilisateurs avancés)

Installer Plugin Organizer

Plugin Organizer est disponible depuis votre tableau de bord et s’installe comme tous les autres plugins, cependant, pour activer les options avancées il faudra manuellement déplacer le fichier /wp-content/plugins/plugin-organizer/lib/PluginOrganizerMU.class.php vers le répertoire /wp-content/mu-plugins/ ,comme indiqué dans la documentation au cas où Plugin Organizer n’est pas parvenu à le faire lui-même, cela dépend des droits en Lecture / Écriture de votre serveur (CHMOD).

Réglages généraux

Screeshot plugin organizer

Depuis cette fenêtre vous pourrez activer ou désactiver un plugin sur tout le site. Notez qu’en désactivant un plugin sur tout le site, vous pourrez en suite l’activer pour une seule page par la suite. Un temps de réflexion sera nécessaire, il y aura différentes façons d’atteindre votre objectif, à vous de trouver la méthode la plus logique.

Réglages spécifiques

Screenshot eds options de plugin organizer

Ci-dessous les options ajoutées à l’éditeur WordPress des pages et articles. Notez la possibilité d’appliquer les réglages aux pages enfantes, donc à toutes les pages d’une catégorie par exemple, et d’un seul coup.

Mise en pratique

Mes deux poids lourds sont WPML, qui gère une section de mon site en 5 langues, et SimplePress, le forum.

WPML

J’ai plus ou moins laissé tomber l’idée de traduire mon site en plusieurs langues, ça me prend trop de temps. Dommage, le trafic est là. Mais je conserve les traductions déjà présentes : les sélections de thèmes. Il n’est donc plus nécessaire de charger la bête pour les autres parties du site. Voici comment j’ai procédé :

  1. J’ai désactivé le plugin WPML globalement
  2. Je l’ai réactivé pour la page d’accueil (les différentes langues ont bien besoin d’une page d’accueil, car déclarés comme des sites différents dans Google Webmaster Tool)
  3. Je l’ai réactivé pour les pages parentes de mes sélections de thèmes, en cochant bien la case : « Also affect children« 

Vous remarquerez que j’ai déplacé le sélecteur de langue, qui se trouvait à l’origine dans le menu, dans le footer. Il n’apparait maintenant que pour les pages effectivement traduites, donc pour mes sélections de thèmes. Le temps de chargement gagné correspond à bien plus que ce simple sélecteur de langue, mais c’était un moyen rapide de le vérifier.

Simple Press

Le forum, mon deuxième poids lourd, est un cas un peu plus compliqué. J’aurais voulu activer SimplePress uniquement pour la page Forum et ses pages enfants. Mais le menu déroulant qui vous permet d’accéder au forum de votre choix ici à gauche disparaitrait, mais surtout je ne pourrais plus afficher mon widget des derniers sujets lancés dans le forum qui apparait dans ma sidebar de droite, à travers de nombreuses pages sur le site. J’ai quand même pu désactiver Simple Press pour le lexique, puisque je n’y ai pas placé ce widget Recent Topic de Simple Press. Vous vous retrouverez dans la même situation que moi avec SimplePress pour un site eCommerce, vu l’importance du panier qui doit rester présent sur toutes les pages du site. Dommage, car les plugins eCommerce sont aussi très gourmands en ressources. Mais vous l’aurez compris il y a de quoi tricoter plus finement si comme moi, vous avez une trentaine de plugins actifs.

Analyser

3 outils pour comparer la différence de temps de chargement de vos pages WEB :

Pour WP-Infinity.com, la différence de vitesse de chargement de WordPress est flagrante. Et pour vous ? Une dernière chose, l’option pour activer / désactiver un plugin en fonction de l’appareil (ordinateur ou mobile) ne semble pas fonctionner chez moi, mais si ça marche chez vous, faites le-moi savoir.

[EDIT] Pour les mobiles il faut ajouter soit même la liste des mobile user agents à prendre en compte dans les réglages de Plugin Organizer.

Ajouter un nouveau commentaire

Il y a 7 commentaires. Ajouter le mien

  1. Laurent Matignon

    Très intéressant ! Mais je n’arrive pas à trouver l’info : Plugin Organizer est-il parfaitement compatible avec WP multisite ?

  2. sam

    Bonjour Thibaud !
    J’aurais une question c’est peut etre hors contexte voila je dois installer la version 3.8 de wordprss t j’ai un plugin de redirection avec lequel je redirige mes ancien url vers la nouvelle adresse. J’ai lu qu’il fallait desactiver tous les plugins avant de commencer la mise a jour ! mais si je desactive ce plugin toutes mes reirections seront perdues. J’ai fait une copie du blog via ftp et j’ai sauvegarde ma base de donnee via cpanel en cas ou !
    Est ce que je peux lancer la mise a jour ?
    Je vous remercie infiniment

    • Thibaud

      C’est bon vous pouvez mettre à jour. Désactiver les plugins avant c’est par prudence, pas obligatoire. Je ne le fais pas et la plupart des plugins ont été mis à jour pour 3.8 depuis le temps.
      Et même si vous décidez de désactiver les plugins les paramètres et donc les redirections seront conservés lorsque vous réactiverez les plugins puisque ces données sont dans la base de données.

      Faire un backup avant une mise à jour majeur de wordpress : 3.6, 3.7, 3.8 effectivement c’est conseillé.

  3. sam

    super ! je viens de faire la mise a jour et tout s’est bien passé sans desactiver les plugins ! je te remercie pour le tuyau je ne savais pas qu’on pouvait desactiver le plugin de de redirection et que tout se sauvegardait dans la bdd c’est logique je trouve 😉

  4. francis jurdan

    hum, je suis surpris de constater que le plug ne fonctionne absolument pas comme indiqué ici, et en fait meme apres avoir desactiver 10 plug en general ca ne change rien au tps de chargement de la page et les plugs sont qd meme charges !!!