Tôi đã tập trung rất nhiều vào việc tối ưu hóa một trang web nhất định để nó đạt 100 điểm trên công cụ Google PageSpeed Insights (cho cả thiết bị di động và máy tính để bàn). Hầu hết các mục đang hoạt động hoàn hảo, nhưng tôi tiếp tục nhận được cảnh báo "Bật nén" cho trang web.
Điều này thật rắc rối, vì gzip được kích hoạt trên máy chủ của tôi và các tài nguyên duy nhất đang được phục vụ không nén được đến từ mô-đun NGINX PageSpeed. Tôi đã xem qua các trang cấu hình trên trang web của Google, nhưng không có gì mô tả cách kích hoạt tính năng nén, ngoài cấu hình NGINX chung đã có sẵn.
Câu hỏi của tôi là: Làm cách nào để kích hoạt tính năng nén gzip để nó hoạt động cho tài nguyên trang?
Thiết lập máy chủ của tôi:
Ubuntu 12.0.4.3 LTS NGINX - Được biên dịch tùy chỉnh 1.5.4 với mô-đun PageSpeed 1.6.29.5 beta
Cấu hình máy chủ NGINX:
user www-data;
#set worker processes to cpu processes
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
client_max_body_size 200m;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 3;
types_hash_max_size 2048;
gzip on;
gzip_disable msie6;
gzip_static on;
gzip_types text/plain text/css application/x-javascript text/xml application/xml+rss text/javascript;
gzip_vary on;
fastcgi_read_timeout 2m;
include global/caching.conf;
include /etc/nginx/enabled-sites/*;
upstream php {
server 127.0.0.1:9000;
}
#fastcgi caching header
add_header mcapp-fastcgi-cache $upstream_cache_status;
}
Cấu hình trang web:
server {
server_name www.examplesite.com;
rewrite ^ $scheme://examplesite.com$request_uri permanent;
}
server {
#pagespeed directives
pagespeed On;
pagespeed FileCachePath /var/cache/nginx-pagespeed;
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
#pagespeed directives end
server_name examplesite.com;
root /path/to/examplesite;
# wordpress config
include global/restrictions.conf;
include global/wordpress.conf;
}
EDIT Chỉ cần giải thích thêm, các tài sản cụ thể dường như không được nén là các tài sản javascript. Ví dụ:
Enable compression for the following resources to reduce their transfer size by 355.5KiB (69% reduction).
Compressing http://examplesite.com/wp-includes/js/jquery/jquery.js,qver=1.10.2.pagespeed.jm.iCH2ukpEYb.js could save 58.8KiB (64% reduction).
Compressing http://examplesite.com/wp-content/themes/Avada/framework/plugins/revslider/rs-plugin/js/jquery.themepunch.revolution.min.js?ver=3.6.1 could save 43.9KiB (80% reduction).
expires 24hrs
vì một lý do tôi luôn nhận được "BEEEEP, BẠN ĐANG GIỮ NÓ SAU". áp dụng tương tự cho YSLOW