Un nouvel article a été publié sur GDM-Pixel
Un nouvel article a été publié à l'adresse suivante : https://gdpx.fr/mnc
GrĂące Ă Autoptimize, on va pouvoir amĂ©liorer les temps de chargement, en regroupant les fichiers JavaScript, les CSS, et grĂące Ă quelques bricoles qui feront une petite diffĂ©rence. Ă noter, ça ne va gĂ©rer que ce qui se passe cĂŽtĂ© serveur de pages (temps dâenvoi des fichiers), et pas du tout ce qui pourrait se passer sur le serveur en lui-mĂȘme (temps de compilation). Si vous avez des problĂšmes de perfs, je vous recommande la suite de vidĂ©os sur Webinoly, disponible ici.
PrĂ©sentation de la configuration du moduleâŠ
On va commencer par le plus facile : optimiser le code CSS. GrĂące Ă cette option, Autoptimize va vous permettre dâavoir moins de fichiers CSS, et de prĂ©senter un code plus condensĂ©.
Le CSS, câest le code qui « habille » la page, en ajoutant les couleurs, la taille des typos, la taille et lâemplacement des conteneurs etc. Câest aussi le code qui gĂšre lâapparence de certaines interactions (survol des boutons par exemple). Bref, sans CSS, le web serait super moche, et ce serait bien dommage.
Ă cocher, Ă©videmment, sans quoi ça annule tout ce quâil y aprĂšs. Cette option va Ă©galement permettre de les minifier, câest-Ă -dire de supprimer les espaces, les commentaires, pour compresser un peu plus le fichier.
Concaténer les fichiers CSS
« ConcatĂ©ner », câest un gros mot pour dire « regrouper ». Vous nâaurez plus « N » fichiers CSS, mais un seul. Ă noter que le fichier CSS qui sera servi par Autoptimize dĂ©pend de la page sur laquelle vous vous trouvez, des templates, des modules etc., il est donc possible que le cache du module soit imposant (ça dĂ©pendra du nombre de pages que vous avez).
Agréger aussi les CSS in-line
Cette option est gĂ©niale, car elle va retirer le code CSS quâil y a dans votre page pour le placer dans un autre fichier : votre code source sera ainsi bien plus lĂ©ger, plus propre. Si vous ĂȘtes sur un builder de pages, ça ne fera pas de malâŠ
Génération de données : URI pour les images
Cette option va modifier la façon dont les images de fond sont rendues sur le site. Au lieu de procĂ©der au chargement dâun fichier, les petites images peuvent ĂȘtre chargĂ©es en base 64.
Ce que ça veut dire, câest plus de travail pour les navigateurs, et moins de travail pour le serveur. Ă nâutiliser que si vous nâavez pas de scripts de Lazyload sur votre site.
Inclure le CSS principal dans lâHTML et reporter le reste
Cette option permet de prĂ©-charger dans le head le CSS nĂ©cessaire Ă lâaffichage du contenu au-dessus de la ligne de flottaison, Ă©galement appelĂ© « critical CSS ». Ăa suppose que vous savez ce que vous devez charger, ou que vous avez pu gĂ©nĂ©rer le critical CSS. Pratique pour une super note sur Pages speed, mais si votre serveur est bien foutu, le gain sera assez faible.
Mettre tous les CSS dans votre code HTML
Non, ne faites pas ça ! Ăa collerait tout votre CSS inline dans le code source. Cela Ă©tant, tout dĂ©pend de la quantitĂ© de code, mais ça ne me paraĂźt pas ĂȘtre une bonne idĂ©e.
Exclure les fichiers CSS dâAutoptimize
Ăa, câest si vous avez du contenu dont lâaffichage merdouille quand vous avez activĂ© le plug-in : ça veut dire que certains fichiers CSS sont en conflit (ça peut arriver, en fonction de lâordre dans lequel ils sont chargĂ©s). Ăa suppose que vous connaissez trĂšs bien votre code, vos plugins etc.
Câest une rubrique relativement simple, qui ne comprend que deux options : « optimiser le code HTML » et « prĂ©server les commentaires HTML ».
Cette option va permettre de minifier le code HTML, câest-Ă -dire retirer les sauts de ligne, les espaces qui ne servent Ă rien etc. Vous allez gagner quelques octets sur le poids de la page en elle-mĂȘme, rien de plus.
Préserver les commentaires HTML
Pour que les commentaires HTML ne soient pas supprimĂ©s par le plug-in. Clairement, les commentaires ne peuvent servir quâen phase de dĂ©veloppement. Si vous ĂȘtes en production, vous pouvez les faire sauter.
Un CDN, câest un Content Delivery Network, câest-Ă -dire un rĂ©seau livraison de contenu. UtilisĂ© pour faire du Domain Sharding, câest-Ă -dire charger diffĂ©rents contenus au navigateur sur des sous domaines tiers, pour parallĂ©liser lâenvoi de fichiers. Sur HTTP 2, ça ne sert Ă rien. Sur HTTP un, vous aurez effectivement un gain de performance.
Un CDN peut Ă©galement ĂȘtre utilisĂ© pour avoir des points de livraison de type « proxy », câest-Ă -dire quâen fonction de la zone gĂ©ographique depuis laquelle vous tĂ©lĂ©chargez un fichier, vous nâallez pas vous connecter Ă nâimporte quel data Center. Ăa sert typiquement pour les sites qui ont une audience internationale.
Pour rĂ©sumer, si votre site est en France, pour une audience française, ou proche, et que vous ĂȘtes en HTTP 2, vous nâavez pas Ă vous embĂȘter avec cette rubrique.
Câest la plus risquĂ©e des options ! Avec ça, vous pouvez tout pĂ©ter !
Optimiser le code JavaScript ?
Cette option permet de rĂ©duire la taille des JavaScript. Jusquâici, tout va bien.
Concaténer les fichiers JavaScript
Câest typiquement le genre de fonction qui peut tout casser. En fonction de vos fichiers, de la version de Jquery utilisĂ©e etc., si vous modifiez lâordre dans lequel les JavaScript sont chargĂ©s, ou que vous les concatĂ©ner, vous pouvez obtenir des erreurs dans lâexĂ©cution du code.
Ca veut dire que certaines fonctionnalités du site seront K.-O.
NĂ©anmoins, les gants performance sont assez bluffant. Ă utiliser, donc, si vous ĂȘtes sĂ»rs de ce que vous faites (voir plus bas).
Agréger aussi les JS in-line
Cette fonction, comme pour le CSS inline, permet de récupérer les JavaScript qui sont « en dur » sur la page pour les placer proprement dans un fichier externe.
Forcer le JavaScript Ă charger dans lâen-tĂȘte de la page
Cette fonction permet de charger le JavaScript dans le Head. Ăa va corriger certaines erreurs, mais ça va accroĂźtre le temps de rendu sur la page. Je dĂ©conseille dâutiliser cette fonction. On prĂ©fĂ©rera exclure les fichiers qui plantent.
Scripts Ă exclure dâAutoptimize
VoilĂ , câest lâoption magique qui vous permet dâexclure de la concatĂ©nation les fichiers qui risqueraient de provoquer des erreurs. Super pratique, mais ça nĂ©cessite de connaĂźtre vos plug-ins, les fichiers qui sont liĂ©s etc. Câest donc une fonctionnalitĂ© relativement avancĂ©e, pour ceux qui nâont pas peur de regarder le code source.
Ajouter une gestion des erreurs (trycatch)
Si vos scripts ne fonctionnent pas en raison dâerreurs JS, vous pouvez essayer cette option.
Enregistrer les scripts/CSS en tant que fichiers statiques
Ă cocher ! Ăa permet de crĂ©er les fichiers JavaScript et CSS de maniĂšre statique, câest-Ă -dire quâil y aura un fichier, dans un dossier, et quâil restera lĂ jusquâĂ ce quâil soit expirĂ©.
Optimiser les fichiers CSS et JS exclus�
Si vous excluez un fichier de la concatĂ©nation, il sera quand mĂȘme optimisĂ© par le module (minifiĂ©).
Optimiser aussi pour les utilisateurs connectés
Câest une option qui peut servir si vous utilisez un builder et que celui-ci ne charge pas (avec un beau message dâerreur).
Cette section du module permet dâoptimiser les images, en les distribuant via un CDN ou en exĂ©cutant un script de Lazyloading.  Pour le Lazyloading, je vous renvoie Ă ce tutoriel. Et pour le CDN, jâai tout expliquĂ© plus haut.
Si vous avez beaucoup de Google fonts, ça peut ĂȘtre intĂ©ressant de les optimiser avec lâoption dĂ©diĂ©e. Par dĂ©faut, le rendu de la typo de votre site est impactĂ© par le chargement de Google Font. Si vous appelez de nombreuses polices, ça peut ĂȘtre intĂ©ressant de gĂ©rer cette section-lĂ .
Personnellement, vu que je nâai quâune seule typo, je ne mâembĂȘte pas. Si vous avez besoin de dĂ©greffer finement, vous pouvez utiliser la fonction que vous trouverez ici.
Si vous tapez un joli petit smiley, WordPress le remplace par une icĂŽne. Le problĂšme, câest que ça va nĂ©cessiter du CSS et un JavaScript supplĂ©mentaire. Vous pouvez supprimer cette belle merde qui ne sert Ă rien.
Supprimer les chaĂźnes de requĂȘte des ressources statiques
De nombreux plug-in vont charger leur fichier avec une variable de version. Parfois, celle-ci indique au navigateur quâon a changĂ© de fichiers. Donc, techniquement parlant, câest utile de les laisser. Retirer la chaĂźne de requĂȘte va amĂ©liorer le score de performance, rien de plus.
« Préconnection » avec des domaines tiers (utilisateurs avancés)
Ăa, câest pour ajouter le DNS prefetch : avant de charger une page, le navigateur se connectera au DNS susceptible dâĂȘtre appelĂ©, afin de gagner quelques millisecondes. Franchement, câest un peu « gadget », car en gĂ©nĂ©ral, sur la page dâaccueil, ou une bonne landing page, il y aura plus de 80 % des requĂȘtes effectuĂ©es en termes de connexion au DNS.
Fichiers JavaScript asynchrones (utilisateurs avancés)
Ăa, câest pour diffĂ©rer le chargement des JavaScript. Attention Ă ne pas bloquer le rendu.
Optimiser les vidéos YouTube
Une application tierce pour charger les vidéos de maniÚre différée, en Lazyload. Là encore, je vous renvoie vers le tutoriel dédié.