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?
źródło
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ć.
źródło
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.
źródło
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.
źródło
Tylko jeden punkt - jest nowa wersja kodu Google Analytics, która powinna poprawić szybkość ładowania - więc warto się na to zmienić.
źródło
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:
Następnie dodajesz javascript w ten sposób:
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.
źródło