¿Cómo añadir la compresión GZIP a tu web?
¿Has chekeado tu web en Google Page Speed y te sale mala puntuación en “Habilita la compresión de texto”? ¡Entonces estás en el lugar adecuado! Con la compresión GZIP podrás reducir el tamaño de tu web.
¿Has chekeado tu web en Google Page Speed y te sale mala puntuación en “Habilita la compresión de texto”? ¡Entonces estás en el lugar adecuado! Con la compresión GZIP podrás reducir el tamaño de tu web.
Con la compresión GZIP podrás reducir el tamaño de tu web, habilitando la compresión lograrás disminuir el tiempo para descargar todos los archivos comprimidos y mejorar el TTFB (tiempo hasta el primer byte). Es importante señalar que los usuarios que te visitan desde un móvil gastarán “menos megas”.
La compresión GZIP funciona perfectamente en todos los navegadores web que se utilizan hoy en día, por lo que no tienes que temer que haya ningún tipo de problema de compatibilidad.
Añadiendo las siguientes líneas al .htaccess de Apache, que está en el directorio raíz de tu web (Puedes hacerlo por SFTP o usando el administrador de ficheros de Plesk).
#Habilitar compresion GZIP en Plesk 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 AddOutputFilterByType DEFLATE text/xml BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent
También es posible hacerlo con mod_gzip, pero está menos soportado que DEFLATE, y el resultado es prácticamente el mismo. Quedaría así:
mod_gzip_static_suffix .gz AddEncoding gzip .gz AddEncoding gzip .gzip mod_gzip_on YES mod_gzip_handle_methods GET mod_gzip_temp_dir /tmp mod_gzip_can_negotiate Yes mod_gzip_dechunk Yes mod_gzip_send_vary On mod_gzip_update_static No mod_gzip_keep_workfiles No mod_gzip_minimum_file_size 250 mod_gzip_maximum_file_size 1048576 mod_gzip_maximum_inmem_size 60000 mod_gzip_min_http 1000 mod_gzip_item_exclude reqheader "User-agent: Mozilla/4.0[678]" mod_gzip_item_exclude file .js$ mod_gzip_item_exclude file .css$ mod_gzip_item_exclude mime ^application/pdf$ mod_gzip_item_exclude mime ^image/ mod_gzip_item_exclude mime ^application/x-javascript$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include file .html$ mod_gzip_item_include file .pl$ mod_gzip_item_include file .cgi$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^httpd/unix-directory$ mod_gzip_item_include mime ^application/postscript$
Si lo anterior no te ha servido es porque tu web sólo funciona con Apache. Y es muy común ver instalaciones Plesk que lo que tienen expuesto hacia internet es un NGINX (aunque lo usen como proxy inverso y tengan un Apache detrás), debido a esto lo que deberíamos tocar es la configuración de NGINX. ¡No te asustes, es muy sencillo de hacer!
Para ello, entras en el panel de Plesk y vas a Plesk > Dominios > tudominio.com > Ajustes de Apache & nginx y añades las siguientes líneas en el apartado «Additional nginx directives» (Directivas nginx adicionales):
gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types image/svg+xml text/plain text/html text/xml text/css text/javascript application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript application/x-font-ttf application/vnd.ms-fontobject font/opentype font/ttf font/eot font/otf application/font-ttf;
¡Y listo! Guárdalo y ya puedes comprobar que tu web soporta y tiene activada la compresión GZIP en HTML, CSS, Javascript, XML y los distintos tipos de fuentes web. Si Google PageSpeed Insights nos detecta que algunos recursos estáticos no son comprimidos, debemos revisar los MIME* que debe comprimir Nginx y añadir los que falten.
Simplemente accede al «Panel de control de cPanel» >> «Optimizar el sitio web» >> «Comprimir todo el contenido», y pulsa en «Actualizar configuración».
cPanel se encargará de actualizar tu web para que todo el tráfico vaya comprimido con GZIP.
Existen infinidad de herramientas online y gratuitas que te ayudan a verificar si tu web tiene habilitada la compresión GZIP, compruébalo.
Los tipos de MIME describen el tipo de medio del contenido, sea del correo electrónico o el utilizado en los servidores o aplicaciones web, y tiene como proposito ayudar a guiar al navegador web acerca de como ha de ser procesado y mostrado el contenido. Ejemplos de tipos de MIME son:
texto/html
para páginas web normalestexto/plano
para texto comúnAplicacion/de fuente octeto
que significa “descarga este archivo”Aplicacion/x-java-applet
para uso de applets de JavaAplicacion/pdf
para documentos en PDF.