Nous accélérons Google PageSpeed ​​à 100 et plus

Google PageSpeed

Astuces simples et utiles qui vous permettront de maximiser votre site Web sans avoir à fouiller dans les métriques Google PageSpeed ​​et Lighthouse.

Javascript

  • Au lieu de JavaScript, essayez d'utiliser les balises HTML5 plus souvent: <type d'entrĂ©e = date>, <type d'entrĂ©e = heure>, DĂ©tails / RĂ©sumĂ© , etc.

    Nous oublions très souvent ou ne connaissons même pas les solutions prêtes à l'emploi intégrées aux navigateurs qui fonctionneront mieux sur différents appareils et qui ne nécessitent pas de code JavaScript supplémentaire.
  • Utilisez la minification du code JavaScript.
  • Essayez de mettre tout votre code JavaScript dans le pied de page ou le chargement retardĂ©, et moins il y a de JavaScript dans <head>, meilleures sont les performances de Google PageSpeed.
  • <script src = "file-path"> nĂ©cessite un accès supplĂ©mentaire au serveur, rappelez-vous ceci.

    Si au lieu d'un fichier JavaScript, insérez le contenu du fichier dans le pied de page:

    <script>   </script> 

    Ensuite, le premier téléchargement sera plus rapide, mais il n'y aura pas de mise en cache du fichier JavaScript.

Chargement retardé

  • Utilisez le chargement paresseux (diffĂ©rĂ©) pour les images, iframe, vidĂ©o, audio, javascript et autres objets similaires. Il doit ĂŞtre inclus pour les Ă©lĂ©ments qui se trouvent dans des fenĂŞtres contextuelles ou sur le deuxième Ă©cran et les Ă©crans suivants de la page.
    À ces fins, il existe de nombreuses bibliothèques: lazyload, lazysizes, autoload, etc.
  • Vous pouvez utiliser le chargement paresseux natif dans Chrome.
  • VK propose de placer une connexion de code JavaScript dans <head> pour que leur widget de commentaire fonctionne, mais cela rĂ©duit Google PageSpeed ​​et la vitesse de chargement des pages.

    Au lieu du code que VK propose:

     <!-- Put this script tag to the <head> of your page --> <script type="text/javascript" src="https://vk.com/js/api/openapi.js?162"></script> <script type="text/javascript"> VK.init({apiId: ID, onlyWidgets: true}); </script> <!-- Put this div tag to the place, where the Comments block will be --> <div id="vk_comments"></div> <script type="text/javascript"> VK.Widgets.Comments("vk_comments", {limit: 10, attach: "*"}); </script> 

    Collez le code légèrement modifié sous le téléchargement différé:

     <div id="vk_comments"></div> <script onload="showvk()" data-aload data-original="https://vk.com/js/api/openapi.js?162"></script> <script> function showvk() { VK.init({apiId: ID, onlyWidgets: true}); VK.Widgets.Comments("vk_comments", {limit: 10, attach: "*"}); } </script> 

    En conséquence, nous obtenons un code qui ne se chargera que lorsque l'écran défilera jusqu'au widget.

    Le code de carte que Google propose d'intégrer sur le site:

     <iframe src="https://www.google.com/maps/embed?pb=!1m14" width="600" height="450" frameborder="0" style="border:0;" allowfullscreen=""></iframe> 

    Si la carte est en pop-up ou loin en pied de page, une personne visitant votre page commencera immédiatement à charger beaucoup de superflu à partir de ce cadre et la vitesse de chargement d'une telle page sera très lente, Google PageSpeed ​​vous donnera un moins et un gros!

    Collez le code légèrement modifié sous le téléchargement différé:

     <iframe data-aload data-original="https://www.google.com/maps/embed?pb=!1m14" width="600" height="450" frameborder="0" style="border:0;" allowfullscreen=""></iframe> 

    Tout se résume à ne pas donner au navigateur src = "" tout de suite, mais seulement quand une personne en a vraiment besoin. Et donc avec tous les objets!

Jquery

  • Si possible, n'utilisez pas Jquery dans vos projets et cela augmentera considĂ©rablement la vitesse de votre site, mais si vous l'utilisez dĂ©jĂ , remplacez-le progressivement par du JavaScript natif pur.
  • Si vous connectez Jquery Ă  <head>, cela bloque l'affichage de la page, car le navigateur attend jusqu'Ă  ce que tout ce qui est dans <head> soit chargĂ©, et alors seulement affiche la page. Mais comme la bibliothèque elle-mĂŞme est petite et Internet est rapide pour tout le monde, cela a peu d'effet sur la vitesse; Google, si elle abaisse la note, c'est environ 0,5, bien qu'avant j'ai tirĂ© 10 ou 20 points pour ça ...
  • Tout le code jquery que vous avez Ă©crit ou les bibliothèques jquery que vous utilisez sont mieux placĂ©s dans le pied de page du site, en raison du blocage de l'affichage. Si vous ne pouvez pas le transfĂ©rer dans le pied de page, vous devriez peut-ĂŞtre utiliser l'exĂ©cution de code retardĂ©e, un article sur ce sujet: utiliser en toute sĂ©curitĂ© .ready () avant d'inclure jQuery .

Les polices

  • Polices Google
    1. Si Google connecte la police depuis longtemps, assurez-vous de la reconnecter, car la présence de & display = swap dans l'URL est importante - c'est une nouvelle option qui affecte Google PageSpeed ​​et elle vous permet d'afficher du texte sur la page avant de charger la police ... pas toujours belle, mais elle augmente vitesse d'affichage du site ... et affecte Google PageSpeed
    2. S'il est possible de remplacer les polices Google par vos propres polices, faites-le, il est préférable que les polices soient sur votre serveur, cela augmente également la vitesse.
    3. Lorsque vous choisissez une police sur Google Fonts, essayez de choisir le minimum d'options, choisissez uniquement ce dont vous avez besoin et si vous n'utilisez pas une police inclinée ou une épaisseur de 200 sur le site, ne sélectionnez pas cette option dans les paramètres, car cela affecterait la vitesse de téléchargement.

  • Polices personnalisĂ©es

    1. Vérifiez l'affichage des polices de style CSS: swap; dans vos polices, Google PageSpeed ​​y prête attention et sous-estime si ce style n'en vaut pas la peine:

       @font-face { font-family: 'Saira Condensed'; src: url(sairacondensed.woff2) format('woff2'); font-display: swap; } 
    2. Si vous connectez des polices via une feuille de style distincte, cela affecte l'heure du premier rendu et réduit les performances de Google PageSpeed, il vaut mieux ne pas le faire:

       <link href="/fonts.css" rel="stylesheet"> 

      Si vous insérez une connexion de police dans <head> via la balise <style>, et non via <link>, cela améliorera la vitesse de téléchargement et les performances de Google PageSpeed, car le navigateur n'aura pas besoin d'accéder séparément à votre feuille de style:

       <head> <title>Demo</title> <style> @font-face { font-family: 'Saira Condensed'; src: url(sairacondensed.woff2) format('woff2'); font-display: swap; } </style> </head> 
    3. Si possible, supprimez toutes les choses inutiles que vous n'utilisez pas de vos fichiers de police afin d'augmenter la vitesse de téléchargement.
    4. Vous pouvez effectuer un chargement de police en deux étapes: Développement d'une stratégie de chargement de police robuste pour les astuces CSS

CSS

  • Essayez de vous dĂ©barrasser de l'excès de code CSS pour les anciens navigateurs, y compris les prĂ©fixes -moz- -o- -ms- -webkit-
  • Essayez de ne pas charger les styles qui ne sont pas utilisĂ©s sur cette page, mais qui sont utilisĂ©s sur d'autres pages du site.
  • Si possible, il vaut la peine de charger des morceaux de code CSS et HTML par un chargement diffĂ©rĂ©.
  • Charger des styles avec <link href = 'st.css' rel = 'stylesheet'> ralentit le chargement de la première page et son rendu, mais permet au navigateur de mettre ce fichier en cache.

    Si vous avez des styles uniques pour chaque page ou plus important pour vous que le premier chargement de page soit un peu plus rapide, alors nous insérons la balise de style au lieu du fichier:

     <style>   </style> 
  • Utilisez la minification CSS, comme Cssresizer ou d'autres outils similaires.

HTML

  • Plus il y a de balises HTML sur la page, plus le navigateur a besoin de ressources pour afficher la page, et cela affecte les performances de Google PageSpeed, mais uniquement si votre page est trop surchargĂ©e de balises.
  • Évitez de surcharger les balises HTML; Google PageSpeed ​​y prĂŞte Ă©galement attention.
  • Cela vaut la peine de nettoyer votre code HTML du code pour les navigateurs plus anciens, car gĂ©nĂ©ralement, c'est un code qui crĂ©e un grand nombre de balises supplĂ©mentaires et imbriquĂ©es.
  • Le nombre de balises et d'imbrication affecte particulièrement fortement Google PageSpeed ​​pour mobile.

Les images

  • Utilisez la balise <picture> pour utiliser des formats d'image modernes (JPEG 2000, JPEG XR et WebP). Google PageSpeed ​​y prĂŞte attention si vous n'avez pas de chargement d'images paresseux.

     <picture> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt=""> </picture> 

    Vous pouvez également utiliser des supports et remplacer différentes images par différentes résolutions et différentes densités de pixels.

     <source media="(max-width: 640px)" srcset="image.png, image-retina.png 2x"> 

    Ceci est utile pour les photos et les vidéos.

    Moins: vous avez besoin de beaucoup d'espace, car vous devrez stocker différents formats d'image (vidéo) et sous différentes résolutions.
  • Utilisez le chargement paresseux pour toutes les images qui se trouvent dans des fenĂŞtres contextuelles ou sur le deuxième Ă©cran et les Ă©crans suivants de la page.
  • Utilisez une compression maximale des images, Google PageSpeed ​​attire Ă©galement l'attention sur ce point. Il existe de nombreux outils de compression, un par exemple: compresseur.io

Paramètres du serveur

  • Activez la mise en cache des fichiers statiques (polices, scripts, images, CSS, etc.), tout en dĂ©finissant l'annĂ©e de mise en cache, sinon Google ne jure que.
  • Activez la compression gzip.
  • Utilisez les en-tĂŞtes HTTP Last-Modified et If-Modified-Since pour mettre en cache les pages.

La communication

  • Les rĂ©sultats dĂ©pendent fortement de la distance de votre serveur par rapport Ă  vous. Si vous ĂŞtes Ă  HawaĂŻ et que le serveur est Ă  Moscou, les rĂ©sultats pour vous seront dĂ©sastreux.
  • Les rĂ©sultats dĂ©pendent de votre serveur et de votre ordinateur et si pendant les tests le serveur ou l'ordinateur Ă©tait surchargĂ© de quelque chose, le rĂ©sultat sera mauvais.

Conclusion

Il est impossible de presser PageSpeed ​​108 points ou plus :)

Il est inutile de serrer mĂŞme 100 points sous le mobile. Nous devons viser 100 et ne pas tomber dans la paranoĂŻa! Ce n'est lĂ  qu'un des nombreux indicateurs importants pour le site.

Vous pouvez voir un exemple de page oĂą les indicateurs pour les mobiles sont 97-98 et 100 pour un ordinateur.

Sur cette page, il y a 2 vidéos YouTube dans des popups et la vidéo n'est activée que lorsque la popup est ouverte.

Toutes les images sont placées en chargement paresseux.

Tout le JavaScript est rendu Ă  partir de <head> dans le pied de page de la page.

Mais en même temps, les éléments suivants sont connectés à <head>: les compteurs Jquery, GoogleFonts et Yandex (Google).

Les styles sont insérés dans la <style> balise des codes de style </style>.

<photo> n'est pas utilisé sur cette page.

Il y a un certain nombre de sections sur la page qui sont présentes sur la page, mais qui ne sont accessibles que par lien direct vers les clients, elles devront être chargées au besoin, ce qui réduira le nombre de code html et css.

Merci de votre attention!

Source: https://habr.com/ru/post/fr467503/


All Articles