Comprimir nuestro HTML

WordPress, por defecto, envía al ordenador del usuario nuestro site en HTML descomprimido. Es decir, tal cual, de modo que el navegador de nuestros visitantes debe realizar algo más de trabajo que si nuestro HTML estuviera totalmente compactado.

Usando zlib, una librería nativa de PHP, podremos comprimir los archivos que enviemos de forma notable y con ello dar más potencia y rapidez a nuestro site.

Para ello, vamos primero a hacer un test y comprobar que nuestro servidor tiene instalado el módulo de zlib para nosotros: creamos un archivo llamado index.php y pegamos en él lo siguiente:

<? php phpinfo (); ?>

Recordemos quitar el espacio en la apertura del php, añadido aquí a efectos de muestra. Luego lo subimos a una nueva carpeta en nuestro host llamada /test-zlib, y apuntamos nuestro navegador hasta dicho archivo, para ver si nuestra configuración tiene disponible zlib o no.

Si es el caso, iremos al header.php de nuestro tema en uso y pegaremos, antes del DOCTYPE (inicio del HTML), lo siguiente :

<? php
ini_set ('zlib.output_compression', 'On') ;
ini_set ('zlib.output_compression_level', '1') ;
?>

Guardamos y regresamos a nuestro site. Ahora deberíamos poder disfrutar de nuestro HTML ‘comprimido’ de más rápida carga.

Si queréis verificar con detalle cuánto ancho de banda nos ahorra este truco, podréis hacer la comparación por ejemplo en: http://www.port80software.com

Esperamos vuestros comentarios comentarios.

Comentarios
  1. Genial truco, Ignacio. En cuanto tenga un ratillo lo pruebo. Yo para comprimir el contenido usaba un plugin, pero no sabía que PHP ya incorporaba de forma nativa esta opción.

    Escrito el24/02/2010
  2. La vdd puse en practica lo que sugieren y me manda muchos errores, se descompone la página.

    Me puse a investigar un poco más y les quiero sugerir a todos un plugin que es muy liviano y hace exactamente lo mismo que sugieren en el post.

    El plugin se llama GZippy y funciona perfecto.

    Para comprobar que se hace la compresión pueden visitar esta pagina y poner el dominio de su blog: http://www.whatsmyip.org/http_compression/

    Lo que hace el plugin es utilizar la comprensión mediante código PHP.

    El plugin agrega el siguiente archivo que les mostrare como primera linea en cada archivo PHP de nuestro blog:

    Espero les ayude a mejorar el ancho de banda.

    Saludos!!!

    Escrito el24/02/2010
  3. kzok

    Esta compresion de html no afecta al SEO de nuestra web? gracias por la respuesta y salu2.

    Escrito el24/02/2010
  4. @Aitor many thanks, en la mayoría de servidores la librería estará activada por defecto.

    @Spydeymang, está interesante el aporte, gracias, parece una solución muy buena.

    @kzok, creo que no hay ningún problema con respecto a la SEO, porque el HTML queda compactado, pero intacto por lo demás.

    Si queréis más info, podéis consultar aquí :

    http://wpmu.org/dramatically-speed-up-wordpress-and-wpmu-load-times-with-this-simple-tip/

    y en :

    http://mattsblog.ca/2008/04/07/speed-up-your-blog-using-zlib/

    http://mattsblog.ca/2008/04/07/speed-up-your-blog-using-zlib/

    Escrito el25/02/2010
  5. Toni DG

    Para quien copia y pega texto, si ponen literalmente la sentencia como está arriba tendran algún problema.

    <? php…

    Poner <?php… sin el espacio entre <? php..

    Escrito el25/02/2010
  6. Esto es lo que hacen plug-ins de cacheo como el wp-cache, etc.? o se puede aplicar esta tecnica y tambien usar los plug.ins de cacheo. o es redundante? saludos

    Escrito el25/02/2010
  7. No estaría de más comentar que si el servidor en el que se aloja la página tiene bastante carga, activar la compresión podría perjudicarnos más que beneficiarnos.

    @Juani no, lo que hacen es que cuando un usuario ve una cierta página por primera vez, se genera una versión estática de la página, que es la que se sirve posteriormente en lugar de ejecutar el código PHP y las consultas a la base de datos.

    Algunos tienen también la opción de, además, comprimir los archivos, pero no es su función principal.

    Escrito el25/02/2010
  8. Gracias por el dato Zootropo!

    Escrito el25/02/2010
  9. Gerardo

    O pueden agregar este código en el functions.php de su theme:


    function gzippy() {
    ob_start('ob_gzhandler');
    }

    if(!stristr($_SERVER['REQUEST_URI'], 'tinymce') && !ini_get('zlib.output_compression')) {
    add_action('init', 'gzippy');
    }

    Escrito el27/03/2010
  10. Gerardo

    function gzippy() {
    ob_start(‘ob_gzhandler’);
    }
    if(!stristr($_SERVER[‘REQUEST_URI’], ‘tinymce’) && !ini_get(‘zlib.output_compression’)) {
    add_action(‘init’, ‘gzippy’);
    }

    Escrito el27/03/2010
  11. Hey There. I found your blog using msn. This is a really well written article. I’ll make sure to bookmark it and come back to read more of your useful information. Thanks for the blog post. I’ll definitely comeback. 500 rubles

    Escrito el31/01/2012

DEJA TU COMENTARIO