Si has instalado Rocky Linux 9 o 10 junto con el servidor Apache, seguro que te has planteado el uso de gzip para comprimir datos de texto. Y no está mal. Pero ahora mismo en 2026, también puedes implementar una mejor compresión con Brotli. Muchos servidores en la actualidad implementan ambos: Vamos a configurar Brotli como preferido y Gzip como respaldo.
- Te voy a contar cómo activar la compresión Brotli en un servidor Rocky Linux (sirve también en AlmaLinux y demás) y usando Apache como servidor Apache.
¿Qué hacen Brotli y Gzip?
Ambos algoritmos se encargan de comprimir archivos de texto: HTML, CSS, JavaScript, JSON, XML, SVG, markdown, texto plano… Pero nunca deberían comprimir imágenes (ya están comprimidas), videos, audio, PDF, ZIP/RAR etc.
- Gzip (1992): Ampliamente compatible, basado en algoritmo DEFLATE
- Brotli (2015): Desarrollado por Google, más nuevo y eficiente, optimizado para web.
Diferencias entre ambos
| Característica | Brotli | Gzip |
|---|---|---|
| Tasa de compresión | Normalmente, 15-25% mejor que Gzip | Buena, pero inferior a Brotli |
| Velocidad de compresión | Más lento (especialmente nivel máximo) | Más rápido (especialmente niveles bajos) |
| Velocidad de descompresión | Similar o ligeramente más rápida | Rápida y consistente |
| Uso de CPU | Mayor durante la compresión | Menor durante compresión |
| Compatibilidad | Buena en navegadores modernos (excepto IE) | Universal (todos los navegadores) |
| Umbral de tamaño | Eficaz incluso con archivos pequeños | Mejor con archivos más grandes |
| Encabezados predeterminados | Compresión optimizada para web | Más genérico |
¿Cómo configuramos la compresión de Brotli y Gzip en Apache?

Ya te lo he comentado antes. Debes elegir siempre como primera opción Brotli, pero dejar Gzip activo por compatibilidad. Que Apache se encargue de elegir la mejor opción en función de tus visitantes y el navegador que usen.
- Brotli: Chrome 49+, Firefox 44+, Edge 15+, Safari 11+ (no compatible con IE)
- Gzip: Prácticamente todos los navegadores desde hace décadas.
En Rocky Linux ya tienes instalado el módulo de Brotli, pero no está activa la configuración por defecto. Vete a la carpeta /etc/httpd/conf.d/ y crea un archivo llamado, por ejemplo, compresion.conf con este contenido (se aplicará a todos tus servidores virtuales en Apache):
# =====================================
# Brotli + Gzip
# =====================================
# --- Header para cache diferenciado ---
<IfModule mod_headers.c>
Header append Vary Accept-Encoding
</IfModule>
# --- Prioridad de compresión ---
# Intenta Brotli primero, si falla usa Gzip
SetOutputFilter BROTLI_COMPRESS;DEFLATE
# --- Brotli (si está disponible) ---
<IfModule mod_brotli.c>
# MIME types que se comprimen con Brotli
AddOutputFilterByType BROTLI_COMPRESS \
text/html text/plain text/xml text/css \
text/javascript application/javascript application/x-javascript \
application/json application/xml application/rss+xml \
image/svg+xml
# Calidad de compresión (1–11, default 5)
BrotliCompressionQuality 5
# Excluir archivos ya comprimidos o binarios
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|webp|zip|gz|bz2|rar|7z|pdf|mp3|mp4|avi|mov)$ \
no-brotli
</IfModule>
# --- Gzip fallback (para clientes que no soportan Brotli) ---
<IfModule mod_deflate.c>
# MIME types que se comprimen con Gzip
AddOutputFilterByType DEFLATE \
text/html text/plain text/xml text/css \
text/javascript application/javascript application/x-javascript \
application/json application/xml application/rss+xml \
image/svg+xml
# Excluir archivos ya comprimidos o binarios
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|webp|zip|gz|bz2|rar|7z|pdf|mp3|mp4|avi|mov)$ \
no-gzip
</IfModule>
- Con esta configuración, Apache va a priorizar el uso de Brotli sobre Gzip: SetOutputFilter BROTLI_COMPRESS;DEFLATE
- Con BrotliCompressionQuality 5, le estás diciendo cuál es el nivel de compresión que quieres aplicar. Los valores recomendados suelen estar entre 4 y 5. Vete probando en tu configuración.
Después de implementar esta configuración, debes reiniciar Apache (puedes comprobar antes que todo está correcto en la sintaxis con el comando sudo httpd -t):
sudo systemctl restart httpd
Y luego puedes comprobar si la compresión Brotli está activada correctamente en la siguiente página: https://www.brotli.pro/.
También puedes verificarlo al cargar tu web en tu navegador (Chrome, Firefox, Brave) y usando las herramientas de desarrollador (tres líneas de la derecha > Más herramientas), ir a la pestaña Network, recargar la página y elegir tu dominio principal o alguna de tus URL. En el panel de la derecha, en Headers > Response Headers, te aparece el tipo de compresión que estás aplicando (busca content-encoding: br):

Brotli y Cloudflare
Sí tienes tu servidor web detrás del DNS Cloudflare. Este CDN activa por defecto Brotli. Cloudflare soporta Gzip, Brotli y Zstandard, pero, en función del plan en el que te encuentres, va a servir un tipo de contenido u otro:
- Plan gratuito: el contenido se comprime de forma predeterminada con Zstandard.
- Planes Pro y Business: el contenido se comprime de forma predeterminada con Brotli.
- Plan Enterprise: el contenido se comprime de forma predeterminada con Gzip.
Pero tienes que tener en cuenta que lo primero que va a hacer Cloudflare es preguntar a tu servidor qué compresión estás usando. Si usas Brotli directamente, Cloudflare mantendrá la misma compresión en su respuesta enviada al visitante de tu sitio web si no hay cambios que aplicar por su parte.
¿Cuándo hace cambios Cloudflare en esa respuesta? Si tienes activos los siguientes puntos de su configuración:
- Automatic HTTPS Rewrites
- Cloudflare Fonts
- Email Address Obfuscation
- Polish
- Rocket Loader
- JavaScript detections
- RUM
- Replace insecure JS libraries
Así que si quieres que todo tenga la misma compresión que aplicas en tu servidor, debes desactivar estas opciones.
Conclusión
No hay que abandonar Gzip, ni mucho menos, pero no le va a hacer daño a tu servidor y a tu web que actives Brotli para comprimir tus datos de texto. La mejora en rendimiento en muchas webs se nota inmediatamente.
WordPress te lo va a agradecer si además has implementado una buena política de caché de imágenes y otro tipo de archivos, y además has configurado Cloudflare correctamente para servir tu contenido desde sus servidores en todo el mundo.
WordPress genera contenido dinámico que se va a beneficiar al usar Brotli:
- Páginas HTML dinámicas (cada página es diferente)
- CSS/JS de plugins y temas (archivos grandes y repetitivos)
- Respuestas de REST API (JSON que se comprime muy bien)
- Feeds RSS/XML (texto estructurado perfecto para compresión)
Ya verás cómo el LCP (Largest Contentful Paint) de tu blog mejora mucho: se puede reducir hasta en un -30 %. Prueba el rendimiento de tu web con Google PageSpeed Insights.
Te cuento más opciones de configuración de tu servidor en: Cómo instalar Virtualmin en tu servidor Linux y cómo poner en marcha un servidor Linux VPS en Linode (Akamai).
Referencias:
- https://www.brotli.pro/enable-brotli/servers/apache/
- https://www.reddit.com/r/AskProgramming/comments/1e997ag/why_does_my_apache_server_prioritise_gzip/
- https://gist.github.com/ptudor/90b44c72997580af9baada6e1554a871
- https://www.walkingclub.org.uk/utils/apache-brotli-compression.html
- https://blog.pixelfreestudio.com/how-to-use-brotli-compression-for-faster-load-times/