¿Cómo reducir el tiempo de carga de un sitio web Joomla?
Reducir los tiempo de carga de un sitio web Joomla nos permite mejorar la experiencia de los usuarios que hacen uso del sitio web, ganar posiciones dentro de los motores de búsqueda, a demás permite optimizar el uso de recursos como el espacio de almacenamiento y ancho de banda de los servidores utilizados y reducir el consumo de datos de los dispositivos móviles.
Hasta hace poco tiempo, existía la creencia en el mundo del desarrollo web, de que era mejor o más económico desarrollar sitios web a la medida o con HTML puro, haciendo a un lado o desprestigiando a los Sistemas de Administración de Contenidos como Joomla o Wordpress con argumentos como la optimización de recursos o la dificultad de personalización. Afortunadamente con desarrolladores cada vez mejor capacitados, clientes mejor informados y con ayuda de las comunidades y ecosistemas de desarrollo de estas plataformas, estos mitos se escuchan cada vez menos.
Joomla por si sólo, no cuenta con la mejor optimización en cuestión de tiempos de carga, pero con la ayuda de algunos plugins y configuraciones, podemos lograr tiempos de carga en el rango del 90% - 95% de Pagespeed Insights.
¿Cómo reducir el tiempo de carga de un sitio web Joomla?
En todos los sitios web de Joomla en los que trabajo, doy gran importancia a los tiempos de carga, por lo que he desarrollado un conjuntos de pasos hacia este fin, que a continuación comparto:
1. Antes de comenzar: La optimización debe realizarse una vez que el sitio web en cuestión está completamente desarrollado y el contenido o la mayor parte de él ha sido cargado, esto con el fin de evitar consumir tiempo innecesario de desarrollo.
2. Optimización de Plantilla: La mayor parte de las plantilla de Joomla más comerciales, tienen una excelente capacidad de optimización. Si estas utilizando una plantilla comercial (Yootheme, Rockettheme, Joomlart), te recomiendo que habilites las opciones de minificación de recursos: Gzip. Si tu plantilla no es comercial o no cuenta con este tipo de optimización, puedes intentar habilitando la configuración de Joomla: Gzip Page Compression.
3. Habilita el Cache de Joomla: Puedes hacerlo desde la configuración global de Joomla, mi recomendación es que utilices la opción: ON - Conservative Caching. A demás deberás habilitar el plugin: System - Cache.
4. Configuraciones .htaccess para Joomla: El archivo .htaccess se encuentra en la carpeta raíz de tu instalación de Joomla, este archivo es el encargado de indicarle al servidor como procesar tu sitio web. Puedes agregar estas líneas al final de dicho archivo para optimizar el Cache de recursos.
########## Begin - ETag Optimization
## This rule will create an ETag for files based only on the modification
## timestamp and their size.
## Note: It may cause problems on your server and you may need to remove it
FileETag MTime Size
# AddOutputFilterByType is now deprecated by Apache. Use mod_filter in the future.
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
# Enable expiration control
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
ExpiresByType application/vnd.wap.wbxml "now plus 1 month"
ExpiresByType application/smil "now plus 1 month"
# Audio files expiration: 1 month after request
ExpiresByType audio/basic "now plus 1 month"
ExpiresByType audio/mid "now plus 1 month"
ExpiresByType audio/midi "now plus 1 month"
ExpiresByType audio/mpeg "now plus 1 month"
ExpiresByType audio/x-aiff "now plus 1 month"
ExpiresByType audio/x-mpegurl "now plus 1 month"
ExpiresByType audio/x-pn-realaudio "now plus 1 month"
ExpiresByType audio/x-wav "now plus 1 month"
# Movie files expiration: 1 month after request
ExpiresByType application/x-shockwave-flash "now plus 1 month"
ExpiresByType x-world/x-vrml "now plus 1 month"
ExpiresByType video/x-msvideo "now plus 1 month"
ExpiresByType video/mpeg "now plus 1 month"
ExpiresByType video/mp4 "now plus 1 month"
ExpiresByType video/quicktime "now plus 1 month"
ExpiresByType video/x-la-asf "now plus 1 month"
ExpiresByType video/x-ms-asf "now plus 1 month"
5. Instalar y habilitar JotCache: JotCache es una excelente extensión desarrollada por JotComponents espeíficamente para Joomla. Gracias a esta extensión es posible servir a los usuarios versiones estáticas de cada página del sitio web, es decir, el componente guarda una versión estática en cache cuando se ejecuta por primera vez, posteriormente los usuarios que quieran visitar la misma página, reciben la versión guardada en cache, optimizando los tiempos de respuesta del servidor y reduciendo las peticiones hechas a la base de datos.
6. Instalar y habilitar JCHOptimize: JCHOptimize es otro excelente plugin, es de pago por lo que no es tan conocido y utilizado. Es una buena opción para minificar los recursos JS y CSS de Joomla.
Espero que esta guía te sea de utilidad, si requieres ayuda adicional con las configuraciones y puesta a punto de tu sitio web Joomla, no dudes en contactarme.
Fernando Martínez http://www.fernandomartinez.mx/
Especialista en inbound marketing para empresas de México
Etiquetas: Joomla, Extensiones de Joomla, Optimización de Sitios Web, Experiencia de Usuario