Total Blocking Time et adsense, comment faire SVP?

WRInaute passionné
Bonjour,

depuis deux jours je tente de réduire mon TBT, et le gros gourmand est adsense, sans surprise...

j'ai essayé des trucs mais cela ne donne absolument rien alors que cela devrait fonctionner, je ne comprends pas...

avec async ou defer : échec !

Code:
    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

avec requestIdleCallback : échec !

Code:
requestIdleCallback(function() {
    var script = document.createElement('script');
    script.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";
    document.head.appendChild(script);
});

sauriez vous me donner un coup de pouce ou une piste de réflexion ?

merci de m'avoir lu ;-)
 
WRInaute occasionnel
Bonjour,

Pour ma part, j'utilise simplement cela dans le header (avec autoads et le CMP Adsense Google) :

HTML:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-11111111111" crossorigin="anonymous"></script>

Depuis le 23 août, j'ai quelques pages qui sont depuis 2 ans ... ou plus, en vert (good) dans les core web vitals,qui remontent en orange (need-improvements pour INP). N'ayant rien changé de mon côté sur ce site, je pense que Google travaille sur quelque chose ...

Tu peux peut-être t-aider de cela : https://github.com/GoogleChrome/web-vitals .

Ensuite, si tu es en mesure de fournir des stats avec l'outil ci-dessus, tu peux poster là (sans publier les stats - quelqu'un te les demandera si besoin) :

https://groups.google.com/g/web-vitals-feedback/

Cordialement,

Eric

PS : tu peux également utiliser lighthouse avec Brave Browser et son bouclier activé, ce qui bloquera adsense ... et te permettra de comparer.
 
Dernière édition:
WRInaute passionné
salut

merci pour ta réponse et tes pistes.

mettre ce code async dans le head ne change rien pour ma part.

https://pagespeed.web.dev indique toujours pas loin de 700ms de blocking time sur mobile, avec comme conseil "Réduire l'impact du code tiers adsense"

malgré defer et async, "PageSpeed insight" interprète tout le JS avant de donner son verdict

je sèche
 
WRInaute occasionnel
Je ne sais pas trop si tu dois t'inquieter ou pas : https://github.com/GoogleChrome/lighthouse/issues?q=TBT mais il y a des changements à venir (prochain release à priori) et, peut-être d'autres bugs : https://github.com/GoogleChrome/lighthouse/issues?q=

Attendre la mise à jour de lighthouse pour https://pagespeed.web.dev

Tes core-web-vitals sont très mauvais ou pas ?

Ici, une liste d'outils de "web-performance : https://github.com/GoogleChrome/lig...#lighthouse-integrations-in-web-perf-services

PS : j'ai fait le test avec un site qui était bon (avec adsense) il y a quelques mois - sans changement : 800 ms pour TBT sur mobile maintenant VS autour de 0 auparavant.

PS2 : changement dans la méthode de calcul du TBT depuis le dernier release de lighthouse (même version que sur pagespeed.web.dev) : https://github.com/GoogleChrome/lighthouse/pull/16117/files
 
Dernière édition:
WRInaute occasionnel
Pour Chrome et Brave 128 (à jour), c'est encore LightHouse 12.1.0 : ancienne méthode de calcul du TBT.
Sur https://pagespeed.web.dev c'est LightHouse 12.2.0 : nouvelle méthode de calcul du TBT - Adsense, et les scripts "thirdparty" sont "plus" pris en compte - mieux, je ne sais pas.
 
Nouveau WRInaute
Perso j'utilise du javascript pour mettre un délai avant le chargement de Adsense:

Code:
<script id='flying-scripts' type='text/javascript'>const loadScriptsTimer=setTimeout(loadScripts,4*1000);const userInteractionEvents=['mouseover','keydown','touchstart','touchmove','wheel'];userInteractionEvents.forEach(function(event){window.addEventListener(event,triggerScriptLoader,{passive:!0})});function triggerScriptLoader(){loadScripts();clearTimeout(loadScriptsTimer);userInteractionEvents.forEach(function(event){window.removeEventListener(event,triggerScriptLoader,{passive:!0})})}function loadScripts(){document.querySelectorAll('script,iframe[data-type=\"lazy\"]').forEach(function(elem){elem.setAttribute('src',elem.getAttribute('data-src'))})}</script><script data-ad-client='ca-pub-xxxxxxxxx' data-src='https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js' data-type='lazy'></script>

Ca couine un peu dans la console pour le data-type lazy mais ca fonctionne.
 
Discussions similaires
Haut