Activa la compresión gzip en tu web con el archivo .htaccess

Tweet about this on TwitterShare on LinkedIn0Share on Google+0Share on Facebook0Email this to someone

haz que tu web cargue más rápido activando la compresión gzip

Post actualizado el 12/04/2015

Muy importante: hacer cambios en el archivo .htaccess de tu servidor puede hacer que tu web deje de funcionar y hasta que dejes de tener acceso al panel de gestión de CMS, como WordPress.

Haz SIEMPRE una copia de seguridad del archivo (al menos) antes de hacer ningún cambio: en caso de fallos o problemas, subes de nuevo el backup y vuelta a probar.

Hoy he necesitado crear un archivo access, para activar la compresión gzip en este servidor. Como tenía que hacerlo yo, y visto que no tenía literalmente ni papa de como hacer el archivo .htaccess y habilitar la opción de comprimir con gzip, me he puesto a googlear y a pesar de haber un montón de información al respecto, no me ha sido fácil dar con respuestas realmente concisas y concretas.

Así que para el que necesite saber como hacer un archivo .htaccess para redireccionar, añadir permisos, cambiar de www a sin ellas, abre la web: www.htaccesseditor.com y selecciona los campos y características que necesite tu htaccess y en tiempo real te genera el código.

Opción 1: mod_gzip

Este módulo de Apache (en servidores bajo Linux, la mayoría de los hostings webs lo usan) lo que hace es pre-comprimir los archivos antes de la petición de los usuarios que accedan a tu web, con lo cual evita consumos de cpu/ram en el momento y a priori es mejor.

Requiere que esté activo en la configuración de Apache, osea que o tienes un VPS/Servidor dedicado o tendrás que pedirle a tu empresa de hosting si está activo o si pueden activartelo.

Y ahora para añadir la compresión por gzip, copia y pega estas lineas de código en tu archivo .htaccess, debajo de lo que generó la web anterior (o de lo que tuvieras en tu .htaccess original):

mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Opción 2: mod_deflate

Este es el módulo standar y la opción más fácil, puesto que es muy raro que este módulo no esté activo en el servidor. Aun así, si pruebas con ambos y la compresión por gzip sigue sin funcionar, contacta con tu empresa de hosting y deberían darte una solución o explicación.

Nota: usando esta opción los archivos se comprimen al haber petición, con lo cual no es a priori tan rápido como usar el mod_gzip.

# para comprimir textos, html, javascript, css,y archivos xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# O bien comprime los archivos según su extensión:

SetOutputFilter DEFLATE

Solo queda hacer un copia y pega del resultado en un archivo que tienes que guardar como “.htaccess” a pelo, y subirlo donde corresponda a tu servidor. (ojo esto te servirá si tu servidor funciona bajo Apache)

Jodo y ya funciona la compresión gzip ? Pues sí, puedes comprobarlo a través de esta herramienta comprobar gzip deflate gratuita :)

La aplicación gratuita para crear el archivo .htaccess lo encontré en el blog del seo Muñoz, desde aquí mi agradecimiento.

Tweet about this on TwitterShare on LinkedIn0Share on Google+0Share on Facebook0Email this to someone

12 comentarios a “Activa la compresión gzip en tu web con el archivo .htaccess”

  1. He dado con tu blog, porque hoy he intentado comprimir con gzip mi página web.
    He creado el .htaccess y le he añadido el siguiente código:

    # BEGIN GZIP

    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript

    # END GZIP

    Este código lo encontré aquí: http://css-tricks.com/snippets/htaccess/active-gzip-compression/

    El problema es el siguiente, he ido a comprobar mi web en la herramienta que has comentado tú, pero me dicen que no está comprimido. Lo único que se me ocurre es que mi web es estática (HTML y CSS) y esto a lo mejor sólo funciona con PHP, ¿tú q dices?

    Muchas gracias
    Buen trabajo!

  2. Conseguido!
    Al final no he tenido que hacer nada, sino ESPERAR, parece ser q no es algo inmediato. Ya tengo activado el gzip.

    Muchas gracias por la info

    • hola.
      cuanto se demoro para que se active el gzip con tu codigo en .htaccess

      Johan Tapia 24/02/2014 en 04:39
      • Hola Johan,
        Una vez que subes el archivo con los cambios, el efecto es inmediato. Refrescas y ya debería cargarte esas nuevas directivas: ojo, que muchas veces la caché no se vacía bien en Firefox por ejemplo y te vuelves loco pensando que no funciona!

  3. Hola pasape, antes que nada no soy un experto en servidores ni php pero te aporto mi granito de arena:

    – En los condicionantes hay una referencia a mod_deflate.c así que entiendo que ese archivo/comando tiene que estar presente para que funcione, compruebalo.

    – Otra posible causa de que no funcione, es que tu servidor no lo admita: bien porque sea un server que no acepte esos comandos y tengan que ser otros (no es lo mismo bajo Apache que Linux). Lo más fácil sería que le preguntaras a tu hosting si es posible utilizarlo y que te den una idea de cómo hacerlo.

    Por último, también puedes probar tal y como lo he hecho yo, que funcionar funciona(al menos para Apache). Para comprobarlo puedes usar la herramienta que puse y/o también ve a woorank.com y después de generar el informe, abajo del todo te confirma si la compresión gzip está habilitada o no.

    Espero que te sirva y gracias por el comentario ;)

    seofreelance.biz 03/03/2011 en 13:38
  4. Me alegro, la verdad es que a veces nos impacientamos demasiado, yo el primero.

    Me quedo con el link de css que pusiste, que no lo conocía gracias

    seofreelance.biz 03/03/2011 en 14:09
  5. Muy agradecido contigo!

    Luis Moran 24/01/2012 en 11:45
  6. Hola, estoy intentando comprimir mi web pero las webs medidoras etc o como la que tu has indicado me dicen que no está comprimida y estoy desesperado. Estoy alojado en nominalia y no sé que tipo de servidor tienen pero presupongo que sera apache. He accededido a http://www.dominio.com/wp-admin/options.php y he dado el valor 1 al campo gzipcompression y he guardado. El resultado ha sido el mismo, ningun.
    Después y con esta opción habilitada, en mi htcaceess he escrito el siguiente código:
    # Compresión GZIP

    AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
    AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
    AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
    AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
    AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
    AddOutputFilterByType DEFLATE font/truetype font/opentype

    # END compresión

    Pero tampoco funciona, estoy pensando que el problema es del servidor o que tal vez tenga que esperar.

    Gracias.

    • Hola Pablo,

      A ver puede ser que el “problema” sea del server y que no esté activo el deflate, prueba a usar el mod gzip (he actualizado el post) y en caso negativo contacta con tu proveedor de hosting para que te aclare como puedes hacerlo (si te deja, que algunas empresas parece que quieran que la web siga en el paleolítico).

  7. Muchas gracias se ha solucionado.
    El problema, como venía, pensando era del servidor.
    He puesto tu código en el .htaccess y he realizado pruebas y me admite ya la compresión.
    Gracias.

Deja un comentario

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

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies