Webflow est-il un outil orienté web performance ?
Aujourdâhui, un site rapide, nâest plus un « nice to have », mais un « must have ». Jâai accompagnĂ© pendant 3 ans, chez Fasterize, des sites e-commerce afin dâoptimiser leur web performance. Au-delĂ de faire plaisir Ă lâalgorithme de Google sur ce sujet, un site rapide a un impact sur le taux de transformation. De plus, vos utilisateurs vous remercieront đ car vous allez leur faire gagner du temps.
La web performance, qu'est-ce que c'est ?
La web performance, câest un ensemble de bonnes pratiques pour afficher une page rapidement. Câest un sujet complexe qui demande des compĂ©tences multiples : intĂ©gration front-end, dĂ©veloppement back-end, rĂ©seaux, infrastructure serveur, CDN, gestion de la politique de cache, etc. Pour commencer, voyons comment fonctionne votre navigateur pour afficher une page. Je vais vulgariser au maximum et pour les plus curieux, je vous propose de lire cet article.
- Le navigateur reçoit le code source de la page
- Le navigateur parcourt la page
- Le navigateur interprĂšte le code pour afficher la page sur votre Ă©cran
- Une subtilitĂ© Ă comprendre. Si le navigateur dĂ©couvre un Ă©lĂ©ment dit « bloquant », par exemple, un fichier CSS ou JS, il va le tĂ©lĂ©charger et lâexĂ©cuter. Ce processus met sur pause le rendu de la page.
Un conseil pour analyser votre site, rĂ©alisez vos tests dans un contexte avec un faible rĂ©seau pour faire ressortir les points Ă optimiser. Par exemple, sur un smartphone en 3G. Votre objectif lorsque vous travaillez dans la web performance, câest de donner au navigateur uniquement les Ă©lĂ©ments qui sâaffichent sur le premier Ă©cran pour construire la page le plus rapidement possible.
OĂč se situe Webflow en matiĂšre de web performance ?
Lâutilisation des outils no-code est un vrai sujet en termes de web performance. En choisissant de dĂ©lĂ©guer la gĂ©nĂ©ration de votre code, votre infrastructure serveur, votre stratĂ©gie de cache, vous nâĂȘtes plus maĂźtre Ă bord. Je vous propose de nous intĂ©resser, Ă lâoutil no-code emblĂ©matique de lâĂ©cosystĂšme, Webflow, pour voir comment il se comporte en termes de web performance. Jâai testĂ© la page dâaccueil de www.quable.com en lançant quelques tests dans un contexte mobile 3G avec un Ă©mulateur iPhone X. Lâobjectif est volontairement de dĂ©grader les conditions du test pour faire ressortir les points Ă optimiser. Roulement de tambour. Webflow est un outil optimisĂ© pour la web performance, mais il pourrait ĂȘtre encore meilleur si...
â
â
â1 - Charger les ressources externes sur le mĂȘme domaine
Webflow tĂ©lĂ©charge les ressources de type image, CSS et JS depuis un autre domaine : global-uploads.webflow.com. Ce mode de fonctionnement oblige le navigateur Ă faire une rĂ©solution DNS pour se connecter au serveur et rĂ©cupĂ©rer les ressources. Comme vous pouvez le constater sur la capture ci-dessus, point numĂ©ro 1, cette connexion prend jusquâĂ une seconde dans un contexte 3G ! Cette seconde pourrait ĂȘtre gagnĂ©e en tĂ©lĂ©chargeant les ressources sur le domaine principal en lâoccurrence www.quable.com.
2 - Différer le chargement du JavaScript
Webflow ne diffĂšre pas le fichier JavaScript principal. Ce type de fichier est considĂ©rĂ© comme bloquant par le navigateur, si vous ne lui dites pas de le diffĂ©rer, par consĂ©quent il va le tĂ©lĂ©charger puis lâexĂ©cuter. Regardez le point numĂ©ro 2, le fichier se charge et sâexĂ©cute (orange plus foncĂ©, mais il bloque le rendu des images ci-dessous. Câest encore une seconde de perdue đ„Č. Seconde mauvaise nouvelle, 40 % du JavaScript chargĂ© nâest pas utilisĂ© dans la page. Webflow pourrait donner la possibilitĂ© de diffĂ©rer le JavaScript (câest dĂ©jĂ peut-ĂȘtre le cas nĂ©anmoins je nâai pas trouvĂ©) et bundleliser le JavaScript par template avec uniquement le JS utile Ă la page.
3 - Mettre en place du critical CSS
Webflow pourrait Ă©galement mettre en place du critical CSS de maniĂšre automatique. Cette technique consiste Ă Ă©crire directement dans le code source les styles CSS nĂ©cessaires pour afficher correctement la page au-dessus de la ligne de flottaison puis charger le fichier CSS de façon asynchrone. Comme le JavaScript, il pourrait bundleliser le CSS pour charger ensuite seulement les styles utilisĂ©s par le template. Sur la page dâaccueil seul 23 % du CSS chargĂ© est utilisĂ©.
4 - Encoder les images au format WebP ou Avif
Webflow pourrait encoder les images au format WebP et Avif. Ces deux formats peuvent permettre de gagner jusquâĂ -50 % sur le poids dâune image sans perte de qualitĂ©. Cette optimisation leur permettrait Ă©galement dâĂ©conomiser des ressources serveurs.
Webflow boosté aux hormones avec Fasterize
Ci-dessous, une comparaison des deux filmstrips. La seconde ligne correspond Ă lâaffichage du site avec une partie des optimisations citĂ©es ci-dessus. Gardez en mĂ©moire le fait que jâai fait un test en 3G pour mettre en Ă©vidence les points dâamĂ©lioration. La page complĂšte sâaffiche en 2 secondes vs 5.5 secondes. Ă noter, quâelle pourrait ĂȘtre affichĂ©e en 3 secondes en dĂ©sactivant le lazyloading sur le logo et lâicĂŽne du menu. LâĂ©cart serait alors dâune seconde, câest Ă©norme quand on se bat contre des millisecondes.
â
Vous pouvez consulter les deux Waterfalls :
Sans optimisation : https://wpt.fasterize.com/details.php?test=220209_N4_5&run=1
Avec optimisation : https://wpt.fasterize.com/details.php?test=220209_XY_6&run=3
Pour comprendre comment marche ce type de schéma, je vous propose de lire cet article
Au-delà des quelques points remontés, je voudrais souligner que Webflow est nativement un outil optimisé en matiÚre de web performance. Gestion du cache, infrastructure serveur performante, activation du HTTP/2 montre que le sujet est pris au sérieux par les équipes de Webflow. Nul doute que les points remontés seront traités par les équipes de Webflow, car des solutions simples existent pour certaines optimisations.
Pour terminer, je voudrais saluer Ă©galement le travail de lâintĂ©grateur qui a rĂ©alisĂ© ce site parce qu'au-delĂ de ce que peut faire Webflow en termes de web performance, câest aussi le travail de lâintĂ©grateur qui fera quâun site sera rapide ou non.
Si vous avez des questions ou souhaitez Ă©changer sur le sujet, nâhĂ©sitez pas Ă me contacter sur linkedIn.
Quelques sites et ressources dans le cas oĂč vous dĂ©sirez creuser le sujet :
https://calendar.perfplanet.com/2021/
https://www.fasterize.com/fr/blog/
https://calibreapp.com/newsletter
â