Les outils de validation comme le service de validation de balisage du W3C ou Google PageSpeed Insights sont utiles pour évaluer objectivement le code et les performances d'un site web. Google, en particulier, influence tout un secteur avec des concepts comme le « contenu visible au chargement de la page » et établit également des directives strictes mais pertinentes concernant la compression et la mise en cache des images. Cependant, ce faisant, Google peut parfois se piéger lui-même.
Le code de suivi JavaScript
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-12350231-1', 'auto');
ga('send', 'pageview');
Intégré par Google Analytics sur le site Web tel que décrit officiellement , Google se plaint d'un manque de mise en cache du navigateur:

Malheureusement, techniquement, cela ne peut être corrigé que par l'hôte du fichier, dans ce cas Google lui-même, et il n'est possible de le réparer qu'avec la solution de contournement suivante: Tout d'abord, vous pliez l'URL
(window,document,'script','//www.google-analytics.com/analytics.js','ga');
à votre propre serveur
(window,document,'script','analytics.js','ga');
et met en place une tâche cron simple via PHP, qui télécharge le dernier fichier .js fraîchement sur son propre serveur chaque jour:
file_put_contents("analytics.js", fopen("https://www.google-analytics.com/analytics.js", 'r'));
Ensuite, vous pouvez affiner la mise en cache afin que PageSpeed ne critique plus l'erreur:
