Comprimir web con Gzip y Brotli: guía Apache y Nginx

comprimir web con Gzip y Brotli

📅 Publicado el 22 de octubre, 2026 · Por Equipo RedServicio

Comprimir tu web con Gzip y Brotli es de las optimizaciones más rentables que existen. Poco esfuerzo, mucho rendimiento: reduces el peso de tus archivos HTML, CSS y JavaScript entre un 60% y un 85%, mejoras la puntuación en Core Web Vitals y aceleras la carga para quien te visita. En esta guía veremos qué es la compresión web, en qué se diferencian Gzip y Brotli, y cómo activar ambos en Apache y Nginx paso a paso.

¿Qué es la compresión web y por qué acelera tu sitio?

Alguien pide una página. El servidor le envía los archivos que la componen: HTML, CSS, JavaScript, JSON, SVG, etcétera. La compresión web consiste en aplicar un algoritmo a esos archivos antes de mandarlos, de modo que viajan por la red mucho más ligeros. Cuando llegan al navegador, este los descomprime al instante y pinta la página tal cual, sin que el usuario note nada.

El beneficio es directo. Menos bytes que transferir equivalen a menos tiempo de descarga, sobre todo en móviles o redes lentas. Pongamos un caso: un JavaScript de 300 KB se queda en unos 75 KB con Gzip, o incluso 60 KB con Brotli. Si tu página carga cinco recursos de ese tamaño, estás ahorrando más de un segundo de carga. Y eso pesa, y mucho, tanto para la retención de usuarios como para el SEO.

¿Qué tipos de archivos se comprimen?

  • Texto: HTML, CSS, JavaScript, JSON, XML y SVG. Aquí los ratios de compresión son excelentes.
  • Imágenes: JPG, PNG o WebP ya vienen comprimidos; recomprimirlos solo quema CPU para nada.
  • Vídeo y archivos ya comprimidos: ZIP, MP4 o WOFF2 no ganan nada con compresión adicional.

El navegador le dice al servidor qué formatos acepta mediante la cabecera Accept-Encoding, y el servidor responde con Content-Encoding, indicando el algoritmo que ha usado. Para comprobar si tu sitio ya comprime, puedes usar herramientas como GiftOfSpeed o directamente las DevTools de Chrome, en la pestaña Network.

Gzip vs Brotli: diferencias y cuál elegir

Gzip es el estándar de toda la vida: funciona en prácticamente el 100% de los navegadores, es ligero en consumo de CPU y lleva años demostrando su fiabilidad. Brotli, desarrollado por Google, es su sucesor moderno. Consigue archivos entre un 15% y un 25% más pequeños que Gzip con niveles de compresión altos, lo que se traduce en cargas todavía más rápidas.

  • Gzip: soporte universal. Ideal como base, y funciona con cualquier servidor y CDN.
  • Brotli: mejor ratio de compresión, soportado por todos los navegadores modernos, pero solo sobre HTTPS.
  • Estrategia recomendada: Brotli como prioridad, y Gzip de respaldo para clientes antiguos.

Consejo práctico: si tu sitio usa HTTP/2 o HTTP/3 y sirve contenido estático, comprueba si tu hosting ofrece Brotli precompilado. En RedServicio, los planes de hosting incluyen compresión Brotli y Gzip activada por defecto, con soporte 24/7 para ajustar la configuración a tu proyecto.

Cómo comprimir web con Gzip y Brotli en Apache

Apache gestiona la compresión mediante los módulos mod_deflate (Gzip) y mod_brotli (Brotli). Lo primero: verificar que estén habilitados.

En la terminal, ejecuta a2enmod deflate y, si tu versión de Apache lo incluye, a2enmod brotli. Después reinicia el servicio con systemctl restart apache2.

Activar Gzip con mod_deflate

Añade este bloque a tu archivo .htaccess o a la configuración del VirtualHost:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json image/svg+xml
DeflateCompressionLevel 6
</IfModule>

Este filtro comprime solo los tipos MIME de texto, así no gastas recursos en archivos que no lo necesitan. El nivel 6 es un buen equilibrio entre CPU y ratio de compresión.

Activar Brotli con mod_brotli

Con Apache 2.4.26 o superior, añade:

<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/css application/javascript application/json
BrotliCompressionQuality 5
</IfModule>

Para compresión dinámica, un nivel de calidad entre 4 y 6 va bien. Niveles altos (10-11) solo tienen sentido en archivos precompilados. Ten en cuenta que Apache dará prioridad a Brotli si ambos módulos están activos y el navegador lo anuncia.

Guarda los cambios, reinicia Apache y verifica con curl que las cabeceras Content-Encoding: br o Content-Encoding: gzip aparecen correctamente en la respuesta.

Cómo comprimir web con Gzip y Brotli en Nginx

En Nginx el proceso es sencillo, con un pero: la versión debe estar compilada con el módulo ngx_brotli si quieres usar Brotli. Muchas distribuciones actuales ya lo traen en sus repositorios, así que probablemente no tendrás que compilar nada. Solo edita el archivo de configuración —normalmente /etc/nginx/nginx.conf— y añade o ajusta el bloque de compresión dentro del contexto http.

Para Gzip, algo tan básico como esto funciona bien:

  1. gzip on; activa la compresión.
  2. gzip_comp_level 5; un equilibrio razonable entre CPU y ratio. El nivel 9 casi nunca compensa, salvo que sirvas contenido muy estático.
  3. gzip_types seguido de text/css, application/javascript, application/json, image/svg+xml y similares. Ojo aquí: por defecto solo comprime text/html.
  4. gzip_vary on; añade la cabecera Vary para que cachés y proxies lo gestionen bien.
  5. gzip_min_length 256; evita comprimir archivos tan pequeños que no valen la pena.

¿Tienes Brotli disponible? Añade debajo:

  • brotli on;
  • brotli_comp_level 5; (o 6-7 si el servidor tiene margen de CPU de sobra).
  • brotli_types con la misma lista de MIME types que en gzip.

Guarda el archivo y recarga con sudo systemctl reload nginx. Igual que pasaba en Apache, si ambos métodos están activos Nginx servirá Brotli a los navegadores compatibles y Gzip al resto. Cobertura completa sin tocar nada más.

Cómo verificar que la compresión funciona correctamente

Configurar sin verificar es quedarse a medias. Lo más rápido: curl desde la terminal, indicando que aceptas compresión.

curl -I -H «Accept-Encoding: gzip, br» https://tudominio.com

Si en la respuesta aparece content-encoding: br o content-encoding: gzip, funciona. Si no sale nada, revisa que el módulo esté cargado y que el tipo de contenido figure en la lista de tipos comprimibles. Ese segundo punto es, con diferencia, el fallo más habitual.

¿Prefieres no tocar la línea de comandos? Otras opciones:

  • Google PageSpeed Insights: avisa si detecta recursos sin comprimir.
  • GTMetrix y WebPageTest: muestran el tamaño transferido frente al descomprimido.
  • Las DevTools del navegador: en la pestaña Network, filtra por la columna Size y verás dos valores: el transferido (comprimido) y el real.

Consejo práctico: si un archivo grande (un JS de 500 KB, por ejemplo) sigue viajando sin comprimir, comprueba que su extensión o MIME type esté declarado en gzip_types o brotli_types. Es el detalle que más veces se olvida en producción. Lo he visto más de una vez.

Conclusión: compresión web como base de tu rendimiento

Pocas optimizaciones dan tanto por tan poco. Unos minutos de configuración se traducen en cargas más rápidas, menos ancho de banda consumido y mejores puntuaciones en Core Web Vitals. Brotli se ha consolidado como la opción para navegadores modernos; Gzip sigue garantizando compatibilidad universal. Lo ideal, por tanto, es tener ambos activos y bien configurados.

Dicho esto, la compresión no lo es todo. Conviene acompañarla de caching, minificación de CSS y JavaScript y optimización de imágenes. Y si no quieres complicarte con el servidor, en RedServicio nuestros planes de hosting web traen Gzip y Brotli optimizados de serie, discos SSD y soporte técnico 24/7 para ayudarte con cualquier ajuste. Actívala hoy y lo notarás desde la primera visita.

📝

Equipo RedServicio

Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.

¿Listo para un hosting de verdad?

Servidores en España · Soporte 24/7 en español · Migración gratuita

Ver Planes desde 3,95€/mes →

Te puede interesar:

Página Gratis — Crea tu web gratis

Clisec — Seguridad informática

Scroll al inicio