Hace un par de días estuve hablando con miembros de mi equipo de trabajo sobre ¿Cómo hacer que una web cargue mas rápido?, hoy he leído un artículo sobre un colega (Alexis Cardenas) en donde habla sobre como optimizar las webs a manera de código que básicamente se fundamentaban en dos cosas:
- Hacer código javascript mas optimo, reducido, etc…
- Hacer que la programación en php sea optima igualmente
Ahora yo quiero mostrar herramientas adicionales para hacer que un sitio cargue mucho más rápido.
- Utilizar algun compresor para el código javascript, el más popular es YUI Compressor pero en la web hay una gran lista de ellos, aquí dejo el nombre de algunos otros importantes: Packer, Crunchy, JSCruncher, Dojo ShrinkSafe
- Para comprimir una página web donde puedes ejecutar PHP colocas al inicio del archivo:
<?php ob_start(«ob_gzhandler»); ?>
y luego, despues de cualquier codigo PHP ponemos: <?php ob_end_flush(); ?> - Para el CSS y el JAVASCRIPT, en el archivo .htaccess agregamos lo siguiente:
AddHandler application/x-httpd-php .css .js php_value auto_prepend_file /home/… RUTA LOCAL …/public_html/gzip-start.php php_value auto_append_file /home/… RUTA LOCAL …/public_html/gzip-end.php
En el archivo gzip-start.php ponemos: <?php ob_start(«ob_gzhandler»); ?>
y en el archivo gzip-end.php ponemos: <?php ob_end_flush(); ?>
Esto ayuda al tiempo de carga debido a que ahorrando tiempo al transferir los archivos se ahorran recursos de CPU y RAM y al transferir menos información el cliente puede mostrar la web mucho mas rápido.
Rafa, excelente articulo, bueno no entiendo muy bien la parte de por favor me gustaria que explicaras en detalle esto.
cual parte carlos?
la parte que dice ob_start(”ob_gzhandler”);.
Carlos,
esa línea tan sencilla hace algo muy útil ya que le dice al servidor que esa pagina web que se mostrará a continuación la envíe al cliente como una página web comprimida con gz, luego el cliente la recibe y la descomprime, por lo general con gzip, todos los navegadores soportar este tipo de compresión, así de este modo el archivo html pesará menos y por lo tanto cargará mas rápido 🙂
Esto no funciona solo para html sino para en general cualquier archivo de texto plano que el navegador deba interpretar, me refiero a html, css, javascript… aquí te dejo el link de la web oficina para que veas un poco mas amplia el detalle de esta función.
http://php.net/manual/en/function.ob-gzhandler.php
Interesante, como también:
Best Practices for Speeding Up Your Web Site:
http://developer.yahoo.com/performance/rules.html
El performance es el combustible de las webapps.