Cómo activar la compresión Brotli en WordPress

Ampliación de Brotli

La compresión de datos es el proceso de reducir el tamaño de los archivos gracias a los algoritmos de codificación LZ77 y Huffman antes de enviarlos a los navegadores. Existen varios métodos de compresión como GZIP o Brotli que juegan un papel fundamental a la hora de mostrar miles de millones de páginas a los usuarios diariamente.

GZIP es un algoritmo de compresión de código abierto que localiza y elimina los caracteres duplicados de los archivos de texto. Su objetivo es comprimir las páginas web en el lado del servidor y descomprimirlas en el navegador. El objetivo es reducir el tamaño de los archivos de tu sitio (HTML, JS y CSS) para obtener un código más rápido.

A continuación, el compresor GZIP utiliza el algoritmo de codificación Huffman para comprimirlo aún más. Los caracteres que aparecen con más frecuencia obtienen el menor número de bits, mientras que los caracteres más raros obtienen el mayor número de bits:

El algoritmo de codificación Huffman comprime sin pérdidas toda la cadena de texto generando un árbol binario con cada letra única como hoja. Asigna un código binario a cada carácter en función de su frecuencia:

La compresión de datos tiene un efecto positivo en el rendimiento de su sitio WordPress. Activar la compresión de texto le permite servir recursos basados en texto más pequeños a sus usuarios. Archivos más pequeños significan archivos más rápidos de descargar. Como resultado, los visitantes estarán contentos porque no tienen que esperar para ver el contenido de su página.

Brotli frente a gzip

WordPress es un gran CMS por varias razones. Es fácil de usar, tiene una gran comunidad, es configurable, y mucho más. Sin embargo, una cosa que los usuarios de WordPress parecen luchar con bastante frecuencia es el rendimiento de su sitio de WordPress. Este post echará un vistazo a la compresión Brotli, y sus efectos sobre el rendimiento de WordPress.

  Redirecciones 301 imprescindibles para migraciones o cambios de URL en WordPress sin perder SEO

Brotli debería estar correctamente instalado en su servidor. A continuación, tendrá que configurar su archivo nginx.conf para especificar las directivas de configuración deseadas. Las siguientes directivas se utilizaron para realizar estas pruebas de rendimiento; no obstante, puede modificarlas como considere oportuno.

En este punto, debería poder entregar correctamente sus activos de WordPress utilizando la compresión Brotli. Sin embargo, si comprueba los detalles de la cabecera de petición para el documento HTML, probablemente observará que el valor de codificación de contenido sigue siendo “Gzip”. Esto se debe al código PHP de WordPress, que depende de la configuración de PHP `zlib.output_compression` “On”.

Desafortunadamente, esto no es algo que se pueda cambiar usando un filtro WP por el momento. Sin embargo, como la popularidad de Brotli sigue creciendo, tal vez WordPress pueda introducir una solución sencilla. Por el momento, necesitará desactivar zlib.output_compression manualmente, editando su archivo php.ini (localizado en /etc/php/7.0/fpm/php.ini si usa PHP 7.0). Simplemente establezca zlib.output_compression = Off y reinicie PHP usando systemctl restart php7.0-fpm.service.

Soporte del navegador Brotli

Entonces, cuando se trata de la compresión Brotli vs GZIP para su sitio web WordPress, ¿cuál debería usar? Y lo que es más importante, ¿importa realmente esa pregunta, o vale cualquiera de los dos métodos de compresión? Averigüémoslo.

Además, la compresión GZIP es mucho más fácil de usar en WordPress debido a su adopción casi universal, por lo que es un buen punto de partida para la mayoría de los usuarios de WordPress que aún obtendrá su sitio los beneficios de la compresión.

  Elegir para qué categorías de producto enviará factura WooCommerce PDF Invoices & Packing Slips

En primer lugar, si estás usando WP Rocket, tu sitio ya se está beneficiando de la compresión GZIP. WP Rocket activa automáticamente la compresión GZIP tan pronto como activas el plugin – no necesitas realizar ninguna acción manual.

Sin embargo, si sólo quieres un plugin que se centre en la compresión GZIP, puedes usar el plugin gratuito Enable GZIP Compression en WordPress.org. Una vez que instales y actives el plugin, ve a Ajustes → Compresión GZIP y haz clic en el botón Activar compresión GZIP:

Si estás dispuesto a utilizar el servicio CDN de Cloudflare, puedes habilitar la compresión Brotli con solo pulsar un botón. Solo tienes que buscar el ajuste Brotli en la pestaña Velocidad del panel de control de Cloudflare de tu sitio:

Cloudways brotli

WordPress es un gran CMS por varias razones. Es fácil de usar, tiene una gran comunidad, es configurable, y mucho más. Sin embargo, una cosa que los usuarios de WordPress parecen luchar con bastante frecuencia es el rendimiento de su sitio de WordPress. Este post echará un vistazo a la compresión Brotli, y sus efectos sobre el rendimiento de WordPress.

Brotli debería estar correctamente instalado en su servidor. A continuación, tendrá que configurar su archivo nginx.conf para especificar las directivas de configuración deseadas. Las siguientes directivas se utilizaron para realizar estas pruebas de rendimiento; no obstante, puede modificarlas como considere oportuno.

En este punto, debería poder entregar correctamente sus activos de WordPress utilizando la compresión Brotli. Sin embargo, si comprueba los detalles de la cabecera de petición para el documento HTML, probablemente observará que el valor de codificación de contenido sigue siendo “Gzip”. Esto se debe al código PHP de WordPress, que depende de la configuración de PHP `zlib.output_compression` “On”.

  Como ocultar páginas en Wordpress

Desafortunadamente, esto no es algo que se pueda cambiar usando un filtro WP por el momento. Sin embargo, como la popularidad de Brotli sigue creciendo, tal vez WordPress pueda introducir una solución sencilla. Por el momento, necesitará desactivar zlib.output_compression manualmente, editando su archivo php.ini (localizado en /etc/php/7.0/fpm/php.ini si usa PHP 7.0). Simplemente establezca zlib.output_compression = Off y reinicie PHP usando systemctl restart php7.0-fpm.service.