¿Alguna vez has probado tu página en Google PageSpeed insights?
La puntuación es bastante dura con usted si usted no sigue sus reglas de optimización. Y aquí estamos para discutir un aspecto específico de esta optimización: la compresión de texto.
¿Cómo se comprime su página (también conocido como GZIP me por favor)
Convenientemente, Google PageSpeed insight nos proporciona información sobre las mejoras de rendimiento necesarias, y sobre la compresión de texto que menciona:
Los recursos basados en texto deben servirse con compresión para minimizar el total de bytes de red.
Aquí puede encontrar lo que más google tiene que decir sobre el argumento: Habilitar la compresión de texto
Qué hacer
No soy un experto de ninguna manera, acabo de buscar en Google y recopilé la información necesaria para mi caso específico, espero que alguien más tenga una configuración similar y lo encuentre útil.
Cambiar el archivo NGINX .conf
Si su servidor funciona con nginx, tendrá que modificar el archivo .conf que sirve a su dominio, o todos sus dominios en el mismo servidor, dependiendo de dónde modifique el archivo.
En mi caso tuve que añadir lo siguiente en el archivo wordpress.conf que sirve a este dominio:
gzip on;
gzip_vary;
gzip_min_length 10240;
gzip_proxied auth privado sin almacenamiento sin caché caducada;
gzip_comp_level 5;
gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/rss+xml text/javascript image/x-icon image/bmp image/svg+xml;
gzip_disable "MSIE "MSIE";
[1-6] gunzip encendido;
Este artiche de la república tecnológica, amablemente nos explican también el significado de cada línea:
- gzip en -> algo intuitivamente esto permite la compresión gzip
- gzip_vary activado: -> indica a los proxies que almacenen en caché las versiones gzipped y regulares de un recurso
- gzip_min_length 1024; -> informa a NGINX para no comprimir nada más pequeño que el tamaño N (en este caso 1024)
- gzip_proxied -> comprimen los datos incluso para los clientes que se conectan a través de servidores proxy
- gzip_types -> habilita los tipos de archivos que se pueden comprimir
- gzip_disable "MSIE "MSI[1-6]E"; -> Deshabilitar la compresión para versiones anteriores de Internet Explorer
- gunzip encendido; -> En otro lugar leí que también tengo que habilitar la descompresión, o de lo contrario no hará eso. (esto no está incluido en este artículo, pero lo dejaré aquí como lo hice y creo que ayudó a elevar la clasificación)
Aún no hemos terminado: .htaccess config
Sí, la segunda parte requiere configurar el lado apache de las cosas, allí tendrá que asegurarse de especificar lo siguiente:
<IfModule mod_deflate.c="">
<FilesMatch ".(html|php|txt|xml|js|css)$"="">SetOutputFilter DEFLATE</FilesMatch>
</IfModule>
Algunas personas también incluyen archivos de imagen y otros utilizan una configuración totalmente diferente como:
<IfModule mod_deflate.c="">• Comprimir HTML, CSS, JavaScript, texto, XML y fuentes
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE fuente/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE texto/plano
AddOutputFilterByType DEFLATE text/xml
• Eliminar errores del navegador (sólo es necesario para navegadores realmente antiguos)
BrowserMatch (BrowserMatch) -Mozilla/4 gzip-only-text/html
BrowserMatch (Navegador de Coincidencias) -Mozilla/4-.0 [678]no-gzip
BrowserMatch !bMSIE !no-gzip !gzip-only-text/html
Anexador de encabezado Vary User-Agent</IfModule>
No he probado esta última configuración, ya que la primera funcionó bien para mí, sin embargo, lo dejaré aquí en caso de que en el futuro tenga que trabajar en esto en otros sitios.