Gibt es eine Möglichkeit, die Geschwindigkeit von Google Adsense / Analytics zu verbessern?

13

Wenn ich Google Page Speed ​​oder YSlow verwende, sind viele der vorgeschlagenen Optimierungen auf die Verwendung von Google Adsense und Google Analytics zurückzuführen.

Zum Beispiel sagt YSlow, dass es "9 externe Javascript-Skripte" gibt - ich habe nur eines auf meiner Site, der Rest stammt also offensichtlich entweder von Adsense oder Analytics. Auch unter "DNS-Lookups reduzieren" werden diese Domänen aufgelistet:

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

Kann ich irgendetwas tun, um diese zu reduzieren oder die Geschwindigkeit zu verbessern?

Verärgerte Ziege
quelle

Antworten:

8

Google Analytics kann so eingerichtet werden, dass es asynchron geladen wird, um die Situation zu verbessern. Es sieht nicht so aus, als hätten sie derzeit ein ähnliches Skript für AdSense.

Virtuosi Media
quelle
Wird die Ladezeit von Seiten aufgrund von Google AdSense wirklich erheblich verzögert? Daran habe ich Zweifel.
In älteren Browsern oder auf Websites mit schlechtem Design kann AdSense als blockierendes Skript enden und das Herunterladen anderer Seitenelemente verhindern, bis es abgeschlossen ist. Es ist denkbar, dass dies auch die Malzeit der Seite beeinflusst. Ich habe es nicht viel bemerkt; Dies war jedoch nicht meine Frage, sondern die von DisgruntledGoat. :)
Virtuosi Media
@ Kinopiko: Nein, ich habe keine großen Verzögerungen erlebt. Wenn sich meine Verbindung jedoch etwas verlangsamt, ist dies beim Laden der Anzeigen spürbar. Wie die Frage schon sagt, stelle ich eine Frage, da die Empfehlungen in Yslow / PageSpeed ​​hauptsächlich mit Elementen zusammenhängen, die ich nicht sicher beherrsche.
DisgruntledGoat
Dies mag eine Mikrooptimierung sein, aber wenn Sie das asynchrone Google Analytics-Snippet mögen, lesen Sie meine Antwort für eine noch schnellere Version: webmasters.stackexchange.com/questions/1555/…
leek
3

Das asynchrone Laden von Google Analytics ist ein guter Anfang. Wie lange dauert es darüber hinaus, bis Ihre Seite geladen ist? Wenn Sie weniger als 2 Sekunden benötigen, möchten Sie möglicherweise nicht mehr die Zeit damit verbringen, die Seite zu optimieren.

Wenn Sie befürchten, dass der Ladevorgang an anderer Stelle langsamer wird, lesen Sie http://www.webpagetest.org/ , um Ihre Seite mit anderen Standorten auf der ganzen Welt und anderen Internetgeschwindigkeiten zu vergleichen. Auf dieser Seite sehen Sie auch, wie lange es dauert, bis ein Teil Ihrer Website geladen ist.

Sie müssen bedenken, dass es wahrscheinlich nicht sinnvoll ist, Ihre Seite mit einer "perfekten Geschwindigkeit" zu laden, da die Kosten für Zeit und Energie zu hoch sind. Wenn Sie Ihre Seite nach Angaben von Google unter 2 Sekunden bringen können, befinden Sie sich in den Top 20% der Websites, und das ist wahrscheinlich gut genug. Wenn nicht, schauen Sie, wo Sie sonst Ihre Seitengeschwindigkeit erhöhen können. Manchmal macht es Sie schnell genug, ein paar kleinere Dinge zu reparieren.

Ich denke, der beste Weg, es auszudrücken, ist, die niedrig hängenden Früchte zu pflücken, und Google Adsense ist nicht wirklich niedrig hängend. Analytics ist und sollte einfach zu reparieren sein, indem es asynchron gemacht wird. Vielleicht sollten Sie es dabei belassen.

Ben Hoffman
quelle
3

Wenn Sie das asynchrone Google Analytics-Skript mögen, lesen Sie hier die Mathias Bynens-Optimierung . Natürlich sollten Sie immer auf dem Laufenden bleiben, ob Google das Snippet erheblich verändert - aber seine Optimierungen bringen vorerst (für mich) eine 40-prozentige Beschleunigung gegenüber Googles Version desselben Skripts.

Lauch
quelle
Ausgezeichnet, wir werden dies als allgemeines Codemuster für JavaScript betrachten, das wir laden, aber nicht blockieren möchten (Anzeigen, im Grunde ..)
Jeff Atwood
2

Im Allgemeinen werden viele dieser Anzeigenskripte absichtlich im Cache abgelegt, sodass jedes Mal ein Treffer auf dem Server erfolgt, um die Ansicht zu registrieren.

Leider bedeutet die Verwendung von AdSense, dass Sie sich für eine Menge externer Java-Skripte geöffnet haben und wirklich nicht viel tun können, außer die Anzahl der Werbezonen zu verringern (TOS erlaubt ohnehin nur 3 pro Seite) oder einfach läuft nicht adsense.

Sie können versuchen, Ihr JavaScript für Google-Anzeigen in Ihrem eigenen gehosteten JavaScript für jede Zone einzuschließen, in der document.write ausgeführt wurde, und den erforderlichen Code ausgeben. Ich bin mir ziemlich sicher, dass dies dazu führen würde, dass die Seite geladen wird, nachdem der Body geladen wurde. Das bedeutet, dass Ihre Seite zuerst geladen wird.

Ruxton
quelle
0

Nur ein Punkt: Es gibt eine neue Version von Google Analytics-Code, die die Ladegeschwindigkeit verbessern soll. Es könnte sich also lohnen, diese zu ändern.

Tal Galili
quelle
0

Wenn dies ein Problem darstellt, können Sie die Seite ohne diese Skripte laden und die Skripte dann mit Ajax in die Seite importieren, nachdem die Seite vollständig geladen wurde

Nehmen wir zum Beispiel an, Sie haben ein leeres div auf Ihrer Seite:

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

Und Sie fügen dann das Javascript wie folgt hinzu:

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

Ich habe eine JavaScript-Warnung hinzugefügt, damit Sie sehen können, dass sie ausgeführt wird, aber Sie würden sie natürlich durch die Skripte ersetzen, die Sie laden müssen.

Auf diese Weise können Sie sicher sein, dass diese externen Ressourcen das Laden Ihrer Seite nicht verlangsamen - und zwar auf Kosten des Ladens eines zusätzlichen Skripts.

Sylver
quelle
Ich wusste nicht, dass $ () eine Standard-JavaScript-Funktion ist ...
Tom
@Tom: Nein, es ist JQuery. Gibt es jemanden, der dumm genug ist, um in diesen Tagen direkt in JS zu programmieren?
Sylver
Nicht jeder verwendet standardmäßig jQuery
Tom
@ Tom: das war Zunge in der Wange. Ja, es wäre genauer gewesen, "JQuery" als JavaScript zu sagen.
Sylver