¿Qué es y cómo funciona la compresión gzip?

Products mentioned
Optimizando recursos para tu web

Nadie quiere ver cómo su página web desaparece de la vista de los usuarios tras estar esperando demasiado tiempo hasta que consigue cargar. No es la primera vez (ni será la última) que hemos estado delante de la pantalla esperando hasta 30 segundos a que cargue una web, todo un auténtico desastre a nivel de SEO y de reputación online.

En este blog hemos hablado en anteriores ocasiones sobre cómo mejorar la velocidad de carga mediante caché, CDN o reduciendo el tamaño de las imágenes que utilizas para ilustrar tu web, pero hoy toca el turno de cómo a través de la compresión de archivos que conforman la página y el CSS se puede reducir significativamente el tiempo de carga al hacer los archivos más pequeños.

Para ello, a continuación hablaremos de la herramienta de compresión gzip y de su funcionamiento. ¡Vamos allá!

¿Qué es la compresión gzip y cuál es su funcionamiento?

Cuando alguien escribe la URL de tu página, la visita se ejecuta cuando esta petición es enviada al servidor donde se alojan los archivos de tu web para que los entregue en destino y se cargue lo más rápido posible. Esto incluye texto, imágenes, espacios en blanco y cualquier otro contenido que en su tamaño original pesen más de lo debido y ralenticen la carga de la web.

La herramienta de compresión de datos gzip fue creada para ofrecer una opción de alto rendimiento y más eficiente que fuese compatible com el sistema operativo Unix. Gzip, nombre acortado de GNU zip, tiene como función principal analizar los archivos seleccionados para buscar secuencias de caracteres que se repiten y sean susceptibles de ser reemplazadas y reducir el tamaño lo máximo posible. Si por lo que sea una cadena no aparece repetida, se almacenará al margen del archivo .gz que se genera al realizar la compresión, y que se verá reflejado en archivos .tar.gz o tgz.

Este proceso proporciona muchos beneficios a las webs que lo usan, sobre todo si se tratan de páginas con muchos textos y espacios en blanco.

 

¿Para qué se puede usar la compresión gzip?

Gzip es una herramienta inicialmente pensada para usarse en GNU, si bien su uso se ha extendido ya a cualquier sistema operativo que trabaje bajo licencia GPL. En Linux gzip se instala automáticamente o al menos viene preparada que para que se pueda instalar en poco tiempo. Si trabajas con Windows o Mac, también puedes usar gzip ya que en su página web oficial se recogen también la descarga del software para estos sistemas operativos.

Un sector de negocio que realmente debería apreciar y empezar a trabajar cuanto antes con esta herramienta es el del desarrollo web. Los desarrolladores pueden aprovechar todo su enorme potencial, ya que desde el primer momento en que se activa, el servidor donde se alojan los archivos que se crean y programan para ejecutar las diferentes funciones de una web comprime cada elemento, reduciendo el tiempo de carga para los visitantes sin tener que hacer doble trabajo en el futuro.

Si se le facilita a los usuarios la tarea de cargar una web mediante paquetes de datos comprimidos, podrán ver tu página web mucho más rápido y, por tanto, mejorar su experiencia de usuario. Es más, si nos fijamos por tipo de usuario, aquellos que navegan a través de un dispositivo móvil son los más interesados y beneficiados en que tu web cargue rápido y sea fácil de navegar.

Imagen d eun smartphone Huawei negro encima de una mesa.

Comandos básicos de gzip

Por norma general, aun teniendo la posibilidad de ejecutar órdenes a través de una interfaz gráfica, gzip es fácil de manejar mediante comandos, incluso si no tienes experiencia. A continuación mostramos una tabla resumen con los comandos básicos de gzip, entre los que se encuentran el comando que permite determinar el grado de la compresión, ejecutar la descompresión de los archivos necesarios o ver las opciones disponibles:

Opción                 Descripción
-1 / -9 Define el grado de compresión, donde 1 implica la compresión más débil y más rápida y el 9 es la mejor compresión, pero también la más lenta. Por defecto el valor está marcado en 5
-d Descomprime el archivo seleccionado en el directorio actual
-f Fuerza la compresión con gzip y sobreescribe, en caso necesario, los archivos existentes con los mismos nombres de archivo
-h Ofrece una lista de todas las opciones disponibles
-k Comprime e impide la eliminación del archivo original
-L Muestra la licencia de software que se está usando
-q Desactiva todas las notificaciones de gzip
-t Comprueba la integridad del archivo comprimido

 

En la web oficial puedes revisar toda la documentación de gzip, donde se incluye la lista completa de los comandos activos que puedes ejecutar.

Compresión con gzip en Apache

Actualmente es frecuente ver que los proveedores de hosting ponen a disposición de sus clientes la compresión en Apache en los servidores web previa activación, aunque no siempre fue así. Se esgrimía como razón principal para dejarlo en segundo plazo que para hacer correctamente la compresión de archivos era necesaria más potencia para procesar la operación, de forma que la única forma de acceder a la compresión gzip era contactando con el proveedor de hosting por cualquiera de los métodos que estuviesen habilitados (teléfono, correo electrónico, etc.)

En un servidor que tenga Apache es posible entre otras cosas comprimir con gzip, aprovechar la capacidad que tienen los navegadores modernos de leer los archivos comprimidos, descomprimirlos para mostrar la página web creada por el desarrollador o comprobar la configuración del módulo habilitado.

Compresión con gzip en el archivo .htaccess

Otro método válido para habilitar la compresión gzip es editando el archivo .htaccess incluido dentro del producto de hosting contratado. La mayoría de los proveedores que ofrecen hosting compartido usan Apache para permitir que las webs alojadas se vean correctamente.

A modo de ejemplo, si trabajas con WordPress, normalmente el archivo .htaccess se puede encontrar en la raíz del hosting entrando a través de FTP.

 

Puede darse el caso de que algunos proveedores de hosting coloquen el archivo .htaccess en otra carpeta, o directamente lo oculten o tengan bloqueado el acceso. Esto lo hacen por seguridad, aunque si en tu caso necesitas acceder para realizar modificaciones que mejoren la configuración de tu servicio y aumenten sus prestaciones, tendrás que contactar con su equipo de soporte y que analicen tu caso. Haciendo los ajustes pertinentes, podrás comenzar la compresión con gzip (mod_gzip) o recurrir a módulos como el que permite la deflación (mod_deflate).

Compresión con gzip en WordPress mediante plugin

La tercera variante se basa en activar la compresión instalando en WordPress un plugin que sea compatible con PHP, uno de los lenguajes de programación básicos de este CMS. Hay varios, pero aquí vamos a hablar de los siguientes:

  • WP Rocket: este plugin permite añadir automáticamente reglas de compresión al archivo .htaccess usando el módulo mod_deflate. El inconveniente es que sigue dependiendo de tener permisos para modificar archivos dentro del servidor web.
  • W3 Total Cache: este plugin ofrece hasta diez veces el rendimiento de una web cuando se instala y se configura correctamente mejorando el SEO y la usabilidad, además de incluir varias opciones para empezar a usar la compresión con gzip.
  • WP Performance Score Booster: Con ayuda del plugin se puede activar gzip fácilmente y comprimir de manera efectiva los contenidos de tu proyecto web, tales como textos, HTML, JavaScript, CSS, XML, etc. Además, acelera el tiempo de carga de la página web y mejora el rendimiento, medible en webs como GTmetrix, Pingdom o PageSpeed.

¿Cómo puedes comprimir archivos en Windows 10?

Si quieres preparar todos los archivos antes de subirlos al servidor, en Windows 10 también puedes comprimirlos de tamaño. Con la herramienta Peazip puedes comprimir y descomprimir en múltiples formatos: 7zip, Tar, ARC, Gzip, etc.

Es tan simple como descargar y abrir el programa, que te mostrará la siguiente pantalla:

Imagen de Peazip en su pantalla de inicio, antes de comprimir archivos gzip.

Eliges el archivo o archivos que quieras incluir, pulsa en “Add” y te saldrá la pantalla propia donde podrás elegir las opciones de compresión, por ejemplo la velocidad del proceso, el formato del archivo final o si quieres trocearlo en varias partes:

Imagen de Peazip en la pantalla de selección de opciones para comprimir.

Cuando tengas todo listo, pulsa en OK y cuando de realizarse el proceso, tendrás el archivo final listo para ser subido.

¿Cómo se puede examinar la compresión?

Cuando ya tengas lista la configuración para hacer la compresión con gzip y hayas subido los archivos, es hora de analizar si estás haciendo el proceso bien o no. Es decir, si la web está cargando más rápido al escribir la URL en el navegador.

Google PageSpeed Insights es una buena solución para medir el rendimiento. Es tan simple como escribir la dirección de tu página web y la propia herramienta se encarga de rastrear automáticamente todo el contenido activo, para presentar un informe con los aspectos más destacados en cuanto al rendimiento..

Otra opción WhatsMyIP.org, una web de aparente diseño muy sencillo pero muy efectiva a la hora de probar si la compresión hecha con gzip está bien hecha o no.