PageSpeed ​​Insights Tận dụng bộ nhớ đệm trình duyệt bộ nhớ cache Google Analytics


7

Tôi đang cố gắng giảm thời gian tải xuống bằng cách sử dụng Google PageSpeed ​​Insights làm một trong những công cụ của mình. Tôi nhận thấy rằng có 2 tệp mà nó cứ phàn nàn về:

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 sẽ 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.

https://apis.google.com/js/api.js (30 minutes)

https://ssl.google-analytics.com/ga.js (2 hours)

Tôi giả sử rằng các tệp trên được tham chiếu như một phần của gói Magento mặc định và nhìn xung quanh bảng quản trị tôi chỉ có thể tìm thấy nơi đặt mã phân tích của mình.

Tôi phải đi đâu hoặc tôi cần sửa đổi tập tin nào để gia hạn hết hạn của các tập tin trên?

Câu trả lời:


6

Nếu bạn tải các tệp js từ Google, Haya là chính xác, bạn không thể làm gì để sửa đổi bộ đệm cho bộ đệm của trình duyệt.

Nếu bạn đang sử dụng mã GA không đồng bộ, thì nó không ảnh hưởng đến thời gian tải trang, vì nó tải tách biệt với trang Magento của bạn.

Nếu bạn muốn lưu trữ bộ nhớ cache, bạn có thể tải nó cục bộ, như được mô tả tại http://diywpblog.com/leenses-browser-cache-optizes-google-analytics/

Bạn có thể chỉnh sửa phiên bản địa phương của: template / googleanalytics / ga.phtml

để điều chỉnh URL nơi GA được tải từ đó.


6

Tôi đã đạt được 99/100 điểm với cả phiên bản di động và máy tính để bàn trên trang web của mình. Chỉ cần bộ nhớ đệm trình duyệt apis.google.com/js/pl platform.js là một rào cản trong 100. Tôi biết rằng nó hầu như không tạo ra sự khác biệt nào chỉ để giải trí. Có manh mối nào không?

Htaccess của tôi-

# Enable Compression
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
</IfModule>
<IfModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

# Leverage Browser Caching
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/jpg "access 1 year"
  ExpiresByType image/jpeg "access 1 year"
  ExpiresByType image/gif "access 1 year"
  ExpiresByType image/png "access 1 year"
  ExpiresByType text/css "access 1 month"
  ExpiresByType text/html "access 1 month"
  ExpiresByType application/pdf "access 1 month"
  ExpiresByType text/x-javascript "access 1 month"
  ExpiresByType application/x-shockwave-flash "access 1 month"
  ExpiresByType image/x-icon "access 1 year"
  ExpiresDefault "access 1 month"
</IfModule>
<IfModule mod_headers.c>
  <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
  Header set Cache-Control "max-age=2678400, public"
  </filesmatch>
  <filesmatch "\.(html|htm)$">
  Header set Cache-Control "max-age=7200, private, must-revalidate"
  </filesmatch>
  <filesmatch "\.(pdf)$">
  Header set Cache-Control "max-age=86400, public"
  </filesmatch>
  <filesmatch "\.(js)$">
  Header set Cache-Control "max-age=2678400, private"
  </filesmatch>
</IfModule>

Đây có phải là một câu trả lời? Hoặc bạn đang hỏi liệu có ai có manh mối để có bộ nhớ đệm trình duyệt phù hợp trên platform.jstệp không? Nếu vậy, vui lòng sử dụng nút câu hỏi Aks để tự hỏi điều này như một câu hỏi. Bạn có thể tham khảo câu hỏi này để cung cấp bối cảnh.
7ochem

4

Đối với Nginx:

   location ~ /analytics.js {
        proxy_pass https://www.google-analytics.com;
        expires 31536000s;
        proxy_set_header Pragma "public";
        proxy_set_header Cache-Control "max-age=31536000, public";
    }

Sau đó thay đổi đường dẫn https://www.google-analytics.com/analytics.js thành https://yoursite.com/analytics.js


1
Điều này thực sự làm việc?
Nathan

Tôi biết nó cũ nhưng đây là VÀNG. Chỉ cần làm tương tự với API bản đồ. Tuyệt vời, hoạt động như mong đợi!
Eduard

3

Theo hiểu biết của tôi, bạn không thể làm gì về điều này vì đây là một phần của tên miền google.

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.