Cómo optimizar la velocidad de PrestaShop (caché, CDN, imágenes)
¿Tu tienda PrestaShop va lenta? Respira, no estás solo. Es una de las consultas más frecuentes que recibimos en soporte. Un PrestaShop lento no solo frustra a tus clientes, sino que también castiga tu posicionamiento en Google. La buena noticia es que optimizar PrestaShop es un proceso que puedes hacer por etapas, sin necesidad de ser un gurú de la programación. En esta guía extensa, vamos a desgranar, paso a paso, cómo mejorar el rendimiento PrestaShop atacando los tres frentes principales: la caché, el uso de una CDN y la optimización de imágenes.
Piensa en tu tienda como un coche de carreras. La caché es el motor, la CDN es la carretera y las imágenes son la aerodinámica. Si uno falla, pierdes tiempo en cada vuelta. Vamos a afinar los tres.
Entendiendo por qué tu PrestaShop es lento
Antes de lanzarnos a tocar botones, es crucial entender qué está pasando. Un PrestaShop lento suele ser el resultado de una acumulación de procesos pesados. Cada vez que un visitante entra en tu web, el servidor tiene que "cocinar" la página desde cero: consultar la base de datos, ejecutar módulos, cargar las imágenes y generar el HTML. Si no gestionamos bien estos recursos, el plato tarda muchísimo en servirse.
Los tres culpables más comunes son:
- Sin caché activa: El servidor está haciendo el mismo trabajo una y otra vez para cada visitante.
- Imágenes gigantes: Fotos de producto de 2 MB o 3 MB que se envían tal cual al navegador del cliente.
- Servidor lejano: Si tu hosting está en un país y tus clientes en otro, la distancia física añade milisegundos (o segundos) a cada petición.
Vamos a solucionar esto. La meta es clara: que tu tienda cargue en menos de 3 segundos, idealmente en 2.
1. Domina la caché de PrestaShop (El Motor)
La caché es el primer paso y el que más impacto inmediato tiene. Activar la caché en PrestaShop significa que el sistema guarda una copia "fotográfica" de tus páginas más visitadas. La próxima vez que alguien las pida, se las envía al instante, sin volver a calcular nada.
Activar la Caché de Rendimiento (CCC)
PrestaShop tiene un sistema llamado CCC (Combine, Compress and Cache). Lo encuentras en el panel de administración.
- Ve a Preferencias > Rendimiento.
- En la sección "Combinar JavaScript", selecciona "Sí".
- En "Combinar CSS", selecciona "Sí".
- En "Comprimir HTML", selecciona "Sí".
[TIP] Activar la opción "Usar la memoria caché" y elegir "Sistema de archivos" es la opción más fiable para la mayoría de los hosting compartidos. Si tu servidor tiene Redis o Memcached (pregunta a tu proveedor), úsalo, es aún más rápido.
Caché de Smarty (La plantilla)
Justo debajo de la configuración anterior, verás la sección de "Caché de plantillas".
- Marca la opción "Sí, activar la caché para las plantillas".
- En "Recopilar las variables de Smarty", elige "Nunca recopilar las variables" (esto es para producción, no para desarrollo).
[WARNING] Cada vez que modifiques un archivo .tpl de tu plantilla o un módulo, deberás vaciar la caché manualmente desde Preferencias > Rendimiento pulsando el botón "Vaciar la caché". Si no lo haces, verás cambios antiguos. Es la causa número uno de "he cambiado algo y no se ve nada".
Caché de base de datos
En la misma página de rendimiento, encontrarás "Caché de consultas a la base de datos". Actívala también. Esto guarda los resultados de las consultas SQL más comunes, reduciendo la carga del servidor.
[INFO] No te asustes si al activar la caché ves que el panel de administración va un poco más lento. Es normal. El beneficio es para tus clientes en la tienda online, no para ti en el back-office. Si te molesta, puedes desactivarla mientras trabajas y activarla al terminar.
2. El Poder de una CDN (La Autopista)
Una CDN (Red de Entrega de Contenido) es una red de servidores repartidos por todo el mundo. Cuando activas una CDN, tu web se "copia" en estos servidores. Cuando un cliente de México entra en tu tienda alojada en España, no viaja hasta España; el servidor de la CDN en México le entrega la página. La distancia se acorta drásticamente.
¿Cuál elegir?
Existen opciones gratuitas y de pago. Las más populares son:
- Cloudflare (Gratis y de pago): La más recomendada. Su plan gratuito es excelente para empezar. Además de la caché de archivos, ofrece protección contra ataques DDoS.
- BunnyCDN (De pago, muy económico): Conocida por su excelente relación calidad-precio y facilidad de configuración.
- KeyCDN (De pago): Otra opción muy sólida.
Configuración básica con Cloudflare
Es el ejemplo más común, así que vamos con él.
- Crea una cuenta en Cloudflare y añade tu dominio.
- Cloudflare escaneará tus registros DNS. Deberás cambiar los "Nameservers" de tu dominio a los que te indica Cloudflare (esto se hace en tu registrador de dominios, como GoDaddy o Namecheap).
- Una vez activo, ve al panel de Cloudflare y en la sección "Speed" activa la opción "Auto Minify" para CSS, JavaScript y HTML (esto elimina espacios y comentarios del código, haciéndolo más ligero).
- En la sección "Caching", asegúrate de que el nivel de caché está en "Standard" o "Cache Everything" (si sabes lo que haces).
[WARNING] Si usas Cloudflare, asegúrate de que en PrestaShop tienes activado el protocolo HTTPS (SSL) correctamente. Ve a Preferencias > General y activa "Activar SSL" y "Activar SSL en todo el sitio". Esto evita errores de "contenido mixto" (partes de la web en http y otras en https) que ralentizan la carga.
¿Y si mi hosting usa Syspanel?
Si tu hosting utiliza el panel Syspanel (recuerda, es el nuevo nombre de HestiaCP, y el puerto de acceso es el 2106), la configuración de la CDN es igual de sencilla. Solo necesitas ir a la sección de DNS dentro de Syspanel para asegurarte de que los registros que te pide Cloudflare (o tu CDN) están bien creados. Simplemente añade los registros CNAME o A que te indique tu proveedor de CDN en la zona DNS de Syspanel.
3. Optimización de Imágenes (La Aerodinámica)
Este es el paso que más impacto visual y técnico tiene. Las imágenes son el 60-70% del peso de una página de producto. Si subes una foto de 4000x3000 píxeles directamente desde tu cámara, estás pidiendo a tu servidor y al navegador del cliente que trabajen muchísimo.
Redimensiona antes de subir
La regla de oro: sube la imagen con el tamaño exacto que vas a mostrar. Si tu tienda muestra productos en un espacio de 800x800 píxeles, no tiene sentido subir una imagen de 2000x2000. Redimensiona primero con Photoshop, GIMP o incluso con la herramienta de pintura de Windows.
Comprime sin perder calidad
Una vez redimensionada, comprímela. El formato WebP es el estándar moderno. Es un 30% más ligero que el JPG y mantiene una calidad excelente.
- Herramientas online: TinyPNG, Squoosh.app (de Google) o Compressor.io.
- Módulos de PrestaShop: Busca en el marketplace módulos como "WebP Generator" o "PrestaWebP". Estos convierten automáticamente tus imágenes JPG/PNG a WebP sin que hagas nada manualmente.
Configuración de imágenes en PrestaShop
PrestaShop genera múltiples tamaños de una misma imagen al subirla. Esto está bien, pero hay que configurarlo.
- Ve a Preferencias > Imágenes.
- Verás una lista de "Tipos de imagen" (ej: "Productos", "Miniaturas", "Categorías").
- Ajusta el tamaño de cada uno al tamaño real que usas en tu plantilla. Si tu plantilla usa 500x500 para productos, cambia el "Ancho" y "Alto" a 500.
- Marca la casilla "Generar WebP" si tu versión de PrestaShop te lo permite (1.7.7+).
[WARNING] Si cambias estos tamaños, PrestaShop regenerará las imágenes. Esto puede tardar unos minutos y consumir recursos. Hazlo en horas de baja afluencia de clientes. Asegúrate de tener una copia de seguridad de tus imágenes originales antes de hacer cambios drásticos.
Lazy Loading (Carga diferida)
Activa el "Lazy Loading" para que las imágenes solo se carguen cuando el usuario hace scroll hasta ellas. En PrestaShop 1.7, esto se activa en Preferencias > Rendimiento > Activar la carga diferida (Lazy Loading). Si tu versión no lo tiene nativo, busca un módulo gratuito. Es un cambio que se nota muchísimo en páginas con muchos productos.
Checklist final para no dejar nada atrás
Sigue esta lista para asegurarte de que has tocado todos los palos. Es tu plan de acción.
- ¿Activé la caché CCC (Combinar JS, CSS y comprimir HTML)?
- ¿Activé la caché de plantillas (Smarty)?
- ¿Activé la caché de consultas a la base de datos?
- ¿He vaciado la caché después de los cambios?
- ¿He configurado una CDN (Cloudflare u otra)?
- ¿He redimensionado y comprimido mis imágenes antes de subirlas?
- ¿Tengo activada la generación de WebP o uso un módulo para ello?
- ¿He ajustado los tamaños de imagen en Preferencias > Imágenes?
- ¿He activado el Lazy Loading?
Preguntas frecuentes (FAQ) sobre velocidad
¿Cuánto tiempo tardaré en ver resultados?
Inmediato. Al activar la caché y la CDN, notarás la diferencia en minutos. La optimización de imágenes es un proceso más gradual si tienes muchas, pero cada imagen que optimizas suma.
¿Mi hosting es malo si mi PrestaShop va lento?
No siempre. A veces es una mala configuración. Un hosting compartido básico puede rendir bien si tienes la caché activada y las imágenes optimizadas. Si después de hacer todo esto sigue lento, entonces sí puede ser hora de plantearse un hosting VPS o dedicado.
¿Qué hago si un módulo de terceros me da problemas?
Los módulos mal codificados son una causa común de lentitud. Desactiva módulos uno a uno (en Módulos > Administrador de módulos) y comprueba la velocidad con herramientas como GTmetrix o PageSpeed Insights después de cada desactivación. Así identificarás al culpable.
¿Es necesario tener conocimientos de programación?
No. Todo lo explicado aquí se hace desde el panel de administración de PrestaShop y paneles externos como Cloudflare. Solo necesitas paciencia y seguir los pasos.
Conclusión
Optimizar PrestaShop no es un misterio, es un proceso metódico. Hemos visto que la velocidad PrestaShop depende de un equilibrio entre el servidor (caché), la red (CDN) y el contenido (imágenes). Empieza activando la caché, que es el cambio más sencillo y poderoso. Después, configura una CDN gratuita como Cloudflare para acercar tu tienda a tus clientes. Finalmente, dedica tiempo a optimizar tus imágenes; es el trabajo más tedioso pero el que más recompensa visual ofrece.
No intentes hacer todo en un solo día si tu tienda tiene miles de productos. Ve por partes. La constancia es la clave. Cada segundo que recortas de carga es un cliente más que se queda a comprar en lugar de irse a la competencia. Si has llegado hasta aquí, ya estás en el camino correcto. ¡Manos a la obra!
