Web-fr

Fixer Google PageSpeed Eliminate render-blocking JavaScript and CSS in above-the-fold content

Le test Google icon PageSpeed [1] « Eliminate render-blocking JavaScript and CSS in above-the-fold content » vous propose de livrer les fichiers JS et CSS après que le HTML soit entièrement chargé – et, ainsi, de ne pas mettre en pause le chargement HTML pour les télécharger.

Pour retarder le chargement de vos fichiers JS [2], vous pouvez soit ajouter le mot clé async ou defer à vos liens de scripts. Async ne va pas garantir qu’ils sont chargés dans le même ordre – ainsi, si vous avez plusieurs scripts qui doivent s’exécuter l’un après l’autre, defer est préférable pour garantir la séquence :


<script defer type="text/javascript" src="./js/mootools-more-1.4.0.1.js"></script>

Pour que le CSS soit chargé après que le HTML ait été complètement transmis, Googleicon propose [3] ce morceau de code à ajouter à la fin de votre HTML, par exemple après la fermeture du tag footer et avant la fermeture du tag body :


</footer>
    <script>
      var cb = function() {
        var l = document.createElement('link'); l.rel = 'stylesheet';
        l.href = './style.css';
        var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h);
      };
      var raf = requestAnimationFrame || mozRequestAnimationFrame ||
          webkitRequestAnimationFrame || msRequestAnimationFrame;
      if (raf) raf(cb);
      else window.addEventListener('load', cb);
    </script>
</body>

Ceci m’a permis de passer le test Googleicon PageSpeed [1] Eliminate render-blocking JavaScript and CSS in above-the-fold content (avec aussi Leverage browser caching [4]) sur un site web, allant d’un score de 51 sur mobile (Fig 1) à 72 (Fig 2), et de 59 (Fig 3) à 79 sur desktop (Fig 4).

Google Page Speed - Score avant elimination du JS et CSS bloquant l'affichage en amont de 51 sur mobile
Fig 1 : Google Page Speed – Score avant elimination du JS et CSS bloquant l’affichage en amont de 51 sur mobile
Google Page Speed - Score après elimination du JS et CSS bloquant l'affichage en amont de 72 sur mobile
Fig 2 : Google Page Speed – Score après elimination du JS et CSS bloquant l’affichage en amont de 72 sur mobile
Google Page Speed - Score avant elimination du JS et CSS bloquant l'affichage en amont de 59 sur desktop
Fig 3 : Google Page Speed – Score avant elimination du JS et CSS bloquant l’affichage en amont de 59 sur desktop
Google Page Speed - Score après elimination du JS et CSS bloquant l'affichage en amont de 79 de desktop
Fig 4 : Google Page Speed – Score après elimination du JS et CSS bloquant l’affichage en amont de 79 de desktop

Liens et crédits

  • [1] – PageSpeed Insights – developers.google.com
  • [2] – Remove Render-Blocking JavaScript | PageSpeed Insights | Good Developers – developers.google.com
  • [3] – Optimize CSS Delivery | PageSpeed Insights | Good Developers – developers.google.com
  • [4] – Fixer Google PageSpeed améliorer la mise en cache du navigateur avec htaccess – Yoann Bierling, Consultant SAP/Web International – www.ybierling.com

Images