WordPress mutualisé et rapide, c’est possible — partie 1 : les extensions en trop

Depuis que j’ai ouvert mon blog sous WordPress, je sais que je ne dois pas utiliser trop d’extensions. On nous dit constamment que c’est le piège à éviter et qu’il vaut mieux en supprimer le plus possible.

Je suis tombé, moi aussi, dans le piège des extensions. Il faut dire que c’est la force de WordPress : avec près de 28 000 extensions enregistrées sur le site officiel du projet, on a de quoi faire et il y en a vraiment pour tout. C’est d’autant plus tentant qu’il n’y a rien de plus simple que d’installer une extension. Depuis l’administration de son blog, on saisit un sujet, on regarde les extensions proposées et deux clics plus tard, on a enrichi son blog.

Pourtant, l’avertissement que je reçois depuis des années n’est pas un avertissement en l’air : mieux vaut effectivement limiter au maximum les extensions. Je ne suis pas de ceux qui conseilleraient de les supprimer toutes pour autant. Certaines sont très utiles et une extension ne fait pas de mal en soi. Malgré tout, il faut reconnaître que, de manière générale, un blog léger en extensions est un blog plus rapide.

Les deux problèmes des extensions

Les extensions sous WordPress posent deux problèmes : trop nombreuses, elles ralentiront systématiquement le chargement ; mal codée, une extension peut ralentir tout le site.

Le premier problème nécessite de comprendre comment fonctionne le système d’extensions sous WordPress. À chaque fois que vous en installez une, un dossier est ajouté sur le disque dur du serveur qui héberge votre blog. Chaque extension a droit à son propre dossier dans racine/wp-content/plugins/ : si vous avez installé trente extensions par exemple, vous y trouverez trente dossiers.

Quand WordPress doit afficher votre contenu, il parcourt systématiquement le dossier des extensions pour vérifier qu’elles sont toutes là et, le cas échéant, noter un ajout ou un retrait. Cette étape prend du temps, même s’il est totalement imperceptible en général. Le serveur a besoin de quelques millisecondes pour lire ce dossier : plus il est plein, plus il lui faudra de temps, plus votre site prendra du temps à charger.

wordpress-extensions

Le second problème est plus complexe à mesurer, mais plus simple à expliquer. Une extension est composée de fichiers — en général en PHP — et parfois de dossiers qui contiennent d’autres fichiers. Selon les fonctions ajoutées par l’extension, on peut n’avoir qu’un seul fichier qui va charger l’ensemble, ou bien une structure aussi complexe que pour WordPress lui-même. C’est le cas par exemple de Jetpack, une extension très populaire qui intègre à un blog hébergé quelques fonctions des blogs sur WordPress.com. Elle ajoute plusieurs fonctions, remplaçant parfois celles de base et à l’intérieur de son dossier, on trouve des dizaines de dossiers et de fichiers.

Toute extension n’est pas mauvaise en soi. Certains développeurs prennent soin de ne pas ralentir les blogs et de travailler proprement pour éviter tout impact négatif. D’autres en revanche sont moins consciencieux et peuvent alourdir le chargement de vos pages avec des fichiers inutiles. C’est le cas en particulier quand une extension repose sur du JavaScript, pour enrichir l’interface : l’extension va charger ses fichiers, même si vous ne les utiliserez pas nécessairement ou même si votre thème les avait déjà chargés auparavant.

wordpress-extension-jetpack

Désactiver ne suffit pas

Pour régler le premier problème évoqué plus haut, la solution est simple : supprimer les extensions inutiles. Dans l’interface d’administration, on peut les désactiver, mais cela ne suffit pas tout à fait, puisque leur dossier reste présent sur le disque dur de l’hébergeur. Même si l’impact sera limité, mieux vaut systématiquement effacer les fichiers associés.

Pour cela, dans  l’administration de votre blog, vous devrez effectuer deux étapes. D’abord désactiver une extension, puis la supprimer : cette dernière étape ne sera proposée que pour les extensions inactives. Certes, c’est un peu plus de temps, mais l’opération est facile et peut être effectuée sur plusieurs extensions à la fois (cochez les cases à gauche et supprimez-les avec le menu « Actions groupées »).

extensions-desactiver-supprimer

Repérer les extensions les plus lourdes

Pour désactiver et supprimer, encore faut-il savoir quelles extensions peuvent disparaître. C’est à vous de faire le tri, ne serait-ce qu’en vous posant la question : est-ce que j’ai vraiment besoin de telle ou telle fonction ? Un filtre antispam est indispensable, mais avez-vous vraiment besoin d’afficher une liste de mot-clés avec un effet 3D ?

Je ne peux pas vous aider à définir la liste de ce qui est utile, cela ne regarde que vous et votre blog. En revanche, vous pouvez assez facilement découvrir les extensions qui pèsent le plus sur le chargement de votre blog. L’idée est de désactiver une extension et de voir si le chargement est plus rapide, pour repérer celles qui sont les plus gourmandes.

Pour désactiver temporairement une extension, outre avec l’administration de WordPress, vous pouvez utiliser cette astuce très simple. Avec un logiciel FTP, accédez au dossier des plugins et renommez simplement le dossier correspondant à l’extension à désactiver. Attention, ne changez pas totalement le nom, mais ajoutez une lettre ou un numéro à la fin. Au prochain chargement, WordPress va tenter de charger l’extension, mais ne trouvant pas son dossier, il va la désactiver. Pour l’activer à nouveau, il suffit de remettre son nom d’origine.

Si vous avez vraiment beaucoup d’extensions, cette méthode est un peu lourde. Vous pouvez alors faire l’inverse : désactivez toutes les extensions dans l’interface d’administration et chargez-les une par une, pour voir celles qui ont un impact important.

Si vous voulez optimiser votre blog, il vous faudra des outils de mesure des performances du site. Il en existe des dizaines, mais j’aime bien Pingdom qui a l’avantage de rester simple. Saisissez l’URL du blog et vous pouvez lancer immédiatement le test, même si je recommande de cliquer sur « Settings » pour choisir un test depuis Amsterdam si votre blog est hébergé en Europe. On aura l’occasion d’y revenir plus tard, mais la question des distances n’a pas disparu avec internet et un site hébergé en France sera rapide dans l’Hexagone, mais lent en Australie. Pour mesurer la vitesse du site, autant choisir des conditions optimales et donc un serveur de test au plus près de son hébergeur.

pingdom-voiretmanger-fr

Pingdom et les autres outils vous donnent un temps de chargement de la page testée, mais aussi des analyses plus pointues. Pour commencer, le temps est un indicateur suffisant : pour que les visiteurs ne quittent pas le site à cause de sa lenteur, chaque page ne devrait pas charger en plus de deux ou trois secondes.

Si ça ne suffit pas…

Commencer par les extensions était le plus simple. Si vous êtes comme moi, vous en aurez accumulé au fil des années et vous pourrez facilement en retirer quelques-unes qui ne vous servaient pas ou dont vous pouvez vous passer. Peut-être que cela suffira à obtenir un blog nettement plus rapide, mais c’est peu probable…

Dans la suite de cette série, on verra comment accélérer un peu son blog en utilisant… des extensions. Certaines sont en effet très utiles et permettent de gagner en vitesse : comme quoi, elles ne sont pas toutes mauvaises. J’ai d’ailleurs publié une liste d’extensions qui me semblent particulièrement utiles.

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s