Mod_deflate para optimizar velocidad web

mod_deflate es un módulo para Apache que permite comprimir los datos antes de enviarlos al navegador. Esto hace que la web esté mas optimizada a lo que velocidad se refiere. Yo me voy a centrar en un servidor CentOs para poner cómo habilitarlo y configurarlo, pero en debian, ubuntu server… es lo mismo.
Últimamente Google te lo exige para darle buena nota a tu web… no digo mas.

1. Fichero httpd.conf

Debemos editar el fichero httpd.conf para habilitar y configurar el módulo. Este fichero de configuración en CentOS está en:

1
/etc/httpd/conf/httpd.conf

2. Editarlo

Como seguramente estaremos trabajando en una conexión remota SSH, deberemos utilizar un editor como vi o nano. Personalmente me decanto por nano. Los usuarios de Ubuntu o debian también pueden utilizar ne (nice editor) que es muy bueno.

3. Habilitat el módulo

Dentro del fichero, vamos bajando hasta encontrar las órdenes que habilitan los módulos. Hay que decir que normalmente en CentOs ya viene habilitado por defecto, pero para confirmarlo, deberemos comprobar que esté la linia:

1
2
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

Repito, normalmente ya te viene activado. Comprobadlo. En el caso que no esté, añadís las línias (y a malas, igual tenéis que añadir los módulos).

4. Configurando el módulo

Ahora toca configurar el módulo. Añadimos las siguientes linias, aunque puede ser que por necesidades específicas debáis añadir de nuevas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<IfModule mod_deflate.c>
 
# Indicamos que tipos MIME vamos a comprimir
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
 
# Indicamos nivel de compresión (El mas alto 9 - El mas bajo 1)
DeflateCompressionLevel 9
 
# Netscape 4.x tiene algunos problemas
BrowserMatch ^Mozilla/4 gzip-only-text/html
 
# Netscape 4.06-4.08 también tiene algunos problemillas
BrowserMatch ^Mozilla/4\.0[678] no-gzip
 
# MSIE Microsoft Internet Explorer
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
<IfModule mod_headers.c>
# Nos aseguramos que los proxies no entregan contenido erroneo
Header append Vary User-Agent env=!dont-vary
</IfModule>
 
</IfModule>

Pues ale, configurado.

5. Reiniciamos servidor

Vamos allá.

1
/etc/init.d/apachectl restart

6. Confirmamos que todo está OK

Con la herramienta WebSniffer comprobamos que en el header de vuelta contiene Content-Encoding gzip

Web sniffer – Leer header petición web

Fuente información

Artículos relacionados

Internacionalización de páginas web Hasta ahora, cuando queríamos indicarle a Google que la página también está disponible en otros idiomas, lo hacíamos con 'metaetiquetas'. Supongamo...
Google PageSpeed Si no conoces esta herramienta, tienes todos los números que tu web no esté bien posicionada en Google. Esta herramienta online, te permite saber que ...
Robots.txt – Disallow erroneo Pequeño ejemplo de cómo una mala configuración del fichero robots.txt te puede dar la tarde. Resulta que Google no encajaba bien la web versión móv...
Directrices Google para webmasters Cada cierto tiempo, en el blog de webmasters de Google van publicando artículos y resúmenes de las directrices que debemos seguir los que desarrollamo...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*