Ca y est, c’est officiel. Dans un billet de vendredi (Using site speed in web search ranking), Google annonce que désormais la vitesse de chargement des pages devient un élément du ranking. Voici une traduction rapide  d’un bout de l’article :

Rendre les sites est important – pas simplement pour leurs propriétaires, mais aussi pour les utilisateurs. La rapidité rend les utilisateurs heureux et nous avons constaté dans nos études internes que lorsqu’un site répond lentement les visiteurs y passent moins de temps. Rendre un site rapide n’augmente pas seulement l’expérience utilisateur; de ressentes données montrent que cela réduit également les coûts. Comme nous, nos utilisateurs placent beaucoup de valeur dans la vitesse – c’est pourquoi nous avons décidé de prendre la vitesse en compte dans le ranking.

On apprend également dans cet article que cela fait des mois que la fonctionnalité est en test, et que cela n’est actif pour l’instant que pour les recherches en anglais sur google.com. On s’en doutait un peu, Matt Cuts avait plus ou moins lâché l’info il y a quelques mois. D’autre part l’apparition dans Google Webmasters Tools des performances du site laissait supposer qu’il y avait quelque chose dans l’air (dans l’onglet labo).

En ce qui me concerne, c’est une évolution naturelle du moteur de recherche. Il est leader, et a tout intérêt à placer en tête les sites les plus rapides, à contenu égal entendons nous bien.

Si effectivement je considère que l’expérience utilisateur est un point crucial, cette annonce laisse pas mal de questions en suspend :

  • A quel point cela va jouer sur le ranking ?
  • Quelles sont les valeurs pénalisantes ?
  • Quand on parle de réduction des coûts, j’ai l’impression qu’on se f@% de ma g£%le, c’est normal ?

Et oui, concernant la question des coûts, c’est probablement vrai quand on a un paquet de serveurs. Quand on a un hébergement mutualisé, c’est autre chose. C’est plutôt l’inverse, puisque passer d’un mutualisé sur un dédié induit un paquet de frais supplémentaires. Il n’y a que chez les très gros acteurs du ecommerce qu’on dispose des moyens pour faire des économies la dessus.

Alors que va-t-il se passer ? Deux cas de figure : tout le monde s’en fout ou il va y avoir du ménage. Il me semble évident que c’est la 2° option qui va gagner. Même si cette nouvelle donne ne change pas grand chose pour la plupart des sites. A mon avis, seuls seront pénalisés les boulets qui mettent des plombes avant de se charger.

Déjà, les pages html qui mettent 20 secondes à charger, il va falloir les revoir. Ensuite, fini les chargements de 50 .JS et 38 .CSS (ne riez pas, ça existe). Ça ne sera pas forcément un mal.

Reste que pour ceux qui font du ref nat un pivot de leur stratégie il va falloir se pencher sur la technique. Et même si le ranking ne sera pas chamboulé pour tout le monde. En tout cas pas tout de suite. Il va y avoir une course chez certains acteurs, c’est évident.

lentPar contre, si je regarde les graphs de google webmaster tools, j’ai peur. Le graph est séparé en 2 zones. Au dessus d’une seconde sur mon exemple, on est considéré comme lent. J’espère que c’est une blague d’un farceur de chez google.

Le conseil du jour : si votre site est un boulet, tremblez. Surtout si vous captez 50% de votre trafic via google. Sinon, commencez à penser à ce qu’il est possible de faire pour optimiser un poil tout ça, ça peut se faire dans le temps et sans douleurs. Il n’y a pas encore le feu au lac.

Auteur de ce billet : Jacques Terrier consultant e-commerce - Twitterfacebook - Tutos performance web et formation e-commerce sur OSEOX


, ,


Maintenant que les fêtes sont finies, et que vos foies sont à nouveau au repos, il est temps de se remettre au boulot.D’autant qu’aujourd’hui c’est les soldes ! Les serveurs vont chauffer, je me doute qu’il va y avoir des crises de nerf .

On commence léger avec la suite  du billet ou je vous parlais de firebug et pagespeed. Etant donné que je suis votre seul et unique gourou, et que bien évidemment vous faîtes absolument tout ce que je dit, vous avez déjà optimisé au possible votre site.

Alors aujourd’hui, penchons nous un peu sur les outils pour webmasters de notre ami Google, afin de vérifier les résultats, et plus particulièrement sur 2 options :

  • Diagnostic>Statistiques sur l’exploration
  • Labos>Performances du site.

Les données de ‘performances du site’ sont obtenues directement auprès des internautes ayant installé la barre d’outils Google et activé la fonctionnalité PageRank . Donc c’est une moyenne qui est présentée sur les graphs. A leur côté vous trouverez maxi, mini et moyenne. Attention, cette méthode ne sert qu’à vous les pauvres. Les riches eux n’ont pas besoin de google, ils utilisent d’autres méthodes plus rapides et plus fiables.

Attention, cet article risque d’être totalement imbitable pour la majorité de notre lectorat. Que la direction générale de cet auguste blog me pardonne.

Ko téléchargés

La première donnée intéressante concerne le nombre de kilos octets téléchargés par jour.

Franchement, j’ignore totalement comment est calculé cette donnée. Et cela n’a aucune importance puisque l’on se basera plutot sur des ratios que sur des valeurs absolues calculées finement.

Tout ce que je peut dire, c’est que limiter les téléchargements a 2 impacts principaux. Le premier est l’impression de fluidité lors du chargement d’une page. Le second est que la bande passante, si vous la payez, coûte cher. Sur un mutualisé cela à également de l’importance, puisque qu’en cas de saturation de cette même bande passante, vous fournirez plus rapidement certains contenus, la BP n’est pas extensible à l’infini.

ko_jour

Devinez quand la compression et le caching ont été activés. Non, pas en Aout.

Activer la compression

Voici le premier moyen simple de limiter le poids des données transférées : la compression. Même si vous confondez la gauche de la droite, vous connaissez surement winzip qui permet de diminuer fortement la taille des fichiers. Ici c’est pareil. Le gain est sensible particulièrement sur les fichiers de type texte (html, js, css, xml).

Sur un serveur Apache, il est assez simple d’activer la compression, sans toucher au code (genre avec un obscur ob_start(‘ob_gzhandler’) à claquer sur toutes les pages. Un petit tour dans le .htaccess en racine et hop, d’un coup les gros on active le mode deflate pour l’ensemble du site et pour les .html, .ico, .js, .css, .xml (ici un exemple avec deflate) :

AddOutputFilterByType DEFLATE text/ico text/html text/plain text/xml text/css application/javascript application/x-javascript application/x-httpd-php application/rss+xml application/atom_xml text/javascript

Vous pouvez également activer le mode gzip. En cas d’erreur 500, votre config Apache demande l’activation des extensions nécessaire (à voir à l’aide d’un phpinfo() ou auprès de l’hébergeur). Tout ça est un poil technique je le convient, mais c’est vite fait et ça ne mange pas de pain.

Sur IIS c’est aussi simple (voir plus encore, c’est une case à cocher). Bref, c’est simple et pas prise de tête pour peu que vous cherchiez un poil.

Activation du cache

Le deuxième point facile à mettre en place est l’activation du cache navigateur et ce n’est pas plus compliqué, puisqu’il suffit encore une fois d’utiliser le .htaccess :

# cache 1 semaine
<FilesMatch « \.(jpg|jpeg|png|gif|swf|js|css|png)$ »>
Header set Cache-Control « max-age=604800, public »
</FilesMatch>

# cache 1 an
<FilesMatch « \.(ico)$ »>
Header set Cache-Control « max-age=29030400, public »
</FilesMatch>

En fonction du type de fichier, votre navigateur mettra en cache au premier accès les images, les flash, les javascripts et compagnie. Au deuxième accès, le navigateur n’ira pas les chercher sur le serveur, mais sur le disque dur. C’est plus rapide (pour l’internaute dès la 2° page) et économe en bande passante (pour vous).

Temps de téléchargement d’une page

Je vais aller vite, parce que nous sommes dans une partie bien plus technique. La donnée représentée ici est le temps de délivrance du HTML. On le voit sur le graph, ici c’est très lent puisqu’il faut environ 1.5 s pour obtenir le HTML. Ensuite il faut au navigateur aller chercher les éléments indiqués dans ce même HTML (images, js, css…). C’est long, d’autant qu’avec l’ADSL nous sommes particulièrement habitués à la vitesse.

Il n’y a pas une solution simple pour optimiser la génération du HTML. C’est un boulot de longue haleine qui demande pas mal de compétences et de temps. Donc, malheureusement on passe. Je ne vais pas non plus écrire un billet de 15000 pages sur le dév, faut pas pousser mémé dans les horties. Il faut voir cela après avoir mis en place les techniques les moins couteuses. Optimiser le code pourrait dans notre cas faire gagner éventuellement 1 seconde, les autres techniques le triple sur le temps total, tout en coutant moins cher. Le calcul est vite fait, pas besoin de réviser la règle de 3 pour comprendre quel est votre intérêt.

tps_tele

Petit bémol quand même puisqu’ici on parle uniquement de temps de génération, pas de volume. Si un site délivre le HTML en 5 secondes ou tombe avec 100 utilisateurs, il faudra y passer quand même (et il faudra aussi penser à envoyer les devs et le chef de projet en formation, ou à l’ANPE).

Performances du site

Voilà une page intéressante au possible, puisqu’elle réuni en son sein un graph sur la durée des temps de chargement de tous les éléments d’une page (alors qu’auparavant nous parlions uniquement du HTML) et un ensemble de conseils pour quelques pages, quasi les mêmes qu’yslow ou pagespeed.

perf

Y a eu de l'optimisation non ?

Sur le graph ci dessus, vous pouvez voir que les temps de chargement de tous les éléments constitutifs d’une page ont considérablement baissés. Dans cet exemple, sur certaines pages, on observe  un temps de chargement 10 fois plus rapide, mais surtout une impression de chargement quasi instantané.

En premier lieu, il a été mis en place les actions les plus simples et rapides à mettre en oeuvre : compression, activation de la mise en cache navigateur, optimisation des images, indications des tailles des images,  regroupement et compression physique des css et js (minify). Bref du facile, qui rapporte gros rapidement.

Ensuite suppression ou déplacement de fonctionnalités sans aucune valeur ajoutée. C’est également simple à faire. C’est d’ailleurs quelque chose à surveiller à l’aide d’outils de web analytics. La rapidité aide à la conversion. C’est donc également le bon moment pour dépoussiérer le site et virer les fanfreluches (vous savez, les trucs bling bling) qui semblaient trop top géniales  kikoo lol au début et qui se révèlent au final de gros boulets. Eventuellement certaines fonctionnalités peuvent être supprimées pendant un gros pic de trafic, puis ré implémentées par la suite.

Les autres actions sont plus affaire de dév qu’autre chose (revue des requêtes SQL, mise en cache serveur, nettoyage de code, mise en place d’un cdn…) et ne sont pas toujours indispensables. Si votre site est assez ancien et qu’il a connu pas mal de modifs, le code est probablement devenu illisible, difficile à maintenir. Bref un gros tas de pus. C’est l’occasion de casser la tirelire et d’y consacrer un peu de temps. C’est vraiment à faire en dernier recours, tant le rapport perf/cout est souvent bas.

Si vous ne l’avez pas encore vue, regardez cette vidéo indispensable à qui voudrait en savoir plus et aller plus loin. Pour vous convaincre de la nécessité de tout cela, lisez cette article qui explique que près de la moitié des visiteurs d’un site n’attendent pas plus de 2 secondes pour qu’une page se charge (les fourbes).

Alors, vous vous y mettez quand ?

Question annexe : des billets techniques ça vous intéresse ? Quel niveau ?

Auteur de ce billet : Jacques Terrier consultant e-commerce - Twitterfacebook - Tutos performance web et formation e-commerce sur OSEOX


,


Une étude récente montre que les internautes sont de plus en plus impatient et que la vitesse d’affichage des pages devient un vient critère de fidélisation pour les sites de ecommerce.

Speedmeter par Mr. Bsod

Speedmeter par Mr. Bsod

Les internautes sont de plus en plus impatients

Si l’on en croit une étude américaine récente, malgré le haut débit, les internautes sont de plus en plus impatients. Ainsi, près de la moitié des visiteurs d’un site n’attendent pas plus de 2 secondes pour qu’une page se charge, à fortiori la page d’accueil. Après ? Pshhhit (comme aurait dit un ancien président), ils dégagent ailleurs.

Les sites français sont trop longs

Voilà qui est inquiétant et devraient interroger les responsables des principaux sites ecommerce français, car, plus le trafic d’un site est fort, plus il est difficile de servir des pages à la vitesse éclair de 1 page en moins de 2s. Pour la bonne cause, je me suis livré à une mesure de vitesse d’affichage (avec l’outil WebsiteOptimization) des 10 premiers sites ecommerce français (je n’ai pas compté ebay ou tous les sites qui ne montraient pas des produits sur la page d’accueil) et voici les résultats :

  • priceminister.fr : 16,39 s
  • 3suisses.fr : 33,43 s
  • amazon.fr : 13,09s
  • laredoute.fr : 70,12 s
  • cdiscount.com : 17,56 s
  • kiabi.com : 21,05 s
  • pixmania.fr : 96,4 s
  • rueducommerce.fr : 41,99 s
  • carrefour.fr : page trop lourde
  • spartoo.fr : 21,44 s

Même si on divise ces temps par 3 (pour être à peu près dans la moyenne des vitesses de connexion en ADSL), sans surprise, pas une page ne se charge en moins de 2 seconde. Pas étonnant, avec la prolifération du haut-débit, celles-ci ont plus eu tendance à s’alourdir que le contraire et le poids est loin d’être, comme c’était il y a quelques années, une préoccupation des webmasters. Bien sûr, ces temps sont relatifs et, en réalité, lors du téléchargement d’une page, ses premiers éléments apparaissent sans doute en deça des 2 secondes fatifiques.

La vitesse comme élement fidélisant

Néanmoins, il est intéressant de noter, et l’étude le souligne, que la vitesse peut être un élément de fidélisation de vos clients. Plus le site est rapide et plus l’expérience d’utilisation mémorisée sera agréable et plus les utilisateurs auront tendance à revenir et, mieux encore, à louer les vertus de votre site auprès de leur entourage. C’est pas beau ça ? Petit rappel pour les plus jeunes, à l’aube des années 2000, c’est sur cet élément vitesse que Google avait fait la différence auprès de ses concurrents de l’époque et les avait définitivement distancé.

Les solutions pour optimiser les temps de chargement

  • Choisir un meilleur hébergement : c’est le critère numéro 1. Si vous êtes sur un serveur mutualisé, passez sur un dédié. Si vous êtes sur un dédié, choisissez une machine plus puissante. Si vous êtes déjà sur une machine puissante, prenez plus de bande passante, etc. Evidemment, tout cela dépend de la taille de votre trafic
  • Alléger le poids des images : avec le haut débit encore, la tendance est  lourde à générer des beaux jpeg ou des grands png. Pareil pour le design du site : plus le débit est haut, plus on retrouve des design chargé en petit gif, jpeg, jolis boutons et autres coins arrondis qui font le bonheur du designer, mais « pourrisse » la vitesse de téléchargement. Faites donc le ménage et demandez-vous si tous vos jolis graphismes en valent toujours la peine ou si ils sont là uniquement pour vous faire plaisir
  • Optimiser le code : c’est la partie la plus ardue et aussi la plus traître. Les feuilles css et les scripts javascripts finissent par surcharger votre page. Exemple : les librairies comme Scriptaculous ou MooTools permettent de faire de très jolies effet, mais ajoutent des 10zaines de kilo-octets à toutes vos pages quand ce n’est parfois nécessaire que sur une page. Pareil pour les css, évitez de charger toute votre css pour toutes les pages. Fractionnez-les et utilisez le code nécessaire que lorsqu’il est nécessaire. J’ai entendu dire récemment sur un gros site marchand qu’il ne pouvait plus rajouter de code javascript, car la quantité qui était envoyée au navigateur dépassait sa limite de capacité à traiter ce langage (je ne savais même pas qu’il y avait une limite).

Et vous, votre page, elle se charge en combien de temps ?

Auteur de ce billet : Olivier Sauvage est le fondateur de Capitaine-Commerce.com. En plus de super-héros à collants verts, il propose désormais via weXperience, sa nouvelle web agency, des services autour de la conception et l'optimisation de l'expérience client pour le web.