Google Analytics के कारण पेजस्पीड इनसाइट्स 99/100 - मैं GA को कैश कैसे कर सकता हूं?


243

मैं पेजस्पेड पर 100/100 तक पहुंचने के लिए एक खोज पर हूं और मैं लगभग वहां हूं। मैं Google Analytics को कैश करने के लिए एक अच्छा समाधान खोजने की कोशिश कर रहा हूं।

यह संदेश मुझे प्राप्त हुआ है:

लीवरेज ब्राउज़र कैशिंग एक समाप्ति की तारीख या स्थैतिक संसाधनों के लिए HTTP हेडर में अधिकतम आयु सेट करना ब्राउज़र को नेटवर्क के बजाय स्थानीय डिस्क से पहले से डाउनलोड किए गए संसाधनों को लोड करने का निर्देश देता है। निम्न कैशेबल संसाधनों के लिए लीवरेज ब्राउज़र कैशिंग: http://www.google-analytics.com/analytics.js (2%)

एकमात्र समाधान जो मुझे मिला है वह 2012 से था और मुझे नहीं लगता कि यह एक अच्छा समाधान है। अनिवार्य रूप से आप GA कोड को कॉपी करते हैं और इसे स्वयं होस्ट करते हैं। फिर आप नवीनतम GA कोड को हथियाने और इसे बदलने के लिए दिन में एक बार Google को फिर से जाँचने के लिए एक क्रॉन जॉब चलाते हैं।

http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/

Google Analytics का उपयोग करते हुए मैं 100/100 तक पहुंचने के लिए और क्या कर सकता हूं?

धन्यवाद।


1
मैंने क्रोन विधि का उपयोग किया, बिना क्रोन उपयोग (भार और कैश ऑनलोड। मैं अगर आप चाहता हूं तो पीएचपी कोड साझा कर सकता हूं)। और मुझे मेरा GA फिक्सिंग सुझाव तय हो गया। लेकिन थोड़ी समस्या वहां रह गई: मैंने "कैश-कंट्रोल: अधिकतम-आयु = 604800" हेडर छोड़ दिया। जो बहुत अधिक है तो 5 मिनट कैश।
रोमन लोसेव

6
हालांकि यह वास्तव में एक अच्छा विचार है? अपने सर्वर पर इस फ़ाइल को कैशिंग करने का अर्थ है कि ब्राउज़र को Google Analytics का उपयोग करके अन्य साइटों पर जाकर पहले से कैश की गई री-यूज़ के बजाय इसे फिर से डाउनलोड करना होगा। तो यह वास्तव में आपके आगंतुकों को थोड़ा धीमा कर सकता है।
s427

जवाबों:


241

ठीक है, अगर Google आपको धोखा दे रहा है, तो आप Google को वापस धोखा दे सकते हैं:

यह pageSpeed ​​के लिए उपयोगकर्ता-एजेंट है:

“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.8 (KHTML, like Gecko; Google Page Speed Insights) Chrome/19.0.1084.36 Safari/536.8”

आप PageSpeed ​​को एनालिटिक्स स्क्रिप्ट की सेवा से बचने के लिए एक सशर्त सम्मिलित कर सकते हैं:

<?php if (!isset($_SERVER['HTTP_USER_AGENT']) || stripos($_SERVER['HTTP_USER_AGENT'], 'Speed Insights') === false): ?>
// your analytics code here
<?php endif; ?>

जाहिर है, यह कोई वास्तविक सुधार नहीं करेगा, लेकिन अगर आपकी एकमात्र चिंता 100/100 स्कोर हो रही है तो यह ऐसा करेगा।


4
चतुर ...... अफ़सोस कि मैं एज कैचिंग का उपयोग करता हूँ क्योंकि यह स्क्रिप्ट तभी काम करेगी जब अनुरोध आपके अनुरोध के लिए आपके मूल तक पहुँच जाएँ :(
एमी नेविल

49
इसे जेएस के माध्यम से लोड करें :)if(navigator.userAgent.indexOf("Speed Insights") == -1) { /* analytics here */ }
हाफ क्रैजेड

1
@Jim देखें stackoverflow.com/questions/10734968/… - आप { }मेरे उदाहरण के अंदर इस विधि का उपयोग करेंगे , साथ ही कोई अन्य JS जिसे GA उपयोग करता है (जैसे ga('create', 'UA-XXXXX-Y', 'auto'); ga('send', 'pageview');या जो भी)
अर्ध क्रेज़

1
@Jim मैंने एक उत्तर जोड़ा है जो इसे कवर करता है।
आधा पागल

6
चेतावनी: यह अब काम नहीं करता है। पेज स्पीड इनसाइट्स जो कि लाइटहाउस द्वारा संचालित है, एक डिफ़ॉल्ट यूजरएजेंट का उपयोग करता है, जिसे अब और नहीं पहचाना जा सकता है।
डेविड विल्हुबर

39

Google Analytics js लाइब्रेरी का एक उप-समूह है, जिसे Ga-lite कहा जाता है, जिसे आप अपनी इच्छानुसार कैश कर सकते हैं।

लाइब्रेरी Google को उपयोगकर्ता ट्रैकिंग डेटा भेजने के लिए Google Analytics के सार्वजनिक REST API का उपयोग करता है। आप Ga-lite के बारे में ब्लॉग पोस्ट से अधिक पढ़ सकते हैं ।

अस्वीकरण: मैं इस पुस्तकालय का लेखक हूं। मैं इस विशिष्ट समस्या से जूझ रहा था और मुझे जो सबसे अच्छा परिणाम मिला, वह था इस समाधान को लागू करना।


21

यहाँ मूल GA ट्रैकिंग के लिए JS का उपयोग करते हुए एक बहुत ही सरल उपाय है, जो एज कैश / प्रॉक्सी के लिए भी काम करेगा (यह एक टिप्पणी से परिवर्तित किया गया था):

if(navigator.userAgent.indexOf("Speed Insights") == -1) {
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXXX-X', 'auto');
  ga('send', 'pageview');
}

नोट: यह डिफ़ॉल्ट GA स्क्रिप्ट है। आपके पास अन्य ga()कॉल हो सकते हैं , और यदि ऐसा है, तो आपको कॉल करने से पहले उपयोगकर्ता एजेंट को हमेशा जांचना होगा ga(), अन्यथा यह त्रुटि हो सकती है।


2
पर प्रतिक्रिया "ध्यान दें:" अनुभाग में, आप घोषणा कर सकते हैं gaके रूप में ga = function(){};टुकड़ा चुपचाप विफल से पहले जब के रूप में मार डाला ga();, ताकि आप अपने कोड में हर जगह इस समारोह के अस्तित्व की जाँच करने की जरूरत नहीं है।
इस्तवान पेलिंक दास

1
कैसे लिपि में जोड़ने के लिए <script async src = " googletagmanager.com/gtag/js?id=UA-xx6600xx-1"></... >
Navnish भारद्वाज

16

मुझे इसकी चिंता नहीं होगी। इसे अपने सर्वर पर न रखें, ऐसा लगता है कि यह Google के साथ एक समस्या है, लेकिन जैसा कि यह अच्छा है। अपने खुद के सर्वर पर फ़ाइल डालने से कई नई समस्याएं पैदा होंगी।

संभवतः उन्हें क्लाइंट के कैश से प्राप्त करने के बजाय फ़ाइल को हर बार कॉल करने की आवश्यकता होती है, क्योंकि इस तरह से आप विज़िट की गणना नहीं करेंगे।

यदि आपको इसके साथ ठीक महसूस करने की समस्या है, तो Google अंतर्दृष्टि पर Google इनसाइट URL चलाएं, हंसें, आराम करें और अपने काम पर लग जाएँ।


68
वह जानना चाहता है कि वह 100 तक कैसे पहुंच सकता है, अगर 99 ठीक नहीं है।
एरिक एंगलहार्ट

4
यह उत्तर सही नहीं है, जहां Analytics.js फ़ाइल डाउनलोड की जाती है, यह इस बात पर प्रभाव नहीं डालती है कि क्या एनालिटिक्स ट्रैक करता है या नहीं। अपनी खुद की एनालिटिक्स फ़ाइल की मेजबानी करने का मुद्दा यह है कि आपको हमेशा नवीनतम संस्करण (वर्ष में कुछ बार) को मैन्युअल रूप से अपडेट करना होगा।
मैथ्यू डोलमैन

1
धन्यवाद मैथ्यू कि बाहर इशारा करने के लिए। जाहिरा तौर पर मैं गलत था, जो अच्छा है, लेकिन फिर भी मुझे नहीं लगता कि इस फाइल को अपने सर्वर पर होस्ट करना एक अच्छा विचार है क्योंकि मैं सोच सकता हूं कि यह बहुत सारी नई समस्याएं पैदा करेगा। ओपी सवाल था कि पेजस्पीड पर 100 कैसे प्राप्त किया जा सकता है और मेरा उत्तर उस 100 पर पहुंचने के बारे में चिंता करने का नहीं है। यह वास्तव में परेशान करने वाला उत्तर हो सकता है, लेकिन यह मैं ही हूं।
लियो मुलर

3
99 सोचकर हार गए लोगों के लिए अच्छा जवाब पर्याप्त नहीं है। बेहतर वास्तविक समस्याओं पर अपना समय समर्पित करें।
linqu

@ErickEngelhardt आप सही हैं, लेकिन यदि लोग आपसे एक सवाल पूछते हैं कि आपको लगता है कि वे सबसे अच्छे लक्ष्य के लिए लक्ष्य नहीं बना रहे हैं, तो आपको उन्हें एक सिर देना चाहिए जो समाधान उन्हें बेहतर सेवा दे सकता है।
पर्यवेक्षक

10

Google डॉक्स में, उन्होंने एक pagespeedफिल्टर की पहचान की है जो स्क्रिप्ट को अतुल्यकालिक रूप से लोड करेगा:

ModPagespeedEnableFilters make_google_analytics_async

आप यहाँ दस्तावेज़ पा सकते हैं: https://developers.google.com/speed/pagespeed/module/filter-make-google-analytics-async

हाइलाइट करने के लिए एक बात यह है कि फ़िल्टर को उच्च जोखिम माना जाता है। डॉक्स से:

Make_google_analytics_async फ़िल्टर प्रायोगिक है और इसका वास्तविक वास्तविक परीक्षण नहीं हुआ है। एक मामला जहां एक फिर से लिखना त्रुटियों का कारण होगा यदि फ़िल्टर Google Analytics से कॉल करता है जो मान लौटाता है। यदि ऐसी विधियाँ पाई जाती हैं, तो पुनर्लेखन को छोड़ दिया जाता है। हालांकि, अयोग्य तरीकों को याद किया जाएगा यदि वे लोड से पहले आते हैं, तो "ऑनक्लिक" जैसी विशेषताओं में हैं, या यदि वे बाहरी संसाधनों में हैं। उन मामलों के दुर्लभ होने की उम्मीद है।


7

varvy.com ( 100/100 गूगल पेज स्पीड इनसाइट ) ने गूगल एनालिटिक्स कोड को केवल तभी लोड किया जब उपयोगकर्ता पेज का एक स्क्रॉल बनाता है:

var fired = false;

window.addEventListener("scroll", function(){
    if ((document.documentElement.scrollTop != 0 && fired === false) || (document.body.scrollTop != 0 && fired === false)) {

        (function(i,s,o,g,r,a,m{i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

        ga('create', 'UA-XXXXXXXX-X', 'auto');
        ga('send', 'pageview');

        fired = true;
    }
}, true);

7
क्या होगा अगर आगंतुक स्क्रॉल नहीं करता है लेकिन सिर्फ एक लिंक पर क्लिक करें। उसे एनालिटिक्स में नहीं गिना जाएगा।
रॉस इवान्सटिव

@RossIvantsiv आप क्लिक भी संभाल सकते हैं!
ar099968

6

आप स्थानीय स्तर पर analytics.js को होस्ट करने और कैशिंग स्क्रिप्ट या मैन्युअल रूप से सामग्री को अपडेट करने का प्रयास कर सकते हैं।

Js फ़ाइल को वर्ष में केवल कुछ ही बार अपडेट किया जाता है और यदि आपको किसी नई ट्रैकिंग सुविधा की आवश्यकता नहीं है, तो इसे मैन्युअल रूप से अपडेट करें।

https://developers.google.com/analytics/devguides/collection/analyticsjs/changelog


2
चेतावनी दें कि यह स्पष्ट रूप से Google द्वारा समर्थित नहीं है: support.google.com/analytics/answer/1032389?hl=en
स्टील

6

स्थानीय एनालिटिक्स को संग्रहीत करें। js, लेकिन यह Google द्वारा अनुशंसित नहीं है: https://support.google.com/analytics/answer/1032389?hl=hi

यह अनुशंसित नहीं है क्योंकि Google स्क्रिप्ट को अपडेट कर सकता है जब वे चाहते हैं, इसलिए बस एक स्क्रिप्ट करें जो प्रत्येक सप्ताह एनालिटिक्स जावास्क्रिप्ट डाउनलोड करें और आपको परेशानी नहीं होगी!

वैसे यह समाधान एडब्लॉक को गूगल एनालिटिक्स स्क्रिप्ट को ब्लॉक करने से रोकता है


यह एडब्लॉक को पूरी तरह से बायपास नहीं करता है (यह अभी भी अजाक्स कॉल को ब्लॉक करता है), लेकिन कम से कम आपको सत्र और पृष्ठ दृश्य
मिलते

5

आप अपने स्वयं के सर्वर के माध्यम से Google विश्लेषिकी स्क्रिप्ट को प्रॉक्सी कर सकते हैं, इसे स्थानीय रूप से सहेज सकते हैं और यह सुनिश्चित करने के लिए हर घंटे फ़ाइल को अपडेट कर सकते हैं कि यह हमेशा Google से नवीनतम संस्करण है।

मैंने इसे अभी कुछ साइटों पर किया है और सभी ठीक काम कर रहे हैं।

NodeJS / MEAN स्टैक में Google Analytics प्रॉक्सी रूट

इसे मैंने अपने ब्लॉग पर लागू किया है जो MEAN स्टैक के साथ बनाया गया है।

router.get('/analytics.js', function (req, res, next) {
    var fileUrl = 'http://www.google-analytics.com/analytics.js';
    var filePath = path.resolve('/content/analytics.js');

    // ensure file exists and is less than 1 hour old
    fs.stat(filePath, function (err, stats) {
        if (err) {
            // file doesn't exist so download and create it
            updateFileAndReturn();
        } else {
            // file exists so ensure it's not stale
            if (moment().diff(stats.mtime, 'minutes') > 60) {
                updateFileAndReturn();
            } else {
                returnFile();
            }
        }
    });

    // update file from remote url then send to client
    function updateFileAndReturn() {
        request(fileUrl, function (error, response, body) {
            fs.writeFileSync(filePath, body);
            returnFile();
        });
    }

    // send file to client
    function returnFile() {
        res.set('Cache-Control', 'public, max-age=' + oneWeekSeconds);
        res.sendFile(filePath);
    }
});

ASP.NET MVC में Google Analytics प्रॉक्सी एक्शन विधि

इस प्रकार मैंने इसे ASP.NET MVC के साथ निर्मित अन्य साइटों पर लागू किया।

public class ProxyController : BaseController
{
    [Compress]
    public ActionResult GoogleAnalytics()
    {
        var fileUrl = "https://ssl.google-analytics.com/ga.js";
        var filePath = Server.MapPath("~/scripts/analytics.js");

        // ensure file exists 
        if (!System.IO.File.Exists(filePath))
            UpdateFile(fileUrl, filePath);

        // ensure file is less than 1 hour old
        var lastModified = System.IO.File.GetLastWriteTime(filePath);
        if((DateTime.Now - lastModified).TotalMinutes > 60)
            UpdateFile(fileUrl, filePath);

        // enable caching for 1 week for page speed score
        Response.AddHeader("Cache-Control", "max-age=604800");

        return JavaScript(System.IO.File.ReadAllText(filePath));
    }

    private void UpdateFile(string fileUrl, string filePath)
    {
        using (var response = WebRequest.Create(fileUrl).GetResponse())
        using (var dataStream = response.GetResponseStream())
        using (var reader = new StreamReader(dataStream))
        {
            var body = reader.ReadToEnd();
            System.IO.File.WriteAllText(filePath, body);
        }
    }
}

यह Gzip सम्पीडन के लिए MVC ProxyController द्वारा इस्तेमाल किया जाने वाला कंप्रेसएट्रिब्यूट है

public class CompressAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {

        var encodingsAccepted = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
        if (string.IsNullOrEmpty(encodingsAccepted)) return;

        encodingsAccepted = encodingsAccepted.ToLowerInvariant();
        var response = filterContext.HttpContext.Response;

        if (encodingsAccepted.Contains("gzip"))
        {
            response.AppendHeader("Content-encoding", "gzip");
            response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
        }
        else if (encodingsAccepted.Contains("deflate"))
        {
            response.AppendHeader("Content-encoding", "deflate");
            response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
        }
    }
}

अद्यतित Google Analytics स्क्रिप्ट

क्लाइंट की ओर से मैं एनालिटिक्स पथ को वर्तमान तिथि के साथ घंटे तक जोड़ता हूं, इसलिए ब्राउज़र एक घंटे से अधिक पुराने कैश्ड संस्करण का उपयोग नहीं करेगा।

<!-- analytics -->
<script>
    (function (i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
            (i[r].q = i[r].q || []).push(arguments)
        }, i[r].l = 1 * new Date(); a = s.createElement(o),
        m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
    })(window, document, 'script', '/analytics.js?d=' + new Date().toISOString().slice(0, 13), 'ga');
</script>


4

पीएचपी

इसे अपने HTML या PHP कोड में जोड़ें:

<?php if (!isset($_SERVER['HTTP_USER_AGENT']) || stripos($_SERVER['HTTP_USER_AGENT'], 'Speed Insights') === false): ?>
  <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-PUT YOUR GOOGLE ANALYTICS ID HERE', 'auto');
    ga('send', 'pageview');
  </script>
<?php endif; ?>

जावास्क्रिप्ट

यह जावास्क्रिप्ट के साथ ठीक काम करता है:

  <script>
  if(navigator.userAgent.indexOf("Speed Insights") == -1) {
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-<PUT YOUR GOOGLE ANALYTICS ID HERE>', 'auto');
    ga('send', 'pageview');
  }
  </script>

निलोवेलेज़ ने पहले ही कहा: जाहिर है, यह कोई वास्तविक सुधार नहीं करेगा, लेकिन अगर आपकी एकमात्र चिंता 100/100 स्कोर हो रही है तो यह ऐसा करेगी।


1

इससे पहले डालने का प्रयास करें

<script async='async' src='https://cdn.jsdelivr.net/ga-lite/latest/ga-lite.min.js'></script> <script>var galite=galite||{};galite.UA="xx-xxxxxxx-x";</script>

कृपया अपने कोड में xx-xxxxxxx-x बदलें, कृपया यहां लागू करने के लिए देखें


1
विदित हो कि यह मानक विश्लेषण के बजाय गै-लाइट के लिए है
रोब फॉरेस्ट

0

Google एनालिटिक्स स्क्रिप्ट की स्थानीय प्रतियों का उपयोग करने के खिलाफ चेतावनी देता है । हालाँकि यदि आप ऐसा कर रहे हैं, तो आप शायद प्लगइन्स और डिबग स्क्रिप्ट की स्थानीय प्रतियों का उपयोग करना चाहेंगे।

एग्रेसिव कैशिंग के साथ एक दूसरी चिंता यह है कि आपको कैश्ड पृष्ठों से हिट मिलेंगे - जो कि साइट से बदल दिए गए या हटा दिए गए हो सकते हैं।


0

इस समस्या को ठीक करने के लिए आपको फ़ाइल को स्थानीय रूप से डाउनलोड करना होगा और अपडेट रखने के लिए क्रॉन जॉब चलाना होगा। नोट: यह आपकी वेबसाइट को किसी भी तेजी से नहीं बनाता है इसलिए इसे अनदेखा करना सबसे अच्छा है।

प्रदर्शन उद्देश्यों के लिए, हालांकि इस गाइड का पालन करें: http://diywpblog.com/lepret-browser-cache-optimize-google-analytics/


"यह आपकी वेबसाइट को किसी भी तेजी से नहीं बनाता है" यह जरूरी नहीं कि सच है। सिद्धांत रूप में, गैर-महत्वपूर्ण संक्षिप्त रूप में जेएस को विश्लेषित करने के लिए जेएसएल में एक फाइल शामिल है, जिसे साझा शब्दकोश के कारण अलग किए गए एनालिटिक्स फ़ाइल की तुलना में थोड़ा छोटा होना चाहिए। शायद इससे ज्यादा परेशानी की बात है।
रे फॉस

0

यह चाल हो सकती है :)

<script>
  $.ajax({
  type: "GET",
  url: "https://www.google-analytics.com/analytics.js",
  success: function(){},
  dataType: "script",
  cache: true
  });
</script>

0

Google Analytics डेटा के आपके उपयोग के आधार पर, यदि आप मूलभूत जानकारी (जैसे विज़िट, UI इंटरैक्शन) चाहते हैं, तो आप एनालिटिक्स को शामिल नहीं कर सकते हैं। फिर भी अभी भी GA में डेटा एकत्र करें।

एक विकल्प कैश्ड स्क्रिप्ट में माप प्रोटोकॉल का उपयोग करने के बजाय हो सकता है। Google Analytics: मापन प्रोटोकॉल अवलोकन

जब आप परिवहन विधि को स्पष्ट रूप से छवि पर सेट करते हैं, तो आप देख सकते हैं कि कैसे जीए अपनी छवि बीकन का निर्माण करता है।

ga('set', 'transport', 'image');

https://www.google-analytics.com/r/collect
  ?v={protocol-version}
  &tid={tracking-id}
  &cid={client-id}
  &t={hit-type}
  &dl={location}

आप आवश्यक पेलोड के साथ अपने स्वयं के GET या POST अनुरोध बना सकते हैं।

हालाँकि, यदि आपको विस्तार के बड़े स्तर की आवश्यकता है तो यह संभवतः आपके प्रयास के लायक नहीं होगा।


पेजपीड का कनेक्शन कहां है?
निको हासे

Analytics.js को लोड नहीं करने से आप पृष्ठ-पेनल्टी से बचते हैं।
जोनाथन

हाँ। और अपने पृष्ठ से उस सीएसएस, जेएस और इमेजरी को छोड़कर, यह और भी तेजी से लोड होगा। Google Analytics को
छोड़ना

यह देखते हुए कि डेटा अभी भी Google Analytics में दर्ज है, मुझे लगता है कि मेरा उत्तर मान्य है, और स्पष्ट रूप से कहा गया है कि Google Analytics से आवश्यक विवरण के स्तर के आधार पर यह एक विकल्प हो सकता है, जो इस बात पर ध्यान देने योग्य है कि महत्वपूर्ण रूप से अभी भी विज़िट, UI इंटरैक्शन और संभावित अन्य मैट्रिक्स रिकॉर्ड करेंगे। । यदि ओपी अंतिम 1% के लिए ऑप्टिमाइज़ करना चाह रहा है, तो यह विचार करने लायक अनुकूलन हो सकता है।
जोनाथन

@NicoHaase मैंने उम्मीद से अपनी बात स्पष्ट करने के लिए अपनी टिप्पणी संपादित की है। आपके विचार सुनने के इच्छुक हैं।
जोनाथन

0

आप क्लाउडफ्रंट वितरण सेट कर सकते हैं जिसमें www.google-analytics.com है, जो इसके मूल सर्वर के रूप में है और क्लाउडफ्रंट वितरण सेटिंग्स में एक लंबे समय तक समाप्ति हेडर सेट करता है। फिर Google स्निपेट में उस डोमेन को संशोधित करें। यह आपके स्वयं के सर्वर पर लोड को रोकता है और फाइल को क्रॉन जॉब में अपडेट रखने की आवश्यकता है।

यह सेटअप और भूल है। इसलिए यदि आप किसी व्यक्ति को "स्निपेट" कॉपी करने और अपने मोबाइल नंबर को & nbsp; में चोरी करने के लिए बिलिंग अलर्ट जोड़ना चाहते हैं;

संपादित करें: मैंने इसे आज़माया और यह इतना आसान नहीं है, क्लाउडफ्रंट कैश-कंट्रोल हेडर से गुजरता है, इसे हटाने का कोई आसान तरीका नहीं है


0

एक नए टैब में https://www.google-analytics.com/analytics.js फ़ाइल खोलें , सभी कोड को कॉपी करें।

अब अपनी वेब डायरेक्टरी में एक फोल्डर बनाएं, उसका नाम बदलकर google-analytics करें।

एक ही फ़ोल्डर में एक टेक्स्ट फ़ाइल बनाएं और ऊपर कॉपी किए गए सभी कोड को पेस्ट करें।

फ़ाइल का नाम बदलें g-local.js

अब अपने Google Analytics कोड में अपनी स्थानीय रूप से होस्ट की गई Analytics स्क्रिप्ट फ़ाइल को कॉल करने के लिए URL बदलें। यह कुछ इस तरह दिखाई देगा जैसे कि https://domain.xyz/google-analytics/ga.js

अंत में, अपने वेबपृष्ठ के पाद लेख में अपना नया Google विश्लेषण कोड रखें।

तुम तैयार हो। अब Google PageSpeed ​​Insights की अपनी वेबसाइट देखें। यह लीवरेज ब्राउज़र कैशिंग Google Analytics के लिए चेतावनी नहीं दिखाएगा। और इस समाधान के साथ एकमात्र समस्या, नियमित रूप से Analytics स्क्रिप्ट को मैन्युअल रूप से अपडेट करना है।


0

2020 में पेज स्पीड इनसाइट्स यूजर एजेंट हैं: मोबाइल के लिए "क्रोम-लाइटहाउस" और डेस्कटॉप के लिए "Google पेज स्पीड इनसाइट्स"।

<?php if (!isset($_SERVER['HTTP_USER_AGENT']) || stripos($_SERVER['HTTP_USER_AGENT'], 'Chrome-Lighthouse') === false  || stripos($_SERVER['HTTP_USER_AGENT'], 'Google Page Speed Insights') === false): ?>
// your google analytics code and other external script you want to hide from PageSpeed Insights here
<?php endif; ?>

-13

आप पेज analytics.jsका उपयोग करके अपनी सभी लिपियों को छोटा कर सकते हैं :

उपयोग करने से पहले फ़ाइलों को छोटा करना याद रखें। अन्यथा यह अधिक प्रसंस्करण समय का उपभोग करेगा।


6
analytics.js पहले से ही स्रोत से छोटा है
João Pimentel Ferreira
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.