Compresión GZIP, ¿Qué es y cómo activarla? - Como norma general, todas las páginas webs aceptan, al menos, una pequeña compresión de las imágenes, archivos necesarios para que se cargue el diseño de la página web (archivos JS, CSS y HTML). Esta tarea la realiza el motor HTTP del servidor que procesa todos los archivos de la página web. Además de procesar todos los arhivos, también tiene la capacidad de comprimir todos los datos que enviaremos a los usuarios, para que ocupe menos y la velocidad de procesamiento y envío sea más rápido, además de para ahorrar ancho de banda.
Compresión GZIP
GZIP es un formato de compresión basado en el algoritmo LZ77, completamente opensource y gratuito, por lo que podemos implementarlo de manera gratuita en todos los motores webs que soporten compresión GZIP. Lo importante es indicar al motor web que queremos comprimir práticamente todos los archivos y extensiones, pero existen más configuraciones útiles a la hora de configurar la compresión GZIP, y dependiendo del motor web que utilice nuestro servidor, la configuración es completamente diferente. Actualmente todos los nevegadores web y motores HTTP son capaces de implementar dicha tecnología de manera muy fácil y sin incompatibilidades.
Comprobar si tenemos GZIP activado
Utilizando un comprobador de compresión GZIP (o en inglés, GZIP Checker), podemos comprobar de manera realmente rápida si ya tenemos la compresión GZIP activada y qué cantidad de Mb estamos ahorrando. La herramienta más conocida para esta tarea es la página web http://checkgzipcompression.com/ donde únicamente tendremos que introducir la URL de nuestra página web. Como vemos, en nuestra página principal de NodeNET estamos ahorrando un 76.8% de ancho de banda, aumentando la velocidad de carga y disminuyendo el consumo de red. Si has realizado el test y tus resultados han sido muy bajos o directamente no tienes la compresión GZIP activada, manos a la obra.
Activar compresión GZIP en cPanel
cPanel es el panel de control para hosting más utilizado y posiblemente el más útil y sencillo. Activar la compresión GZIP en cPanel es mucho más fácil, pues no necesitaremos modificar ninguna configuración, únicamente elegir la opción llamada "optimizar sitio web" y activar la compresión GZIP en todo el contenido. Es posible que tarde un poco en verse los efectos de la compresión, pues tiene que empezar a comprimir todo el contenido. Sólo veremos esta opción si nuestro proveedor de hosting tiene instaladas unas extensiones necesarias en el servidor. Por supuesto, en los planes de Hosting SSD cPanel en España de NodeNET ponemos a tu disposición la posibilidad de comprimir todo el contenido de tu página web para una mayor velocidad de carga y ahorro de ancho de banda.
Activar compresión GZIP en Apache
Apache es un motor web muy utilizado actualmente por millones de páginas web al rededor del mundo. En sus versiones más utilizadas, 2.0, 2.2 y 2.4, activar la compresión GZIP en Apache es muy fácil. En la raíz del FTP de nuestra página web tenemos que tener un archivo llamado .htaccess, edítalo y añade:
<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>
Para que la compresión GZIP funcione en Apache, tendremos que tener instalada (y activada) la extensión mod_gzip y mod_deflate, que, normalmente, siempre están instaladas en cualquier hosting.
Activar compresión GZIP en NGINX
NGINX es otro motor HTTP menos utilizado pero con gran popularidad entre los motores HTTP de alto rendimiento. NGINX es más difícil de configurar que Apache, pero no tardaremos mucho en activar la compresión GZIP. Si estamos utilizando un servicio de hosting con NGINX, tendremos un archivo en la raíz del FTP de nuestra página web llamado nginx.conf; si estamos utilizando nuestro propio servidor VPS, lo encontraremos en /etc/nginx/nginx.conf. Añadimos:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
¿Por qué elegimos el nivel 6 frente al nivel 9 (que es el más alto) de compresión? A partir del nivel 6 a penas existe diferencia entre el tamaño de la compresión, pero sí que consume mucho más para comprimir, por lo que el nivel 6 es el más adecuado para no afectar al rendimiento del servidor.