मैं एक निश्चित वेबसाइट को अनुकूलित करने पर बहुत अधिक ध्यान केंद्रित कर रहा हूं ताकि यह Google पेजस्पीड इनसाइट्स टूल (मोबाइल और डेस्कटॉप दोनों के लिए) पर 100 स्कोर करे। अधिकांश आइटम त्रुटिपूर्ण रूप से काम कर रहे हैं, लेकिन मुझे वेबसाइट के लिए "सक्षम संपीड़न" चेतावनी प्राप्त करना जारी है।
यह परेशान करने वाला है, क्योंकि मेरे सर्वर पर gzip सक्षम है, और केवल उन्हीं संसाधनों को असम्पीडित किया जा रहा है जो NGINX PageSpeed मॉड्यूल से आ रहे हैं। मैं Google की वेबसाइट पर कॉन्फ़िगरेशन पृष्ठों के माध्यम से चला गया हूं, लेकिन ऐसा कुछ भी नहीं है जो संपीड़न को सक्षम करने का वर्णन करता है, सामान्य एनजीआईएनएक्स कॉन्फ़िगरेशन के अलावा जो पहले से ही है।
मेरा प्रश्न यह है: मैं gzip कम्प्रेशन को कैसे सक्षम करूं ताकि यह पेजपेड संसाधनों के लिए काम करे?
मेरा सर्वर सेटअप:
Ubuntu 12.0.4.3 LTS NGINX - कस्टम पेजस्पेड मॉड्यूल 1.6.29.5 बीटा के साथ 1.5.4 संकलित
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;
}
वेबसाइट विन्यास:
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;
}
संपादित करें बस आगे विस्तृत करने के लिए, विशिष्ट संपत्तियां जो संपीड़ित नहीं लगती हैं वे जावास्क्रिप्ट संपत्ति हैं। उदाहरण के तौर पे:
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
किसी कारण से मुझे हमेशा "BEEEEP, YOU’RE होल्डिंग आईटी गलत" मिलता है। वही YSLOW के लिए लागू होता है