Optimiser WordPress : Pnwy sous Stéroide !

La licorne Geekeries allège une page WordPress en retirant une police et des fichiers inutiles

Salut à tous, j’ai profité d’une maintenance récente pour enfin (ré)optimiser le WordPress de Geekeries.org. Pas en installant un énième plugin miracle, mais en regardant ce que le navigateur chargeait vraiment.

Le site n’était pas à genoux. Il fonctionnait, les pages s’ouvraient, et personne ne m’avait signalé de catastrophe. PageSpeed lui me scorait pourtant à 72 sur mobile et 73 sur ordinateur. Le plus visible était le décalage de mise en page : le logo arrivait sans dimensions réservées et poussait le contenu pendant le chargement.

J’ai donc repris la chaîne complète, du reverse proxy jusqu’au navigateur, avec deux règles assez simples : une modification à la fois, et un retour arrière prêt avant de toucher à la production. Pwny m’a aidé à faire l’inventaire et à préparer les contrôles, et les appliquer mais chacun autorisé et vérifié manuellement.

Le serveur n’était pas le principal coupable

Une requête sur le site suit ce chemin : visiteur → Nginx Proxy Manager → Nginx et PHP → WordPress → MariaDB et Redis. Mon premier réflexe aurait pu être de régler PHP-FPM ou d’ajouter encore du cache. Les mesures racontaient autre chose.

Une fois la page anonyme servie à chaud, le TTFB… Lire la suite

Optimiser le cache NginX et PHP5-FPM avec WordPress

Varnish-Cache

Salut à tous, voici le second TP sur la mise à jour du site. Dans celui ci on va voir comment on peut optimiser le cache NginX et PHP5-FPM avec WordPress à l’aide de mécanisme de cache. C’est quoi le cache ? si votre serveur c’est un chirurgien très connu et très occupé, le cache c’est la secrétaire médicale qui répond au téléphone, renvoie les factures et fait remplir les mêmes formulaires à tous les clients patients. Pour ceux qui ont lu mon article sur Varnish, c’est la même chose. Et, mine de rien, on va installer 3 systèmes de cache dans l’infra mise en place dans le 1er TP :

  • un cache des binaires dans PHP avec OPCache
  • un cache des données entre PHP et MySQL avec REDIS
  • un cache web pour NGINX avec FASTCGI-cache

On ajoutera une pointe optimisation et on terminera en comparant les performances par rapport à l’ancien site.

Optimiser le cache NginX et PHP5-FPM

Cache-cache avec PHP

OPCache

PHP est un langage interprété, ce qui signifie qu’il est compilé à chaque requête. C’est très inefficace pour un serveur web qui passe son temps à répondre aux mêmes requêtes entre 2 mises à jour … Lire la suite