Cómo acelerar PrestaShop: Optimización de caché y rendimiento en Plesk
¿Tu tienda PrestaShop va lenta? No te preocupes, hoy vamos a desglosar, paso a paso y sin tecnicismos, cómo puedes optimizar PrestaShop para que vuele. Hablaremos de caché, de configuración y de cómo sacarle partido a tu panel de control Plesk, todo explicado de forma clara y sencilla.
Si tienes una tienda online, la velocidad PrestaShop no es un capricho, es una necesidad. Un sitio lento ahuyenta clientes, empeora tu posicionamiento en Google y reduce tus ventas. Pero no es tan complicado como parece. Vamos a ello.
¿Por qué mi PrestaShop es tan lento?
Antes de lanzarnos a tocar botones, es importante entender de dónde viene el problema. Imagina que tu tienda es una tienda física. Si tienes los productos amontonados en el suelo, sin orden, y el dependiente tiene que ir a buscar cada cosa al almacén, los clientes se cansarán de esperar. Con tu web pasa lo mismo.
Los principales "culpables" de la lentitud suelen ser estos:
- El hosting: Si tu servidor es lento o está saturado, todo irá lento. Es la base de todo.
- Imágenes gigantes: Fotos de productos que pesan 2 MB o 3 MB son una losa. El navegador tiene que descargarlas todas.
- Caché desactivado: Tu servidor está "cocinando" cada página desde cero cada vez que alguien entra, en lugar de servir una copia ya hecha.
- Módulos y temas pesados: Demasiados complementos activados o un tema mal programado consumen muchos recursos.
- Base de datos sucia: Registros antiguos, carritos abandonados y revisiones de productos acumulados durante años ralentizan las consultas.
Vamos a atacar todos estos frentes, centrándonos en la optimización de caché y en las herramientas que nos da Plesk.
Activar el Caché de PrestaShop (El Primer Gran Paso)
Piensa en el caché PrestaShop como en una "memoria" de tu tienda. En lugar de calcular cómo se ve una página cada vez que alguien entra, guarda el resultado y lo muestra al instante. Es el cambio más rápido y efectivo que puedes hacer.
Configuración de la caché en el Panel de Administración
Vamos a entrar en tu back office de PrestaShop. Es la zona privada de tu tienda, a la que accedes con tu usuario y contraseña (normalmente www.tutienda.com/admin).
- Ve al menú Parámetros avanzados.
- Haz clic en Rendimiento.
- En la sección Caché, verás una opción que dice "Usar caché". Actívala.
- En el desplegable de la derecha, elige un sistema de caché. Te recomiendo "Sistema de archivos" si tu hosting es básico, o "Memcache" o "Redis" si tu servidor lo soporta. Si no sabes cuál es, empieza por "Sistema de archivos", que es el más compatible.
- Guarda los cambios.
[TIP] Si ves la opción Redis o Memcached en el desplegable, pruébala. Es mucho más rápida que el sistema de archivos. Si te da error, vuelve a la opción anterior.
Combinar y Comprimir Archivos (CSS y JavaScript)
Justo debajo de la opción de caché, en la misma página de Rendimiento, tienes la sección "Combinar archivos JavaScript" y "Combinar archivos CSS".
Activar estas opciones es como empaquetar todas las cajas de tu almacén en un solo contenedor grande. El navegador solo tiene que hacer una descarga en lugar de muchas, lo que acelera muchísimo la carga.
- Activa "Usar la caché de hojas de estilos".
- Activa "Usar la caché de archivos JavaScript".
- Activa "Minimizar el código HTML", "Minimizar el código CSS" y "Minimizar el código JavaScript".
[WARNING] Después de estos cambios, tu tienda puede verse "rota" o sin estilos. No te asustes. Simplemente ve a tu navegador y fuerza la recarga con
Ctrl + F5(oCmd + Shift + Ren Mac). Si sigue mal, desactiva las opciones una a una para encontrar la que da problemas.
Optimización de Imágenes (El Peso Pesado)
Las imágenes son el 60-70% del peso de una página web típica de comercio electrónico. Si no las optimizas, todo lo demás servirá de poco.
Redimensionar antes de Subir
La regla de oro es: nunca subas una imagen más grande de lo que la vas a mostrar. Si la foto de tu producto se muestra en un cuadrado de 800x800 píxeles, no subas una de 4000x3000 píxeles. Es un desperdicio total.
- Usa un editor: Antes de subir la foto a tu tienda, ábrela en cualquier editor (Photoshop, GIMP, o incluso Paint) y redimensiónala.
- El formato correcto: Usa JPG para fotos (tienen un buen equilibrio entre calidad y peso) y PNG solo para imágenes con transparencia (como logos).
- Comprime: Existen herramientas online gratuitas como TinyPNG o Compressor.io que reducen el peso de las imágenes sin que se note la pérdida de calidad.
Activar la Optimización de Imágenes de PrestaShop
PrestaShop tiene una herramienta interna para regenerar y optimizar las imágenes que ya tienes subidas.
- Ve a Parámetros avanzados > Rendimiento.
- Busca la sección "Regeneración de imágenes".
- Marca la opción "Regenerar todas las miniaturas".
- Selecciona "Comprimir las imágenes" y elige un nivel de compresión (te recomiendo "Alta").
- Haz clic en el botón de regenerar. Este proceso puede tardar un poco, así que ten paciencia.
[INFO] Esta acción regenerará todas las miniaturas de tu tienda con los nuevos ajustes. Es una operación que conviene hacer de vez en cuando, sobre todo después de cambiar el tema.
Configuración Avanzada en Plesk: Caché de Servidor
Ahora vamos a pasar al panel de control de tu hosting, Plesk. Aquí es donde podemos configurar cachés a nivel de servidor, lo que va un paso más allá de la caché interna de PrestaShop.
Activar la Caché de Páginas (Varnish o Nginx)
Plesk nos ofrece dos grandes aliados: Nginx y Varnish. Son tecnologías que se colocan "delante" de tu servidor web y guardan copias de las páginas. Cuando un visitante entra, le sirven esa copia guardada sin molestar a PrestaShop, liberando recursos y acelerando la respuesta.
¿Cómo saber si está activo?
- Accede a tu panel de Plesk.
- Ve a la sección de "Sitios web y dominios".
- Busca tu tienda y haz clic en "Servidor web" o "Apache y nginx".
Aquí verás una opción para "Servir contenido estático directamente por nginx". Actívala. Esto hará que las imágenes, CSS y JavaScript se sirvan directamente por Nginx, que es mucho más rápido que Apache.
¿Y Varnish?
En Plesk, la caché de Varnish se suele gestionar desde la sección "Extensiones" o en la pestaña de "Aplicaciones". Busca la extensión de Varnish y actívala.
[TIP] Varnish es como el "guardia de seguridad" que conoce a todos los clientes habituales y les deja pasar sin preguntarles nada. Es muy potente, pero a veces puede dar problemas con carritos de compra o zonas de cliente. Si ves comportamientos raros (como que el carrito no se actualice), tendrás que configurar las reglas de exclusión de Varnish para no cachear esas páginas.
[WARNING] Si tu hosting utiliza HestiaCP (aunque en este artículo hablamos de Plesk, es bueno saberlo), se llama Syspanel y su puerto de acceso es el 2106. La lógica de la caché es similar, pero la interfaz es diferente.
Activar la Compresión Gzip en Plesk
Gzip es un compresor de archivos. Cuando el servidor envía una página a tu visitante, la comprime antes de enviarla, y el navegador la descomprime al llegar. Es como enviar un paquete al vacío para que ocupe menos.
Para activarlo en Plesk:
- Ve a "Sitios web y dominios".
- Selecciona tu tienda y entra en "Servidor web".
- En la configuración de nginx, busca la opción de "Compresión gzip" o "Gzip".
- Actívala y guarda los cambios.
Si no encuentras la opción, puedes añadirla manualmente en el archivo de configuración de nginx que Plesk te permite editar. Busca la sección location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ y añade dentro:
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/javascript application/xml application/json image/svg+xml;
[INFO] Esta configuración es segura y muy efectiva. Si no te sientes cómodo editando archivos, no lo hagas, pero es una de las optimizaciones más impactantes que existen.
Optimización de la Base de Datos (La Limpieza del Almacén)
Con el tiempo, tu base de datos se llena de "basura": revisiones de productos, carritos abandonados, mensajes antiguos, etc. Esto hace que las consultas sean más lentas. Vamos a hacer una limpieza.
Usar el Buscador de PrestaShop
PrestaShop tiene una herramienta de mantenimiento de base de datos integrada.
- Ve a Parámetros Avanzados > Base de datos.
- Haz clic en la pestaña "Buscador".
- Aquí puedes ver el tamaño de cada tabla de tu base de datos.
- Marca las tablas que son claramente "basura" y que no necesitas, como
ps_connections,ps_connections_page,ps_connections_source,ps_guest,ps_cart(si son antiguos), y las tablas deps_log. - Haz clic en el botón "Optimizar" o "Vaciar" según lo que quieras hacer. "Vaciar" borrará los datos. "Optimizar" solo reorganizará la tabla.
[WARNING] ¡CUIDADO! No borres tablas que no entiendes. Si tienes dudas, solo optimiza las tablas, no las vacíes. Es una operación segura, pero es mejor prevenir que curar.
Usar phpMyAdmin (La Herramienta Avanzada)
Si te atreves, puedes ir un paso más allá con phpMyAdmin, que está en Plesk.
- En Plesk, ve a "Sitios web y dominios" y busca la base de datos de tu tienda.
- Haz clic en "phpMyAdmin".
- En la pestaña "Exportar", haz una copia de seguridad de tu base de datos. NUNCA toques nada sin una copia de seguridad.
- Vuelve a la pestaña "Estructura" o "SQL" y ejecuta la siguiente consulta SQL para optimizar todas las tablas:
OPTIMIZE TABLE `ps_address`, `ps_cart`, `ps_cart_product`, `ps_category`, `ps_connections`, `ps_customer`, `ps_orders`, `ps_order_detail`, `ps_product`, `ps_product_attribute`, `ps_product_comment`, `ps_search_word`, `ps_stock_available`;
[TIP] Esta consulta es como pasar la aspiradora por todas las habitaciones de tu almacén. No borra nada, solo ordena y compacta los datos para que sea más rápido acceder a ellos.
PHP: La Versión y la Configuración
PrestaShop está hecho en PHP, el lenguaje de programación del servidor. Una versión de PHP antigua es un cuello de botella enorme.
Actualizar la Versión de PHP en Plesk
- En Plesk, ve a "Sitios web y dominios".
- Entra en tu tienda y busca la sección "Configuración de PHP" o "PHP".
- Verás un menú desplegable con las versiones disponibles. Selecciona la más reciente (PHP 8.1, 8.2 o superior).
- Guarda los cambios.
[INFO] Cada versión de PHP es más rápida y segura que la anterior. Actualizar es uno de los cambios más simples y efectivos que puedes hacer.
Aumentar los Límites de PHP
En la misma sección de "Configuración de PHP", busca los parámetros memory_limit y max_execution_time.
- memory_limit: Es la cantidad de memoria que un script puede usar. Si tu tienda es grande, súbelo a 256M o incluso 512M.
- max_execution_time: Es el tiempo máximo que un script puede ejecutarse. Si tienes problemas de tiempos de espera, súbelo a 300 segundos.
Estos cambios le dan a tu PrestaShop más "combustible" para trabajar sin agotarse.
Uso de Herramientas de Análisis (El Mapa del Tesoro)
Después de todos estos cambios, es hora de comprobar si han funcionado. No adivines, usa herramientas.
Google PageSpeed Insights (El Juez Principal)
Esta herramienta gratuita de Google te dice la puntuación de velocidad de tu tienda y, lo más importante, te da recomendaciones específicas.
- Ve a developers.google.com/speed/pagespeed/insights.
- Introduce la URL de tu tienda.
- Espera unos segundos y analiza los resultados.
- Presta atención a las recomendaciones de "Oportunidades" y "Diagnósticos". Ahí verás si te falta por comprimir imágenes, si tienes que activar la caché del navegador, etc.
GTmetrix (El Analista Detallado)
Otra herramienta excelente es GTmetrix. Te da más detalles sobre los tiempos de carga de cada elemento de tu página.
- Ve a gtmetrix.com.
- Introduce tu URL y analiza.
- Mira la pestaña "Waterfall" para ver qué archivos tardan más en cargar. A menudo te sorprenderá ver qué módulo o imagen está frenando todo.
[TIP] No te obsesiones con conseguir un 100% en PageSpeed. Es casi imposible en una tienda con muchas funcionalidades. Intenta superar el 70-80 y, sobre todo, fíjate en el LCP (Largest Contentful Paint), que debería ser menor de 2.5 segundos.
Resumen y Plan de Acción (Para que no te pierdas)
Te dejo un resumen de todo lo que hemos visto, en orden de impacto:
- Activa la caché de PrestaShop (Parámetros avanzados > Rendimiento).
- Combina y comprime CSS/JS (Parámetros avanzados > Rendimiento).
- Optimiza tus imágenes (redimensiona, comprime y usa el regenerador de PrestaShop).
- Activa la caché de Nginx y Gzip en Plesk (Servidor web).
- Actualiza la versión de PHP en Plesk (Configuración de PHP).
- Aumenta los límites de memoria y tiempo de ejecución (Configuración de PHP).
- Limpia y optimiza tu base de datos (Parámetros avanzados > Base de datos).
- Analiza con PageSpeed Insights o GTmetrix para ver qué más puedes mejorar.
Este proceso te llevará un par de horas, pero el resultado será una tienda mucho más rápida, que dará una
