Me he centrado mucho en optimizar un determinado sitio web para que obtenga un puntaje de 100 en la herramienta Google PageSpeed Insights (tanto para dispositivos móviles como de escritorio). La mayoría de los elementos funcionan perfectamente, pero sigo recibiendo la advertencia "Habilitar compresión" para el sitio web.
Esto es problemático, porque gzip está habilitado en mi servidor, y los únicos recursos que se sirven sin comprimir provienen del módulo NGINX PageSpeed. He revisado las páginas de configuración en el sitio web de Google, pero no hay nada que describa cómo habilitar la compresión, aparte de la configuración general de NGINX que ya está implementada.
Mi pregunta es esta: ¿Cómo habilito la compresión gzip para que funcione para los recursos de velocidad de página?
La configuración de mi servidor:
Ubuntu 12.0.4.3 LTS NGINX: compilación personalizada 1.5.4 con el módulo PageSpeed 1.6.29.5 beta
Configuración del servidor 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;
}
Configuración del sitio 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;
}
EDITAR Solo para elaborar más, los activos específicos que no parecen estar comprimiéndose son los activos de JavaScript. Como ejemplo:
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
por alguna razón siempre obtengo "BEEEEP, LO ERES MAL". lo mismo aplica para YSLOW