Ich bin auf der Suche nach 100/100 auf PageSpeed und bin fast da. Ich versuche, eine gute Lösung zum Zwischenspeichern von Google Analytics zu finden.
Hier ist die Nachricht, die ich bekomme:
Browser-Caching nutzen Durch Festlegen eines Ablaufdatums oder eines Höchstalters in den HTTP-Headern für statische Ressourcen wird der Browser angewiesen, zuvor heruntergeladene Ressourcen nicht über das Netzwerk, sondern von der lokalen Festplatte zu laden. Nutzen Sie das Browser-Caching für die folgenden zwischenspeicherbaren Ressourcen: http://www.google-analytics.com/analytics.js (2 Stunden)
Die einzige Lösung, die ich gefunden habe, war aus dem Jahr 2012 und ich denke nicht, dass es eine gute Lösung ist. Im Wesentlichen kopieren Sie den GA-Code und hosten ihn selbst. Anschließend führen Sie einen Cron-Job aus, um Google einmal täglich erneut zu überprüfen, um den neuesten GA-Code abzurufen und zu ersetzen.
http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/
Was kann ich noch tun, um 100/100 zu erreichen, während ich gleichzeitig Google Analytics verwende?
Danke dir.
quelle
Antworten:
Wenn Google Sie betrügt, können Sie Google zurück betrügen:
Dies ist der Benutzeragent für pageSpeed:
Sie können eine Bedingung einfügen, um zu vermeiden, dass das Analyseskript an PageSpeed gesendet wird:
Natürlich wird es keine wirkliche Verbesserung bringen, aber wenn Ihre einzige Sorge darin besteht, eine 100/100 Punktzahl zu erreichen, wird dies es tun.
quelle
if(navigator.userAgent.indexOf("Speed Insights") == -1) { /* analytics here */ }
{ }
in meinem Beispiel zusammen mit jedem anderen JS verwenden, das GA verwendet (wiega('create', 'UA-XXXXX-Y', 'auto'); ga('send', 'pageview');
oder was auch immer)Es gibt eine Teilmenge der Google Analytics js-Bibliothek namens ga-lite , die Sie nach Belieben zwischenspeichern können.
Die Bibliothek verwendet die öffentliche REST-API von Google Analytics, um die Nutzer-Tracking-Daten an Google zu senden. Sie können mehr aus dem Blog-Beitrag über Ga-Lite lesen .
Haftungsausschluss: Ich bin der Autor dieser Bibliothek. Ich hatte mit diesem speziellen Problem zu kämpfen und das beste Ergebnis war die Implementierung dieser Lösung.
quelle
Hier ist eine wirklich einfache Lösung mit JS für die grundlegende GA-Verfolgung, die auch für Edge-Caches / Proxys funktioniert (dies wurde aus einem Kommentar konvertiert):
Hinweis: Dies ist das Standard-GA-Skript. Möglicherweise haben Sie andere
ga()
Anrufe. In diesem Fall müssen Sie vor dem Anruf immer den Benutzeragenten überprüfenga()
, da sonst ein Fehler auftreten kann.quelle
ga
wiega = function(){};
zuvor deklarieren, dass das Snippet bei der Ausführung stillschweigend fehlschlägt,ga();
damit Sie nicht überall in Ihrem Code die Existenz dieser Funktion überprüfen müssen.Ich würde mir darüber keine Sorgen machen. Stellen Sie es nicht auf Ihren eigenen Server, es klingt so, als wäre dies ein Problem bei Google, aber so gut es geht. Wenn Sie die Datei auf Ihrem eigenen Server ablegen, entstehen viele neue Probleme.
Wahrscheinlich muss die Datei jedes Mal aufgerufen werden, anstatt sie aus dem Cache des Clients abzurufen, da Sie auf diese Weise die Besuche nicht zählen würden.
Wenn Sie ein Problem damit haben, führen Sie die Google Insights-URL auf Google Insights selbst aus, lachen Sie, entspannen Sie sich und machen Sie mit Ihrer Arbeit weiter.
quelle
In den Google-Dokumenten haben sie einen
pagespeed
Filter identifiziert , der das Skript asynchron lädt:Die Dokumentation finden Sie hier: https://developers.google.com/speed/pagespeed/module/filter-make-google-analytics-async
Hervorzuheben ist, dass der Filter als hohes Risiko eingestuft wird. Aus den Dokumenten:
quelle
varvy.com ( 100/100 Google Page Speed Insight ) lädt den Google Analitycs-Code nur, wenn der Benutzer einen Bildlauf durch die Seite erstellt:
quelle
Sie können versuchen, die Datei analysis.js lokal zu hosten und ihren Inhalt mit einem Caching-Skript oder manuell zu aktualisieren.
Die js-Datei wird nur einige Male im Jahr aktualisiert. Wenn Sie keine neuen Tracking-Funktionen benötigen, aktualisieren Sie sie manuell.
https://developers.google.com/analytics/devguides/collection/analyticsjs/changelog
quelle
Speichern Sie localy analyse.js, dies wird jedoch von Google nicht empfohlen: https://support.google.com/analytics/answer/1032389?hl=de
Es wird nicht empfohlen, da Google das Skript aktualisieren kann, wenn sie möchten. Erstellen Sie also einfach ein Skript, das jede Woche Analytics-Javascript herunterlädt, und Sie werden keine Probleme haben!
Übrigens verhindert diese Lösung, dass Adblock Google Analytics-Skripte blockiert
quelle
Sie können das Google Analytics-Skript über Ihren eigenen Server übertragen, lokal speichern und die Datei stündlich automatisch aktualisieren, um sicherzustellen, dass es immer die neueste Version von Google ist.
Ich habe dies jetzt auf einigen Websites getan und alles funktioniert einwandfrei.
Google Analytics-Proxy-Route im NodeJS / MEAN-Stapel
So habe ich es in meinem Blog implementiert , das mit dem MEAN-Stack erstellt wurde.
Google Analytics-Proxy-Aktionsmethode in ASP.NET MVC
So habe ich es auf anderen Sites implementiert, die mit ASP.NET MVC erstellt wurden.
Dies ist das CompressAttribute, das vom MVC ProxyController für die Gzip-Komprimierung verwendet wird
Google Analytics-Skript aktualisiert
Auf der Clientseite füge ich den Analysepfad mit dem aktuellen Datum bis zur vollen Stunde hinzu, damit der Browser keine zwischengespeicherte Version verwendet, die älter als eine Stunde ist.
quelle
Für Nginx:
Ändern Sie dann den Pfad https://www.google-analytics.com/analytics.js in https://yoursite.com/analytics.js
quelle
PHP
Fügen Sie dies in Ihren HTML- oder PHP-Code ein:
JavaScript
Dies funktioniert gut mit JavaScript:
quelle
versuchen Sie dies einfach vorher einfügen
Bitte ändern Sie xx-xxxxxxx-x in Ihren Code. Die Implementierung finden Sie hier http://www.gee.web.id/2016/11/how-to-leverage-browser-caching-for-google-analitycs.html
quelle
Google warnt vor der Verwendung lokaler Kopien der Analtics-Skripte. Wenn Sie dies jedoch tun, möchten Sie wahrscheinlich lokale Kopien der Plugins und des Debug-Skripts verwenden.
Ein zweites Anliegen mit agressiven Caching ist , dass Sie immer Hits von zwischengespeicherten Seiten sein wird - , die sich geändert haben oder aus der Website entfernt worden.
quelle
Um dieses Problem zu beheben, müssten Sie die Datei lokal herunterladen und einen Cron-Job ausführen, um die Aktualisierung fortzusetzen. Hinweis: Dadurch wird Ihre Website überhaupt nicht schneller. Ignorieren Sie sie daher am besten.
Befolgen Sie zu Demonstrationszwecken jedoch dieses Handbuch: http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/
quelle
Dies kann den Trick tun :)
quelle
Abhängig von Ihrer Verwendung von Google Analytics-Daten können Sie, wenn Sie grundlegende Informationen (wie Besuche, Interaktionen mit der Benutzeroberfläche) wünschen, möglicherweise die Datei analyse.js überhaupt nicht einbeziehen und dennoch Daten in GA erfassen.
Eine Möglichkeit besteht darin, stattdessen das Messprotokoll in einem zwischengespeicherten Skript zu verwenden. Google Analytics: Übersicht über das Messprotokoll
Wenn Sie die Transportmethode explizit auf image festlegen, können Sie sehen, wie GA seine eigenen Image Beacons erstellt.
Sie können Ihre eigenen GET- oder POST-Anforderungen mit der erforderlichen Nutzlast erstellen.
Wenn Sie jedoch mehr Details benötigen, lohnt sich Ihre Mühe wahrscheinlich nicht.
quelle
Sie können eine Cloudfront-Distribution einrichten, deren Ursprungsserver www.google-analytics.com ist, und in den Cloudfront-Distributionseinstellungen einen Header mit längerem Ablauf festlegen. Ändern Sie dann diese Domain im Google-Snippet. Dies verhindert die Belastung Ihres eigenen Servers und die Notwendigkeit, die Datei in einem Cron-Job ständig zu aktualisieren.
Dies ist Setup & Vergessen. Vielleicht möchten Sie Cloudfront eine Abrechnungsbenachrichtigung hinzufügen, falls jemand Ihr Snippet "kopiert" und Ihre Bandbreite stiehlt ;-)
Bearbeiten: Ich habe es versucht und es ist nicht so einfach. Cloudfront durchläuft den Cache-Control-Header ohne einfache Möglichkeit, ihn zu entfernen
quelle
Öffnen Sie die Datei https://www.google-analytics.com/analytics.js in einem neuen Tab und kopieren Sie den gesamten Code.
Erstellen Sie nun einen Ordner in Ihrem Webverzeichnis und benennen Sie ihn in Google Analytics um.
Erstellen Sie eine Textdatei im selben Ordner und fügen Sie den gesamten oben kopierten Code ein.
Benennen Sie die Datei ga-local.js um
Ändern Sie nun die URL, um Ihre lokal gehostete Analytics Script-Datei in Ihrem Google Analytics-Code aufzurufen. Es sieht ungefähr so aus, dh https://domain.xyz/google-analytics/ga.js
Fügen Sie schließlich Ihren NEUEN Google Analytics-Code in die Fußzeile Ihrer Webseite ein.
Du bist startklar. Überprüfen Sie jetzt Ihre Website von Google PageSpeed Insights. Die Warnung zum Leverage Browser Caching von Google Analytics wird nicht angezeigt. Das einzige Problem bei dieser Lösung besteht darin, das Analytics-Skript regelmäßig manuell zu aktualisieren.
quelle
Im Jahr 2020 sind die Benutzeragenten von Page Speed Insights: "Chrome-Lighthouse" für Handys und "Google Page Speed Insights" für Desktops.
quelle
Sie können alle Ihre Skripte auf der Seite minimieren, einschließlich der
analytics.js
Verwendung von:Denken Sie daran, die Dateien zu minimieren, bevor Sie sie verwenden. Andernfalls wird mehr Verarbeitungszeit benötigt.
quelle