viernes, 27 de julio de 2012

Mejorar la velocidad de carga de una Web

Uno de los problemas que se le presenta a un Webmaster sobre una web es cómo mejorar la velocidad de carga.
Debido a que en toda web hay una gran cantidad de scripts e imágenes la velocidad de carga en ocasiones deja mucho que desear. Y claro a la vista del público la página no es demasiado formal; y si además de eso es una web dedicada a la venta de un producto o servicio puede llegar a provocar un cierto descenso de las ventas o miedo a comprar.
Este es uno de los problemas que se nos presentó en nuestra web corporativa dedicada al sector turístico (Hoteles).
Tras hacer multitud de cambios en el diseño y en la programación del portal, observamos un descenso sorprendente en la velocidad de carga. Necesitábamos buscar una solución para ello y lo encontramos.

Una forma muy utilizada y que a nosotros nos sirvió fue el comprimir los archivos que forman parte de la web. Esta compresión llegaba a un 75%-90% del espacio original y provocando el mismo descenso en retardo en la velocidad de carga.

¿Cómo comprimir los archivos?
Como en nuestro caso poseemos un servidor con sistema Debian podemos usar la herramienta Gzip.
Para hacerlo existen 3 formas:
  1. En el archivo .htaccess. Añadimos la siguiente línea:  php_flag zlib.output_compression On
  2. En el archivo php.ini. Ponemos a On la siguiente línea:  zlib.output_compression = On
  3. Añadir en cada script php antes de cualquier output:  ini_set(‘zlib_output_compression’,’On’);
Otra forma que también podemos utilizar es aprovechar la cache de los navegadores ya que estos guardan casi todo (imágenes, archivos CSS, js, etc...). Lo que ocurre es que si no le indicamos nada no lo guarda en cache por lo que cuando el usuario navegue en la web tendrá que descargarla de nuevo cada vez.

¿Cómo indicar que se guarde la web en cache?
Podemos hacerlo  modificando el .htacces para que añada un expire header a los archivos solicitados, provocando así que si este expire no ha caducado, guarde los archivos en la cache del navegador.
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"><br />
Header set Expires "Thu, 26 Jul 2040 20:00:00 GMT"<br />
FilesMatch>
Si realizamos estos sencillos pasos podemos aumentar la velocidad de carga del navegador en casi un 95% más. Yo creo que merece la pena.

No hay comentarios:

Install Drupal 8 in CentOS

Drupal is an open source, flexible, highly scalable and secure Content Management System (CMS) which allows users to easily build and create...