Existe-t-il un moyen d'améliorer la vitesse de Google Adsense / Analytics?

13

Chaque fois que je lance Google Page Speed ​​ou YSlow, bon nombre des optimisations suggérées découlent de mon utilisation de Google Adsense et de Google Analytics.

Par exemple, YSlow dit qu'il y a "9 scripts Javascript externes" - je n'en ai qu'un sur mon site, donc le reste provient évidemment d'Adsense ou d'Analytics. Également sous "Réduire les recherches DNS", ces domaines sont répertoriés:

pagead2.googlesyndication.com
googleads.g.doubleclick.net
www.google-analytics.com
altfarm.mediaplex.com
img-cdn.mediaplex.com
eu.bid.invitemedia.com
ad.doubleclick.net s0.2mdn.net
pixel. invitemedia.com adadvisor.net

Puis-je faire quelque chose pour les réduire ou apporter d'autres améliorations à la vitesse?

Chèvre mécontente
la source

Réponses:

8

Google Analytics peut être configuré pour qu'il se charge de manière asynchrone , ce qui contribuera à améliorer la situation. Il ne semble pas qu'ils disposent actuellement d'un script similaire pour AdSense.

Virtuosi Media
la source
Voyez-vous vraiment un retard important dans les temps de chargement des pages en raison de Google Adsense? J'en doute.
Sur les navigateurs plus anciens ou les sites mal conçus, AdSense pourrait se terminer comme un script de blocage, empêchant le téléchargement d'autres éléments de la page jusqu'à ce qu'il soit terminé. Cela pourrait également affecter le temps de peinture de la page. Je ne l'ai pas beaucoup remarqué; cependant, ce n'était pas ma question, c'était celle de DisgruntledGoat. :)
Virtuosi Media
@Kinopiko: Non, je n'ai pas connu de gros retards, bien que si ma connexion ralentit un peu, cela se remarque au chargement des annonces. Comme le dit la question, je pose la question car les recommandations dans Yslow / PageSpeed ​​sont principalement liées à des éléments que je ne suis pas sûr de pouvoir contrôler.
DisgruntledGoat
Cela peut être une micro-optimisation, mais si vous aimez l'extrait de code Google Analytics asynchrone - consultez ma réponse pour une version encore plus rapide: webmasters.stackexchange.com/questions/1555/…
leek
3

Le chargement asynchrone de Google Analytics est un bon début. Au-delà de cela, combien de temps faut-il pour charger votre page? Si la page vous prend moins de 2 secondes, vous ne voudrez peut-être plus passer le temps à l'optimiser.

Si vous craignez qu'il ne se charge plus lentement ailleurs, consultez http://www.webpagetest.org/ pour tester votre page par rapport à d'autres emplacements dans le monde et à d'autres vitesses Internet. Cette page vous montrera également combien de temps chaque morceau de votre site prend à charger.

Vous devez vous rappeler qu'il n'est probablement pas utile de charger votre page à une "vitesse parfaite" car le coût en temps et en énergie est trop élevé. Si vous pouvez obtenir votre page en moins de 2 secondes, selon Google, vous serez dans le top 20% des sites Web, ce qui est probablement suffisant. Sinon, regardez où vous pouvez augmenter la vitesse de votre page. Parfois, réparer un tas de petites choses rendra votre site assez rapide.

La meilleure façon de le dire, je pense, est de cueillir les fruits bas et Google Adsense n'est pas vraiment bas. Analytics est et devrait être assez facile à corriger en le rendant asynchrone et vous devriez peut-être en rester là.

Ben Hoffman
la source
3

Si vous aimez le scénario Google Analytics asynchrone , consultez l' optimisation Mathias Bynens lui ici . Évidemment, vous devez vous tenir au courant si Google modifie l'extrait de code de manière significative - mais pour l'instant, ses optimisations produisent une accélération de 40% (pour moi) par rapport à la version Google du même script.

poireau
la source
excellent, nous examinerons cela comme un modèle de code général pour JavaScript que nous voulons charger mais pas bloquer (annonces, essentiellement ..)
Jeff Atwood
2

Généralement, un grand nombre de ces scripts publicitaires sont «contournés du cache» à dessein, de sorte qu'un hit est fait au serveur à chaque fois pour enregistrer la vue.

Malheureusement, le simple fait d'utiliser adsense signifie que vous vous êtes ouvert à un tas de javascripts externes et il n'y a vraiment pas grand-chose à faire à part réduire le nombre de zones publicitaires (TOS autorise seulement 3 par page de toute façon) ou tout simplement ne pas exécuter adsense.

Vous pouvez essayer d'emballer votre javascript Google Ads dans votre propre javascript hébergé pour chaque zone qui a fait un document.write et sortir le code requis. Je suis sûr que cela entraînerait le chargement après le chargement du corps et signifierait donc que votre page se chargerait en premier.

Ruxton
la source
0

Juste un point - il existe une nouvelle version du code Google Analytics qui devrait améliorer sa vitesse de chargement - il pourrait donc être utile de changer cela.

Tal Galili
la source
0

S'il s'agit d'un problème, vous pouvez charger la page sans ces scripts, puis importer les scripts dans la page à l'aide d'ajax, une fois la page entièrement chargée.

Par exemple, supposons que votre div soit vide sur votre page, comme ceci:

<div id="adsenseBanner"></div>

Et vous ajoutez ensuite le javascript comme ceci:

$(document).ready(function(){
    $('#adsenseBanner').append('<script>alert("this");</script>')
});

J'ai ajouté une alerte JavaScript pour que vous puissiez voir qu'elle est en cours d'exécution, mais bien sûr, vous devez la remplacer par les scripts que vous devez charger.

De cette façon, vous pouvez être sûr que ces ressources externes ne ralentissent pas le chargement de votre page ... au prix du chargement d'un script supplémentaire.

Sylver
la source
Je ne savais pas que $ () était une fonction JavaScript standard ...
Tom
@Tom: Ce n'est pas, c'est JQuery. Y a-t-il quelqu'un de stupide pour coder directement dans JS ces jours-ci?
Sylver
Tout le monde n'utilise pas jQuery par défaut
Tom
@Tom: c'était de la langue dans la joue. Oui, il aurait été plus précis de dire "JQuery" plutôt que JavaScript.
Sylver