Skip to main content

Por qué tu sitio Joomla es lento y cómo solucionarlo

Alejo Sotelo - Developer
Alejo A. Sotelo - @alejoasotelo
Publicado el 19 Abril 2026

Por qué tu sitio Joomla es lento y cómo solucionarlo

Un sitio que tarda más de 3 segundos en cargar pierde el 53% de sus visitantes antes de mostrar una sola línea de contenido. Si estás en Joomla y notás que tarda, este artículo es para vos.

Cuando un cliente me llama diciendo "mi sitio Joomla anda lento", lo primero que hago es medir. No asumir, no adivinar: medir. Porque las causas pueden ser muy distintas y la solución incorrecta no solo no ayuda — a veces empeora las cosas.

¿Cómo sabés si realmente tenés un problema?

El primer paso es diagnosticar con herramientas concretas antes de tocar nada. Las que uso habitualmente:

  • Google PageSpeed Insights — te da las Core Web Vitals reales, tanto en mobile como desktop.
  • GTmetrix — muestra el waterfall de carga, qué recurso bloquea qué y tiempos detallados.
  • WebPageTest — ideal para simular distintas ubicaciones geográficas y tipos de conexión.
  • Network en Chrome DevTools — para ver exactamente qué se descarga y cuánto pesa cada recurso.

Con ese diagnóstico en mano, el 90% de los problemas en Joomla caen en alguna de estas categorías: caché desactivada, imágenes sin optimizar, demasiados artículos por página, ausencia de CDN, extensiones mal desarrolladas o hosting subdimensionado.

1. Activar la caché de Joomla

Es lo primero que reviso y, sorprendentemente, uno de los errores más frecuentes: muchos sitios en producción tienen la caché desactivada. En Joomla se configura en Sistema → Configuración Global → Sistema → Caché. El tipo Conservadora es el punto de partida seguro para la mayoría de los sitios.

Importante: si tu sitio usa sesiones de usuario (membresías, formularios, carritos), configurá bien las exclusiones para evitar que la caché sirva contenido incorrecto a usuarios logueados.

2. Cloudflare como CDN y proxy

Cloudflare es gratuito en su plan base y hace una diferencia enorme, especialmente para sitios con visitantes de distintos países. Lo que hace por vos de forma automática:

  • Sirve archivos estáticos (JS, CSS, imágenes) desde servidores cercanos al visitante.
  • Comprime automáticamente HTML, CSS y JS con Brotli o Gzip.
  • Bloquea bots y ataques DDoS básicos.
  • Habilita HTTP/2 y HTTP/3 sin configuración adicional.
  • Permite cachear páginas enteras con sus reglas de Cache Rules.

En un caso reciente, solo con configurar Cloudflare correctamente y ajustar las reglas de caché para páginas de contenido estático, el tiempo de carga bajó drásticamente sin tocar una línea de código del sitio.

3. Reducir artículos por página

Esto parece trivial pero tiene un impacto real. Cada artículo en un listado implica consultas a la base de datos, carga de imágenes y rendering de HTML. Si tu portada o blog muestra 20, 30 o 50 artículos, estás forzando al servidor a hacer mucho trabajo innecesario para la mayoría de los usuarios que no bajan del primer scroll.

La regla práctica que aplico: entre 6 y 12 artículos por página es suficiente para casi cualquier caso. Si el contenido es largo (artículos completos), menos. Si son cards compactas, podés subir un poco más.

4. Optimización de imágenes

Las imágenes son habitualmente el 60–80% del peso total de una página. En Joomla hay varias capas donde actuar:

  • Convertir a WebP: pesa entre un 25% y 35% menos que JPG con la misma calidad visual. Joomla 4+ tiene soporte nativo. También podés usar Cloudflare Polish para convertirlas automáticamente.
  • Dimensionar correctamente: una imagen de 3000px subida para mostrarse en un card de 400px es uno de los errores más costosos. Redimensioná antes de subir.
  • Lazy loading: Joomla 4+ lo activa por defecto en el contenido, pero verificá que las extensiones de galería y sliders también lo respeten.
  • Precargar la imagen principal (LCP): la imagen más grande visible en pantalla (hero, banner) debería tener loading="eager" y un hint de preload en el head para mejorar el LCP directamente.

5. Revisar extensiones instaladas

Una extensión mal desarrollada puede arruinar toda la optimización que hayas hecho. Los síntomas más comunes: extensiones que cargan su propia copia de jQuery aunque Joomla ya la incluya, plugins que ejecutan queries pesadas en cada carga de página, o módulos que llaman a APIs externas de forma síncrona bloqueando el render.

El diagnóstico requiere habilitar el Debug System de Joomla y revisar el perfil de queries. Si una sola extensión genera 50+ queries por carga de página, es candidata a revisión o reemplazo.

El orden correcto de las optimizaciones

Uno de los errores más comunes es optimizar en el orden equivocado y no ver resultados. El orden que sigo:

  1. Medir primero con PageSpeed y GTmetrix para identificar los cuellos de botella reales.
  2. Imágenes — el mayor impacto con el menor riesgo.
  3. Caché — activarla correctamente con las exclusiones necesarias.
  4. CDN — Cloudflare o equivalente para activos estáticos.
  5. Contenido — reducir artículos por página, paginación, lazy load.
  6. Extensiones y código — el más técnico, requiere diagnóstico profundo.
  7. Hosting — último recurso, solo si todo lo anterior no alcanza.

En la mayoría de los casos, los primeros cuatro puntos son suficientes para llevar un sitio de "inaceptable" a "bien posicionado" en Core Web Vitals. El hosting es frecuentemente el chivo expiatorio cuando el problema real está en la configuración.

Caso real

Un cliente tenía su sitio Joomla cargando en más de 6 segundos en mobile. Con la combinación de activar caché en Joomla, configurar Cloudflare con reglas de caché para páginas de contenido, optimizar imágenes a WebP y reducir los artículos listados en la portada de 20 a 8, bajamos el LCP a menos de 2 segundos. Sin cambiar de hosting ni reescribir ninguna extensión.

¿Tu sitio Joomla está lento?

Puedo hacer un diagnóstico completo e implementar las correcciones necesarias. Sin rodeos, con resultados medibles.

Más artículos de Alejo A Sotelo - Desarrollo Web

13 Junio 2025

Problemas con CSS y JS rotos en Joomla usando OpenLiteSpeed (Hostinger, CyberPanel)

Si tu sitio Joomla se ve sin estilos o los archivos Javscript no funcionan correctamente al usar OpenLiteSpeed por mala codificación, probablemente se deba a una doble compresión de archivos CSS y JS. Esto ocurre porque OpenLit...
20 Noviembre 2024

Problemas al guardar Configuración en Joomla

Introducción: Cuando cambiamos de servidor un sitio web con Joomla, es común encontrarnos con pequeños problemas técnicos que, aunque frustrantes, pueden resolverse con algo de paciencia y conocimiento. En este artículo, quier...
16 Agosto 2024

Cómo Resolver la Lentitud de phpMyAdmin en un VPS de Donweb con Ferozo

Te pasó alguna vez que intentaste explorar con phpMyAdmin una base de datos con tablas InnoDB y te andaba extremadamente lento? Si es así, abajo te paso una posible solución. Introducción: Hace poco me encontré con un problem...
19 Julio 2024

Cómo detuve un ataque de Bots en un Formulario de Contacto sin reCAPTCHA

Hoy quiero compartir una experiencia reciente que tuve con un ataque de bots a un formulario de contacto en uno de mis proyectos. Este incidente me llevó a profundizar en los logs de acceso y a implementar una solución rápida p...