Google et les utilisateurs deviennent de plus en plus exigeants par rapport à la performance des sites. En 2018, 50% des sites mettent environ 15s à se charger alors qu’au delà de 3s, on a +25% de taux de rebond, l’expérience est frustrante et l’impact est négatif.
Vous souhaitez surpasser les autres ? Satisfaire vos utilisateurs, gagner le respect de Google et voir un impact positif sur vos métriques (€, Bounce, dwell, ranking) ? Je vous donnerai mes meilleurs tips concrets et actionnables pour booster votre temps de chargement. De la méthodologie, des outils et des techniques avancées. #technicalseo #perfmatters.
Conférence pour audience multidisciplinaires (technique, marketing) et pas exclusive au développeurs
https://webisland.io
13. @LoukilAymen #webisland
Quelles connexions ?
France 14 Mbps
Denmark 24.41 Mbps
Japan 22 Mbps
Belgique 20 Mbps
Suisse 18.5 Mbps
State of Mobile Networks https://opensignal.com
USA 12.5 Mbps
Une page web en moyenne : 3.6Mb*
3.6 Mb
14 Mbps
= 25s
16s(Japan)
14. @LoukilAymen #webisland
Quelles ressources matérielles ?
https://medium.com/dev-channel/the-cost-of-javascript-84009f51e99e
4s sur un iPhone 8 (800€) Vs 14s sur un Motorolla G4 (200€)
19. @LoukilAymen #webisland
Comment mesurer la performance ?
Synthétique
- Lab
- Dev, debug
- QA SEO
Une part de la vérité, permet de
comparer, ne reflète pas la vraie
perception de la performance
Chez nos utilisateurs
- Utilisateurs
- Terrain (RUM)
Reflète l’expérience de nos
utilisateurs,
pas toujours évident de l’avoir,
comparaisons subjectives
CrUX
33. @LoukilAymen #webisland
On va explorer la RUM publique
https://beta.httparchive.org/
https://developers.google.com/web/tools/chrome-user-experience-report
45. @LoukilAymen #webisland
Mesure de performance
● Corréler les métriques perf IT avec métrique perf business
● Enrichir synthétique par RUM
● Segmenter par type de page (listing, checkout, product, editorial)
● Afficher les mesures dans les locaux
● Ne jamais arrêter les mesures
58. @LoukilAymen #webisland
Comparer avec et sans 3rd party
https://developers.google.com
Les scripts externes [non maitrisés] peuvent dégrader la performance
59. @LoukilAymen #webisland
Optimiser le chemin critique
Donner en priorité ce qui est nécessaire au premier print et la ligne de flottaison
CC optimisé
CC non optimisé
64. @LoukilAymen #webisland
Prioriser le CSS critique
1. Installer CasperJS : http://casperjs.org/ (Node.js)
2. Télécharger ce script :
https://github.com/ibrennan/automation/tree/master/content/critical-css
3. >casperjs app.js pour l’exécuter
4. Répondre aux questions
5. Copier le code CSS sorti et le coller en inline avant l’inclusion des fichiers de style
70. @LoukilAymen #webisland
Passez en HTTP/2
HTTP/1.1 HTTP/2
Open
Close
Open
Close
T T
Avantages
● Multiplexage
● Compression de header
● Meilleure priorisation
● Push serveur
73. Compression Gzip
+ Réduit la taille des ressources
transmises
- Peut engendrer un surcoût
(TTFB)
https://varvy.com/pagespeed/enable-compression.html
74. Cache navigateur (static resources)
+ Réduit le nombre de
ressources à partir
de la deuxième
visite
Facebook a économisé 60% des requêtes grâce au cache
https://code.facebook.com/posts/557147474482256/this-browser-tweak-saved-60-of-requests-to-facebook/
78. J’ai un gros.. TTFB
TTFB : Time To First Byte (octet)
Deux raisons possibles :
1- Serveur lent ?
Tester en http://localhost : pareil => Serveur lent
Optimiser, BD*, cache serveur
Si inférieur => Connexion lente
2- Connexion lente ?
CDN, hébergeur
Google préconise un TTFB de 200ms
*https://fr.wordpress.org/plugins/query-monitor/
86. @LoukilAymen #webisland
Bonnes pratiques de performance 2018
Ressources critiques en premier
Moins de javaScript
Moins de requêtes
Compression et minification
Lazy loading
Auditer les 3rd parties
Stratégie de Fonts
‘Cacher’ les ressources statiques
Ressources hints
Le code de la prod = propre
Viser 30% d’amélioration !
Culture performance partagée
Equipes multi skills (tech, market,
product)