Catégories
Autres

Lisser les courbes du temps de chargement du site dans analytics

Dans cet article, je vous montre comment améliorer les courbes pour la vitesse de chargement de votre site dans Google Analytics.Depuis quelque temps maintenant, Google prend en compte le temps de chargement des sites pour le référencement des pages web. Par conséquent, beaucoup de personnes essayent d’améliorer ce temps de chargement, ce qui est une bonne chose. Pour cela, plusieurs outils existent et j’en ai déjà parlé dans ce billet : améliorer le temps de chargement de votre site.

Aujourd’hui, je ne vais pas parler des techniques pour améliorer le temps de chargement de son site, mais je vais donner une astuce pour lisser les courbes google analytics. En effet, j’ai remarqué une chose surprenante avec un de mes sites : les courbes du temps de chargement dans google analytics étaient très aléatoires. Concrètement certains jours mon site chargeait très rapidement (moins d’une seconde) et d’autres jours j’avais des pointe à 15-20 secondes (cf. courbe ci-dessous).

Screenshot démontrant les pics dans le temps de chargement analytics
Screenshot de google analytics sur le temps de chargement d’un de mes sites optimisés


Cela est très frustrant d’observer de tel résultats, car je fais tout mon possible pour optimiser la vitesse de chargement de ce site. Après quelques recherches, je me suis rendu compte que c’était qu’une partie de mes visiteurs (avec une connexion moyenne ou sur des smartphones) qui provoquaient ces pics. En effet, si on prend la courbe de répartition du temps de chargement des pages, on s’aperçoit que pour 80% de mes visiteurs, les pages se chargent en moins de 3 secondes, mais une minorité (environs 7%) dégradent ces performances.

Screenshot de google analytics montrant la répartition des visiteurs en fonction du temps de chargement
Répartition de mes visiteurs en fonction du temps de chargement des pages sur Analytics

Après quelques recherches, j’ai découvert que Google Analytics utilisait seulement 1% des visiteurs pour récupérer des informations sur le temps de chargement. Cela me parait très faible car si on a la malchance de tomber sur une personne avec une connexion lente pour un échantillon, cela produira un pics dans vos statiques. Ceci est d’autant plus vrai si votre site est de taille moyenne, car vous n’avez pas assez de visiteurs pour lisser naturellement cette courbe avec les 1% d’échantillonnage par défaut de google.

Pour lisser ces courbes, il faudrait échantillonner sur plus de personnes, par exemple sur 80% des visiteurs si vous avez un petit site, pour avoir quelque chose de plus représentatif. Heureusement c’est possible et c’est dans la documentation de google analytics. En lisant cette documentation, on apprend que l’on peut ajouter un bout de code dans le tracker analytics pour préciser que l’on veut échantillonner sur plus de 1%.

Voici le code analytics modifié que j’ai sur mon site pour échantillonner sur 60% des visiteurs. La ligne intéressante est la numéro 4 à insérer avant le « trackpageview » comme indiqué sur la documentation.

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-10349381-2']);
_gaq.push(['_setSiteSpeedSampleRate', 60]);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

Cela fait plus d’un mois que j’ai fait cette modification et le résultat est visible. Désormais mes courbes sont lisses, sans pointes à 15-20 secondes, le temps de chargement de mon site oscille entre 3 et 4 secondes comme le prouve la capture ci-dessous :

Courbe du temps de chargement de mon site avant et après le changement de l'échantillonage
Courbe du temps de chargement de mon site avant et après le changement de l’échantillonage

Une autre remarque au passage : durant mes recherches, j’ai également découvert qu’une version de Firefox envoyait de mauvaises informations sur le temps de chargement des sites (suite à une mauvaise implémentation). Par conséquent, il n’est pas idiot de regarder les statistiques avec et sans Firefox, mais depuis le temps ce problème est réglé.

J’espère que cet article vous a aidé, n’hésitez pas à laisser des commentaires ou partager vos astuces pour rendre un site plus rapide (c’est un sujet que j’affectionne tout particulièrement).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.