Même si le terme « webperf » est très à la mode depuis quelques temps, force est de constater que les temps d’exécution des sites n’ont jamais été aussi catastrophique qu’aujourd’hui.
Les gourmands CMS prêts à l’emploi de type WordPress, Magento ou autres ont là une grande part de responsabilité.
Ils ont démocratisé des temps d’exécution délirants, supérieurs à la seconde et parfois bien au delà.
Une hérésie au vu de la puissance des machines. Quand on pense que l’ordinateur d’Apollo 11 possédait un CPU de 1Mhz et 4Ko de RAM :-)
Par temps d’exécution, nous entendons le temps de génération du HTML par le serveur, sans chargement des images, js ou autres fichiers statiques.
Turpentine, PageCache, WP Super Cache, WP Rocket, W3 Total Cache, (ou même Varnish) … les plugins de mise en cache sont devenu indispensables et agissent en cache misère.
Le problème (au delà du fait que c’est totalement anormal d’avoir un site qui se charge en plus de 1 seconde), c’est qu’avec la plupart de ces systèmes, c’est le visiteur qui génère la mise en cache.
Pour les pages les plus visitées, pas de soucis, elles sont la plupart du temps en cache.
Par contre, Googlebot visite tout type de pages, pas uniquement les plus visitées par les internautes.
Du coup, dans la plupart des cas, c’est Googlebot qui génère la mise en cache.
Ainsi, notre robot d’indexation préféré se prend que des temps de chargement horribles.
Les logs peuvent nous aider à mesurer ce ratio.
Pour cela, on va envoyer une entête HTTP dans la réponse :
header(‘EnCache: Cache OK’); // Si la page est en cache
header(‘EnCache: Cache KO’); // Si la page n’est pas en cache
On va modifier la configuration de nos logs sur Apache en ajoutant la colonne suivante :
« %{EnCache}o
On redémarre le serveur, et c’est bon !
A partir de maintenant, sur chaque ligne de logs, vous pouvez voir si la page a été générée grâce au cache ou pas.
Ensuite, un petit : zgrep Googlebot *.gz | cut -fx | sort | uniq -c
Vous permettra de voir le ration entre en cache / pas en cache pour Googlebot.
Sur les sites que j’ai étudié, on s’aperçoit souvent que Googlebot génère lui même le cache dans plus de 80% des cas.
Quelques solutions :
– Améliorer les performances :-)
– Augmenter la durée du cache
– Crawler vous même le site pour générer le cache de toutes les pages
Hello,
C’est exactement pour cette raison que notre solution (WP Rocket) intègre du préchargement de cache automatique et à la demande.
A chaque création ou mise à jour de contenu, on appelle notre bot pour générer les fichiers supprimés :)
Je ne savais pas, bien vu alors ! :-)
Je confirme que la solution de cache mise en place par WP Rocket est juste canon ! Les bots de Google crawlent désormais 2 fois plus de pages qu’auparavant.
Je me demande même pourquoi WordPress n’intègre pas ce genre de fonctionnalité par défaut…
Salut,
J’avais fait un petit test avec Xenu sur un blog perso ( un wordpress sur un hébergement mutualisé chez OVH)
L’idée c’est d’installer les plugins de cache qui vont bien, de lancer un Xenu et de regarder si les temps de chargement baissent dans Google Webmaster Tools.
C’est édifiant.
Greg
1/ Quelqu’un aurait-il un avis sur le meilleur plugin « cache misère » pour Drupal ? :)
2/ A propos de l’hébergement, je viens de lancer un site WP avec Online.net ; est-ce un bon prestataire, y a-t-il une grande différence avec OVH par exemple ?
Si 1s c’est trop : à combien on estime un « temps de chargement normal » ?
Bonjour,
J’ai suivi le MOOC de Google au sujet de l’optimisation de la vitesse de chargement des pages donc je connais la héorie par contre je souhaitais savoir si votre formation montrais concrètement comment faire des améliorations pour la vitesse de chargement des pages avec le CMS WordPress ?
bonjour à tous,
le temps d’execution de watussi box s’exprime en quoi ? Secondes ? Millisecondes ?
Merci pour votre retour !