Sistema Internet de la Presidencia
SIP.gob.mx
 

Mejora el rendimiento de tu web optimizando tu servidor

Algo fundamental para ello es la configuración correcta de nuestro servidor, antes incluso de empezar a optimizar la web.
Una de las premisas para mejorar posicionamiento en buscadores va a ser sin duda el rendimiento de la web, tiempos de carga etc.

Esto no solo mejora la experiencia de usuario, si no que tambien nos beneficia a nosotros reduciendo mucho el consumo de ancho de banda del servidor y permitiendole al bot Google o cualquier otro buscador tener que descargar menos Kb. para rastrear las paginas del sitio facilitándole asi el trabajo.

Algo fundamental para ello es la configuración correcta de nuestro servidor, antes incluso de empezar a optimizar la web.

Si tu servidor es Apache lo primero que hay que hacer es asegurarse de que los siguientes modulos estan instalados y habilitados.

* mod_deflate
* mod_expires
* mod_headers

Para comprobar que modulos hay habilitados en Apache, nos podemos ayudar de la siguiente funcion en php:

<?php
print_r(apache_get_modules());
?>


Esto devolverá un array similar a este:

Array
(
[0] => core
[1] => http_core
[2] => mod_so
[3] => sapi_apache2
[4] => mod_mime
[5] => mod_rewrite
)

En el caso de que no aparezcan los modulos que comentamos, para apache2 podemos habilitarlos desde consola con el siguiente comando

a2enmod enable [module]

Ejemplo:

a2enmod enable mod_deflate

¿Que hace cada modulo?

  • El modulo mod_deflate comprime nuestos documentos .html, .css y .js, reduciendolos en algunas ocasiones hasta en un 80%.

  • El modulo mod_headers nos permite modificar las cabeceras enviadas por el servidor, lo que es bastante util.

  • El modulo mod_expires se utiliza para enviar en las cabeceras información sobre la caducidad de un contenido, lo que es util para cachear contenido estatico.
Una vez habilitados los tres modulos podemos modificar nuestro .htaccess para poder utilizarlos.

MOD_DEFLATE

Gracias a mod_deflate es posible comprimir nuestro contenido. Para ello hay que añadir las siguientes lineas a el .htaccess :

# Insert filter on selected content types only
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

La linea AddOutputFilterByType… indica que apache debe comprimir el contenido de los formatos indicados. Debido que en algunos navegadores como el recientemente muerto IE6 daba problemas con la compresion gzip las siguientes lineas son para evitar comprimir contenido para navegadores antiguos.

Despues utilizando Google Page Speed o Yahoo Yslow podemos comprobar que en realidad esta comprimiendo nuestros ficheros.

Nota: En ocasiones y dependiendo del SO del servidor no se comprimen los js, si esto sucede debemos comprobar que existen las siguientes lineas en el fichero /etc/mime.types

text/javascript js
application/javascript js
application/x-javacript js


Despues volver a comprobar si comprime los ficheros javascript. En el caso de Debian y Fedora funciona correctamente, aunque en CentOs ha dado algunos problemas.

MODULO MOD_EXPIRES

Gracias al modulo mod_expires podemos cachear el contenido estático, acelerando la carga de la web por que menos peticiones por pagina a la hora de navegar por nuestra web.

Para ello debemos añadir las siguentes lineas a fichero .htaccess:

<IfModule mod_expires.c>
<filesmatch "\.(gif|GIF|png|jpg|jpeg|JPG|js|css|swf|ico)$">
ExpiresActive On
ExpiresDefault "access plus 30 day"
</filesmatch>
</IfModule>


Eso cachea todo el contenido estático que este entre las extensiones que se señalan entre parentesis, y se nota.

MODULO MOD_HEADERS

Aunque el modulo mod_headers se puede utilizar para mas de una cosa en este caso solo lo vamos a utilizar para eliminar las famosas Etags

¿Qué son las Etags?

Las ETags son unos identificadores que se envían al navegador para identificar el “estado” de una página dinámica o de un archivo estático.

Aunque mucha gente cree que Yahoo dice que hay que habilitarlas lo cierto es que es al contrario… asi lo hace Yslow, sube la puntuación al eliminarlas.

Para eliminar dichas etiquetas se añade las siguientes lineas al archivo .htaccess:

#INICIO deshabilitar ETag
<ifmodule mod_headers.c="">
Header unset ETag
</ifmodule>
FileETag None
# FIN deshabilitar ETag

Con esto habremos optimizado la configuración de nuestro servidor y acelerado considerablemente la carga de la web.



Última actualización el Martes, 06 de Julio de 2010 11:07
 
Av. Constituyentes #161, Col. San Miguel Chapultepec, MÉXICO D.F., C.P 11850 - Tel. +52 (55)5093 5300

Comentarios sobre este Sitio de Internet Comentarios y Sugerencias sobre este Sitio de Internet                         McAfee SECURE sites help keep you safe from identity theft, credit card fraud, spyware, spam, viruses and online scams
 
SISTEMA INTERNET DE LA PRESIDENCIA, MÉXICO - ALGUNOS DERECHOS RESERVADOS © 2010 - POLÍTICAS DE PRIVACIDAD Políticas de Privacidad