Czy jest jakiś sposób na poprawę szybkości Google Adsense / Analytics?

13

Ilekroć uruchamiam Google Page Speed ​​lub YSlow, wiele sugerowanych optymalizacji wynika z używania Google Adsense i Google Analytics.

Na przykład YSlow twierdzi, że istnieje „9 zewnętrznych skryptów JavaScript” - mam tylko jeden na swojej stronie, więc pozostałe pochodzą oczywiście z programu AdSense lub analityki. Domeny te są również wymienione w obszarze „Ogranicz liczbę wyszukiwań DNS”:

adresu 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
pikseli. invitemedia.com adadvisor.net

Czy mogę coś zrobić, aby je zmniejszyć lub wprowadzić inne usprawnienia?

DisgruntledGoat
źródło

Odpowiedzi:

8

Google Analytics można skonfigurować tak, aby ładował się asynchronicznie , co pomoże poprawić sytuację. Wygląda na to, że obecnie nie mają podobnego skryptu dla AdSense.

Virtuosi Media
źródło
Czy naprawdę widzisz znaczne opóźnienie w czasie ładowania strony z powodu programu Google Adsense? Mam co do tego wątpliwości.
W starszych przeglądarkach lub źle zaprojektowanych witrynach AdSense może skończyć jako skrypt blokujący, uniemożliwiający pobieranie innych elementów strony aż do zakończenia. Może to również wpłynąć na czas malowania strony. Nie zauważyłem tego wiele; jednak to nie było moje pytanie, tylko DisgruntledGoat. :)
Virtuosi Media,
@Kinopiko: Nie, nie doświadczyłem dużych opóźnień, chociaż jeśli moje połączenie trochę zwolni, będzie to zauważalne podczas ładowania reklam. Jak mówi pytanie, pytam, ponieważ zalecenia w Yslow / PageSpeed ​​dotyczą głównie elementów, których nie jestem w stanie kontrolować.
DisgruntledGoat
Może to być mikrooptymalizacja, ale jeśli podoba Ci się asynchroniczny fragment kodu Google Analytics - sprawdź moją odpowiedź, by uzyskać jeszcze szybszą wersję: webmasters.stackexchange.com/questions/1555/…
por
3

Asynchroniczne ładowanie Google Analytics to dobry początek. Poza tym, jak długo trwa ładowanie strony? Jeśli zajmie Ci to mniej niż 2 sekundy, możesz nie chcieć tracić czasu na jej optymalizację.

Jeśli obawiasz się, że ładuje się wolniej z innego miejsca, sprawdź http://www.webpagetest.org/, aby przetestować swoją stronę pod kątem innych lokalizacji na świecie i innych prędkości Internetu. Ta strona pokazuje także, jak długo trwa ładowanie każdej części witryny.

Musisz pamiętać, że prawdopodobnie ładowanie strony z „idealną prędkością” nie jest przydatne, ponieważ koszty czasu i energii są zbyt wysokie. Jeśli możesz uzyskać swoją stronę poniżej 2 sekund, według Google będziesz w najlepszych 20% witryn i to prawdopodobnie wystarczy. Jeśli nie, sprawdź, gdzie jeszcze możesz zwiększyć szybkość strony. Czasami naprawienie wielu mniejszych rzeczy sprawi, że strona będzie wystarczająco szybka.

Myślę, że najlepszym sposobem jest wybranie nisko wiszącego owocu, a Google Adsense nie jest tak nisko zawieszony. Analiza jest i powinna być łatwa do naprawienia poprzez uczynienie jej asynchroniczną i być może powinieneś to zostawić.

Ben Hoffman
źródło
3

Jeśli podoba Ci się asynchronicznego skryptu Google Analytics , sprawdź optymalizacji Mathias Bynens do niego tutaj . Oczywiście powinieneś być na bieżąco z informacją, czy Google znacząco zmienia fragment - ale na razie jego optymalizacje przyspieszają (dla mnie) o 40% w porównaniu z wersją tego samego skryptu przez Google.

por
źródło
doskonale, przyjrzymy się temu jako ogólny wzorzec kodu dla JavaScript, który chcemy załadować, ale nie blokować (reklamy, w zasadzie ..)
Jeff Atwood
2

Zasadniczo wiele z tych skryptów reklamowych jest celowo „pomijanych w pamięci podręcznej”, dzięki czemu za każdym razem rejestruje widok na serwerze.

Niestety samo użycie programu AdSense oznacza, że ​​otworzyłeś się na wiele zewnętrznych skryptów javascript i naprawdę niewiele możesz na to poradzić poza zmniejszeniem liczby stref reklamowych (TOS dopuszcza tylko 3 na stronę) lub po prostu nie działa AdSense.

Możesz spróbować zapakować javascript do reklam Google we własny hostowany skrypt javascript dla każdej strefy, która wykonała document.write i wygenerowała wymagany kod. Jestem prawie pewien, że spowodowałoby to załadowanie strony po załadowaniu treści, co oznacza, że ​​strona ładuje się pierwsza.

Ruxton
źródło
0

Tylko jeden punkt - jest nowa wersja kodu Google Analytics, która powinna poprawić szybkość ładowania - więc warto się na to zmienić.

Tal Galili
źródło
0

Jeśli jest to problem, możesz załadować stronę bez tych skryptów, a następnie zaimportować skrypty na stronę za pomocą ajax, po pełnym załadowaniu strony

Załóżmy na przykład, że masz pustą pozycję div na swojej stronie:

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

Następnie dodajesz javascript w ten sposób:

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

Dodałem alert JavaScript, abyś mógł zobaczyć, że jest on wykonywany, ale oczywiście zastąpiłbyś go skryptami, które musisz załadować.

W ten sposób możesz mieć pewność, że te zasoby zewnętrzne nie spowalniają ładowania strony ... kosztem załadowania jednego dodatkowego skryptu.

Sylver
źródło
Nie wiedziałem, że $ () jest standardową funkcją JavaScript ...
Tom
@Tom: To nie jest, to JQuery. Czy w dzisiejszych czasach jest ktoś na tyle głupi, by kodować bezpośrednio w JS?
Sylver,
Nie wszyscy domyślnie używają jQuery
Tom
@Tom: to był język w policzek. Tak, dokładniej byłoby powiedzieć „JQuery” niż JavaScript.
Sylver