Habilitación de compresión Brotli en servidores Apache y LiteSpeed

En hosting compartido la optimización del rendimiento es clave para SEO y experiencia de usuario. Brotli es un algoritmo de compresión moderno que reduce significativamente el tamaño de recursos estáticos y HTML frente a gzip. Esta guía, orientada a administradores y responsables de sitios WordPress en entornos compartidos, explica cómo comprobar, habilitar y verificar Brotli en Apache y LiteSpeed, presenta ejemplos de configuración .htaccess y ofrece alternativas prácticas cuando no es posible activar el módulo en el servidor.

¿Por qué elegir Brotli en hosting compartido?

Brotli aporta mejor ratio de compresión para texto (HTML, CSS, JS, JSON, SVG) y archivos entregados por HTTP, lo que reduce el tiempo de carga y el consumo de ancho de banda. En hosting compartido, donde recursos CPU y memoria están limitados, Brotli en niveles medios (4-6) suele ofrecer el mejor equilibrio entre CPU y tamaño final.

Comprobaciones previas: ¿el servidor ya soporta Brotli?

Antes de intentar cambios, verifica si el servidor ya entrega contenido con Brotli o tiene el módulo activo.

Verificar vía HTTP

  • Usa curl para comprobar encabezados: curl -H 'Accept-Encoding: br' -I https://tudominio.com. Busca Content-Encoding: br.

Verificar módulos

  • En Apache, el módulo se llama mod_brotli. En servidores propios se puede listar con apachectl -M, pero en hosting compartido normalmente no tendrás acceso.
  • En LiteSpeed (Enterprise y OpenLiteSpeed) hay soporte integrado; muchas veces la plataforma ya lo habilita en la configuración del panel o en .htaccess con filtros compatibles.

Habilitar Brotli en Apache (cuando el módulo está disponible)

Si el proveedor tiene mod_brotli instalado, puedes habilitar la compresión desde un archivo de configuración o, en hosting compartido, mediante .htaccess cuando el servidor lo permita.

Ejemplo de configuración .htaccess

Este fragmento intenta activar Brotli y cae a gzip (mod_deflate) si no está disponible. Ajusta tipos MIME según tu sitio.

<IfModule mod_brotli.c>
  AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css application/javascript application/json application/xml application/xhtml+xml image/svg+xml
  BrotliCompressionQuality 5
</IfModule>

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

<IfModule mod_headers.c>
  Header append Vary Accept-Encoding
</IfModule>

Notas prácticas:

  • BrotliCompressionQuality: valores de 0 a 11; 4–6 es recomendado en hosting compartido por CPU.
  • No comprimas tipos ya comprimidos (imágenes, vídeos, archivos binarios).
  • Asegura Vary: Accept-Encoding para caches y CDNs.

Habilitar Brotli en LiteSpeed

LiteSpeed es compatible con filtros de salida similares a Apache. En muchos paneles (OpenLiteSpeed o LiteSpeed Enterprise) puedes activar Brotli desde la interfaz del servidor. En hosting compartido, el proveedor puede habilitarlo globalmente.

Configuración .htaccess compatible

LiteSpeed reconoce AddOutputFilterByType BROTLI_COMPRESS, por lo que el mismo bloque .htaccess anterior suele funcionar. Si tu plan incluye acceso a WebAdmin (OpenLiteSpeed), la opción aparece en Server Configuration > Tuning o en las configuraciones de dominio.

Caso típico en hosting compartido: no hay acceso a módulos

En muchos planes compartidos no podrás activar módulos del servidor. Aquí las alternativas prácticas:

  • Solicita al soporte técnico que habilite mod_brotli o Brotli en LiteSpeed para tu cuenta.
  • Usa un CDN que ofrezca Brotli (por ejemplo, Cloudflare activa Brotli desde su panel). Más información técnica en la documentación de Cloudflare.
  • Configura compresión en el build de tu sitio (minificación + precompresión): genera archivos precomprimidos (.br y .gz) y configura el servidor o CDN para servirlos cuando el cliente los soporte.

Cómo servir archivos precomprimidos (opción cuando no hay módulo)

Si no puedes habilitar mod_brotli, generar archivos .br durante el proceso de despliegue y dejar que el CDN o proxy los sirva es una buena alternativa. Ejemplo de comando para generar .br:

brotli --quality=5 -f archivo.js -o archivo.js.br

Luego configuraciones del servidor o CDN pueden detectar el header Accept-Encoding y servir archivo.js.br con Content-Encoding: br. En hosting compartido sin acceso a esa lógica, un CDN es la vía más práctica.

Comprobaciones y pruebas

  • Comprobar respuesta con curl: curl -H 'Accept-Encoding: br' -I https://tudominio.com/archivo.js y verificar Content-Encoding: br.
  • Auditoría con Lighthouse o PageSpeed para ver reducción en bytes transferidos.
  • Revisar CPU y tiempos de respuesta: en planes muy limitados, subir demasiado la calidad puede aumentar latencia. Monitorea el TTFB después de activar Brotli.

Consideraciones de seguridad y compatibilidad

  • No comprimir respuestas que contengan datos sensibles concatenados con entrada del usuario en contextos de ataque BREACH; evita comprimir respuestas con tokens o datos secretos expuestos.
  • Implementa reglas para excluir recursos pequeños y tipos binarios para ahorrar CPU sin perder beneficio.
  • Comprueba compatibilidad de clientes: todos los navegadores modernos soportan Brotli para HTTPS; en conexiones HTTP, el soporte es menos relevante y gzip actúa como fallback.

Recomendaciones finales y buenas prácticas

  • Prioriza activar Brotli para HTML, CSS, JS, JSON y SVG; usa gzip como fallback para mayor compatibilidad.
  • Ajusta la calidad entre 4 y 6 en hosting compartido para equilibrio CPU/compresión.
  • Si no puedes acceder al servidor, usa un CDN con Brotli o genera archivos .br en el proceso de despliegue.
  • Mide siempre antes y después: bytes transferidos, LCP/CLS y TTFB. La mejora en SEO y UX es real cuando la compresión se configura correctamente.

Referencias técnicas

Para profundizar en especificaciones y encabezados HTTP relacionados consulta la documentación del protocolo en MDN Web Docs, la implementación y directivas en Apache mod_brotli y las guías de uso y beneficios en Cloudflare.

Conclusión

Brotli es una mejora tangible en la entrega de contenido para sitios alojados en planes compartidos. Cuando el servidor lo permita, una configuración .htaccess bien diseñada (o la activación por parte del proveedor) ofrece compresión eficiente con impacto mínimo en CPU si se eligen niveles moderados. Si el módulo no está disponible, las soluciones viables son el uso de CDN con Brotli o la entrega de archivos precomprimidos. Siempre comprueba con herramientas como curl y Lighthouse y monitoriza el comportamiento para garantizar que la mejora en tamaño transferido no incremente de forma indeseada la latencia o carga del servidor.