PageSpeed ​​Insights 99/100 vì Google Analytics - Làm cách nào tôi có thể lưu trữ GA?


243

Tôi đang thực hiện một nhiệm vụ để đạt 100/100 trên PageSpeed ​​và tôi gần như ở đó. Tôi đang cố gắng tìm một giải pháp tốt để lưu trữ Google Analytics.

Đây là tin nhắn tôi nhận được:

Tận dụng bộ nhớ đệm trình duyệt Đặt ngày hết hạn hoặc tuổi tối đa trong các tiêu đề HTTP cho tài nguyên tĩnh hướng dẫn trình duyệt tải tài nguyên đã tải xuống trước đó từ đĩa cục bộ thay vì qua mạng. Tận dụng bộ nhớ đệm của trình duyệt cho các tài nguyên có thể lưu trong bộ nhớ cache sau: http://www.google-analytics.com/analytics.js (2 giờ)

Giải pháp duy nhất tôi tìm thấy là từ năm 2012 và tôi không nghĩ đó là một giải pháp tốt. Về cơ bản, bạn sao chép mã GA và lưu trữ nó. Sau đó, bạn chạy một công việc định kỳ để kiểm tra lại Google mỗi ngày một lần để lấy mã GA mới nhất và thay thế nó.

http://diywpblog.com/leenses-browser-cache-optizes-google-analytics/

Tôi có thể làm gì khác để đạt 100/100 trong khi sử dụng Google Analytics?

Cảm ơn bạn.


1
Tôi đã sử dụng phương thức cron, Không sử dụng cron (tải và lưu trữ khi tải. Tôi có thể chia sẻ mã php nếu bạn muốn). Và tôi đã sửa chữa đề nghị sửa chữa GA của tôi. Nhưng vấn đề nhỏ còn lại ở đó: Tôi để lại tiêu đề "Cache-Control: max-age = 604800". Mà cao hơn nhiều thì 5 phút cache.
Roman Losev

6
Đó thực sự là một ý tưởng tốt? Lưu tệp này vào máy chủ của bạn có nghĩa là trình duyệt sẽ phải tải xuống lại thay vì sử dụng lại tệp đã được lưu trong bộ nhớ cache bằng cách truy cập các trang web khác bằng Google Analytics. Vì vậy, nó thực sự có thể làm chậm một chút khách truy cập của bạn.
s427

Câu trả lời:


240

Chà, nếu Google lừa dối bạn, bạn có thể lừa Google lại:

Đây là tác nhân người dùng cho 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”

Bạn có thể chèn một điều kiện để tránh phục vụ tập lệnh phân tích cho PageSpeed:

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

Rõ ràng, nó sẽ không thực hiện bất kỳ cải thiện thực sự nào, nhưng nếu mối quan tâm duy nhất của bạn là đạt được điểm 100/100 thì điều này sẽ làm được.


4
Thông minh ...... đáng tiếc tôi sử dụng bộ nhớ đệm cạnh vì tập lệnh này sẽ chỉ hoạt động nếu các yêu cầu đạt đến nguồn gốc của bạn cho mọi yêu cầu :(
Amy Neville

49
Tải nó qua JS rồi :)if(navigator.userAgent.indexOf("Speed Insights") == -1) { /* analytics here */ }
Một nửa Crazing

1
@Jim Xem stackoverflow.com/questions/10734968/, - bạn sẽ sử dụng phương thức này trong { }ví dụ của tôi, cùng với bất kỳ JS nào khác mà GA sử dụng (như ga('create', 'UA-XXXXX-Y', 'auto'); ga('send', 'pageview');hoặc bất cứ điều gì)
Half Crazing 9/12/2016

1
@Jim Tôi đã thêm một câu trả lời bao gồm điều này.
Một nửa Crazing 9/12/2016

6
Cảnh báo: Điều này không hoạt động nữa. Thông tin chi tiết về tốc độ trang được cung cấp bởi Hải đăng sử dụng một người dùng mặc định, không thể được phát hiện nữa.
David Vielhuber

39

Có một tập hợp con của thư viện js Google Analytics được gọi là ga-lite mà bạn có thể lưu trữ theo cách bạn muốn.

Thư viện sử dụng API REST công khai của Google Analytics để gửi dữ liệu theo dõi người dùng đến Google. Bạn có thể đọc thêm từ bài viết trên blog về ga-lite .

Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả của thư viện này. Tôi đã vật lộn với vấn đề cụ thể này và kết quả tốt nhất tôi tìm thấy là thực hiện giải pháp này.


21

Đây là một giải pháp thực sự đơn giản bằng cách sử dụng JS, để theo dõi GA cơ bản, cũng sẽ hoạt động cho bộ đệm / proxy cạnh (điều này đã được chuyển đổi từ một nhận xét):

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');
}

Lưu ý: Đây là tập lệnh GA mặc định. Bạn có thể có các ga()cuộc gọi khác , và nếu vậy, bạn sẽ cần phải luôn kiểm tra tác nhân người dùng trước khi gọi ga(), nếu không nó có thể bị lỗi.


2
Phản ứng với phần "Lưu ý:", Bạn có thể khai báo ganhư ga = function(){};trước khi đoạn trích bị lỗi một cách im lặng khi được thực thi vì ga();vậy bạn không phải kiểm tra sự tồn tại của chức năng này ở mọi nơi trong mã của bạn.
István Pálinkás

1
Làm thế nào để thêm video này trong kịch bản <script async src =" googletagmanager.com/gtag/js?id=UA-xx6600xx-1"></... >
Navnish Bhardwaj

16

Tôi không lo lắng về điều đó. Đừng đặt nó trên máy chủ của riêng bạn, có vẻ như đây là một vấn đề với Google, nhưng tốt như nó có. Đặt tệp trên máy chủ của riêng bạn sẽ tạo ra nhiều vấn đề mới.

Họ có thể cần tệp để được gọi mỗi lần thay vì nhận tệp từ bộ đệm của khách hàng, vì theo cách đó bạn sẽ không tính số lượt truy cập.

Nếu bạn gặp vấn đề để cảm thấy ổn với điều đó, hãy chạy URL thông tin chi tiết của Google về chính thông tin chi tiết của Google, cười, thư giãn và tiếp tục với công việc của bạn.


68
Anh ta muốn biết làm thế nào anh ta có thể đạt 100, không phải nếu 99 là ok.
Erick Engelhardt

4
Câu trả lời này không đúng, nơi tệp Analytics.js được tải xuống từ đó không ảnh hưởng đến việc có theo dõi phân tích hay không. Vấn đề lưu trữ tệp phân tích của riêng bạn là bạn luôn phải cập nhật thủ công lên phiên bản mới nhất (một vài lần trong năm).
Matthew Dolman

1
Cảm ơn Matthew đã chỉ ra điều đó. Rõ ràng tôi đã sai, điều đó tốt, nhưng tôi vẫn không nghĩ nên lưu trữ tệp này trên máy chủ của mình vì tôi có thể tưởng tượng nó sẽ tạo ra nhiều vấn đề mới. Câu hỏi của OP là làm thế nào để đạt được 100 trên trang và câu trả lời của tôi không phải lo lắng về việc đạt tới 100. Đó có thể là một câu trả lời thực sự khó chịu, nhưng đó là tôi.
Leo Muller

3
câu trả lời tốt cho những người bị lạc bởi suy nghĩ 99 là không đủ. tốt hơn dành thời gian của bạn vào các vấn đề thực sự.
linqu

@ErickEngelhardt Bạn đúng, nhưng nếu mọi người hỏi một câu hỏi mà bạn nghĩ họ không nhắm đến mục tiêu tốt nhất, bạn nên đưa ra cho họ một giải pháp nào có thể phục vụ họ tốt hơn.
quan sát viên

10

Trong tài liệu Google, họ đã xác định pagespeedbộ lọc sẽ tải tập lệnh không đồng bộ:

ModPagespeedEnableFilters make_google_analytics_async

Bạn có thể tìm tài liệu ở đây: https://developers.google.com/speed/pagespeed/module/filter-make-google-analytics-async

Một điều cần nhấn mạnh là bộ lọc được coi là rủi ro cao. Từ các tài liệu:

Bộ lọc make_google_analytics_async là thử nghiệm và chưa được thử nghiệm rộng rãi trong thế giới thực. Một trường hợp viết lại sẽ gây ra lỗi là nếu bộ lọc bỏ lỡ các cuộc gọi đến các phương thức Google Analytics trả về giá trị. Nếu các phương thức như vậy được tìm thấy, viết lại được bỏ qua. Tuy nhiên, các phương thức không đủ tiêu chuẩn sẽ bị bỏ qua nếu chúng đến trước khi tải, nằm trong các thuộc tính như "onclick" hoặc nếu chúng nằm trong tài nguyên bên ngoài. Những trường hợp dự kiến ​​sẽ hiếm.


7

varvy.com ( 100/100 thông tin chi tiết về tốc độ trang Google ) chỉ tải mã google analitycs nếu người dùng thực hiện cuộn trang:

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
Điều gì xảy ra nếu khách truy cập không cuộn mà chỉ cần nhấp vào một liên kết. Anh ta sẽ không được tính vào phân tích.
Ross Ivantsiv

@RossIvantsiv bạn cũng có thể xử lý nhấp chuột!
ar099968

6

Bạn có thể cố gắng lưu trữ các tệp phân tích cục bộ và cập nhật nội dung của nó bằng một tập lệnh bộ đệm hoặc theo cách thủ công.

Tệp js chỉ được cập nhật vài lần một năm và nếu bạn không cần bất kỳ tính năng theo dõi mới nào, hãy cập nhật thủ công.

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


2
Được cảnh báo rằng điều này rõ ràng là không được Google hỗ trợ
thép

6

lưu trữ các phương pháp phân tích cục bộ, nhưng nó không được google khuyến nghị: https://support.google.com/analyticspcs/1032389?hl=vi

Không khuyến khích vì google có thể cập nhật tập lệnh khi họ muốn, vì vậy chỉ cần thực hiện một tập lệnh tải xuống javascript phân tích mỗi tuần và bạn sẽ không gặp rắc rối!

Bằng cách này, giải pháp này ngăn chặn quảng cáo chặn các tập lệnh phân tích google


Nó không bỏ qua Adblock hoàn toàn (nó vẫn chặn các cuộc gọi ajax), nhưng ít nhất bạn có được các phiên và lượt xem trang
NiloVelez

5

Bạn có thể ủy quyền tập lệnh phân tích google thông qua máy chủ của riêng bạn, lưu tập tin cục bộ và tự động cập nhật tệp mỗi giờ để đảm bảo đó luôn là phiên bản mới nhất từ ​​google.

Tôi đã thực hiện điều này trên một vài trang web và tất cả đều hoạt động tốt.

Tuyến proxy của Google Analytics trong NodeJS / MEAN Stack

Đây là cách tôi triển khai nó trên blog của mình được xây dựng với ngăn xếp 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);
    }
});

Phương pháp hành động proxy Google Analytics trong ASP.NET MVC

Đây là cách tôi triển khai nó trên các trang web khác được xây dựng với 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);
        }
    }
}

Đây là CompressAttribution được sử dụng bởi MVC ProxyContoder để nén Gzip

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);
        }
    }
}

Tập lệnh Google Analytics được cập nhật

Về phía khách hàng, tôi nối thêm đường dẫn phân tích với ngày hiện tại lên đến giờ để trình duyệt sẽ không sử dụng phiên bản được lưu trong bộ nhớ cache hơn một giờ.

<!-- 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

PHP

Thêm phần này vào mã HTML hoặc PHP của bạn:

<?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; ?>

JavaScript

Điều này hoạt động tốt với JavaScript:

  <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>

NiloVelez đã nói: Rõ ràng, nó sẽ không cải thiện thực sự, nhưng nếu mối quan tâm duy nhất của bạn là đạt được điểm 100/100 thì điều này sẽ làm được.


1

Hãy thử điều này chỉ cần chèn trước

<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>

Vui lòng thay đổi xx-xxxxxxx-x thành mã của bạn, vui lòng kiểm tra để triển khai tại đây http://www.gee.web.id/2016/11/how-to-leenses-browser-caching-for-google-analitycs.html


1
Xin lưu ý rằng đây là dành cho ga-lite thay vì các phân tích tiêu chuẩn
Rob Forrest

0

Google cảnh báo không sử dụng các bản sao phân tích cục bộ của các tập lệnh phân tích. Tuy nhiên, nếu bạn đang làm điều đó, có lẽ bạn sẽ muốn sử dụng các bản sao bổ sung & tập lệnh gỡ lỗi cục bộ.

Một mối quan tâm thứ hai với bộ nhớ đệm gây căng thẳng là bạn sẽ nhận được lượt truy cập từ các trang được lưu trong bộ nhớ cache - có thể đã thay đổi hoặc đã bị xóa khỏi trang web.


0

Để khắc phục sự cố này, bạn sẽ phải tải xuống tệp cục bộ và chạy một công việc định kỳ để tiếp tục cập nhật. Lưu ý: điều này không làm cho trang web của bạn nhanh hơn chút nào vì vậy tốt nhất là bỏ qua nó.

Tuy nhiên, đối với mục đích trình diễn, hãy làm theo hướng dẫn sau: http://diywpblog.com/leenses-browser-cache-optizes-google-analytics/


"Điều này không làm cho trang web của bạn nhanh hơn" điều đó không nhất thiết phải đúng. Như về lý thuyết, việc ghép một tệp JS không liên kết quan trọng, một tệp có phân tích được bao gồm sẽ nén nhỏ hơn một chút so với tệp phân tích được tách ra do từ điển được chia sẻ. Có lẽ nhiều rắc rối hơn giá trị của nó.
Ray Foss

0

Điều này có thể làm mánh khóe :)

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

0

Tùy thuộc vào việc bạn sử dụng dữ liệu Google Analytics, nếu bạn muốn có thông tin cơ bản (chẳng hạn như lượt truy cập, tương tác UI), bạn có thể không bao gồm phân tích.js, nhưng vẫn thu thập dữ liệu trong GA.

Thay vào đó, một tùy chọn có thể là sử dụng giao thức đo lường trong tập lệnh được lưu trữ. Google Analytics: Tổng quan về giao thức đo lường

Khi bạn đặt phương thức truyền tải rõ ràng thành hình ảnh, bạn có thể thấy cách GA xây dựng các cảnh báo hình ảnh của chính nó.

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}

Bạn có thể tạo các yêu cầu GET hoặc POST của riêng mình với tải trọng được yêu cầu.

Tuy nhiên, nếu bạn yêu cầu mức độ chi tiết cao hơn thì có lẽ bạn sẽ không xứng đáng với nỗ lực của mình.


Kết nối với Pagespeed ở đâu?
Nico Haase

Bằng cách không tải phân tích, bạn tránh được hình phạt trang.
Jonathan

Vâng. Và bằng cách bỏ qua tất cả CSS, JS và hình ảnh đó ra khỏi trang của bạn, nó sẽ tải nhanh hơn nữa. Bỏ qua Google Analytics không phải là một tùy chọn theo OP
Nico Haase

Ngoại trừ dữ liệu vẫn được ghi lại trong Google Analytics, tôi nghĩ rằng câu trả lời của tôi là hợp lệ và tuyên bố rõ ràng rằng tùy thuộc vào mức độ chi tiết được yêu cầu từ Google Analytics, đó có thể là một tùy chọn đáng để xem xét mà vẫn quan trọng sẽ ghi lại các lượt truy cập, tương tác UI và các số liệu khác . Nếu OP đang tìm cách tối ưu hóa cho 1% cuối cùng, thì đó có thể là một tối ưu hóa đáng để xem xét.
Jonathan

@NicoHaase Tôi đã chỉnh sửa nhận xét của mình để hy vọng làm cho quan điểm của tôi rõ ràng hơn. Quan tâm để nghe suy nghĩ của bạn.
Jonathan

0

Bạn có thể thiết lập phân phối trên nền tảng đám mây có www.google-analytics.com làm máy chủ gốc của nó và đặt tiêu đề hết hạn dài hơn trong cài đặt phân phối trên nền tảng đám mây. Sau đó sửa đổi tên miền đó trong đoạn mã Google. Điều này ngăn tải trên máy chủ của bạn và cần phải cập nhật tệp trong công việc định kỳ.

Đây là thiết lập và quên. Vì vậy, bạn có thể muốn thêm cảnh báo thanh toán vào đám mây trong trường hợp ai đó "sao chép" đoạn mã của bạn và đánh cắp băng thông của bạn ;-)

Chỉnh sửa: Tôi đã thử nó và nó không dễ dàng như vậy, Cloudfront chuyển qua tiêu đề Cache-Control mà không có cách nào dễ dàng để xóa nó


0

Mở tệp https://www.google-analytics.com/analytics.js trong một tab mới, sao chép tất cả mã.

Bây giờ hãy tạo một thư mục trong thư mục web của bạn, đổi tên nó thành google-phân tích.

Tạo một tệp văn bản trong cùng một thư mục và dán tất cả các mã bạn đã sao chép ở trên.

Đổi tên tệp ga-local.js

Bây giờ hãy thay đổi URL để gọi tệp Tập lệnh Analytics được lưu trữ cục bộ trong Mã Google Analytics của bạn. Nó sẽ trông giống như thế này tức là https://domain.xyz/google-analytics/ga.js

Cuối cùng, đặt mã phân tích google MỚI của bạn vào chân trang của trang web của bạn.

Bạn tốt để đi. Bây giờ hãy kiểm tra trang web của bạn về Google PageSpeed ​​Insights. Nó sẽ không hiển thị cảnh báo cho Leverage Browser Cache Google Analytics. Và vấn đề duy nhất với giải pháp này là, thường xuyên cập nhật Tập lệnh Analytics theo cách thủ công.


0

Vào năm 2020, các tác nhân người dùng Insights Page là: "Chrome-Ngọn hải đăng" cho thiết bị di động và "Thông tin chi tiết về tốc độ trang của Google" cho máy tính để bàn.

<?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

Bạn có thể thu nhỏ tất cả các tập lệnh của mình trong trang, bao gồm cả analytics.jsviệc sử dụng:

Hãy nhớ thu nhỏ các tập tin trước khi sử dụng nó. Nếu không nó sẽ tiêu tốn nhiều thời gian xử lý hơn.


6
analytics.js đã được thu nhỏ từ nguồn
João Pimentel Ferreira
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.