Cómo optimizar PrestaShop en Plesk: caché y rendimiento
¿Tu tienda PrestaShop va lenta? ¿Has notado que las páginas tardan una eternidad en cargar y que las ventas han bajado? No te preocupes, es uno de los problemas más comunes cuando se gestiona una tienda online en un servidor compartido o incluso en un VPS con Plesk. La buena noticia es que optimizar PrestaShop en Plesk no es una tarea de magia negra, sino un proceso de ajuste fino que combina la configuración del panel de control, el propio sistema de caché de PrestaShop y un poco de lógica sobre cómo funciona la web.
En esta guía extensa y paso a paso, vamos a desglosar exactamente cómo exprimir al máximo el rendimiento de tu tienda. Hablaremos de conceptos como el caché PrestaShop Plesk, la compresión de archivos, la configuración de PHP y trucos de servidor que marcarán la diferencia entre una tienda que desespera a los clientes y una que vende como pan caliente. Si buscas mejorar el rendimiento Plesk PrestaShop, has llegado al lugar correcto.
Vamos a empezar desde lo más básico hasta lo más técnico, pero siempre con un lenguaje claro y directo. Al final, tendrás una lista de acciones concretas para aplicar. Prestashop velocidad es el objetivo, y aquí te enseñamos a conseguirlo.
¿Por qué PrestaShop es tan lento por defecto?
Antes de lanzarnos a tocar botones, es crucial entender el "por qué". PrestaShop es un software muy potente y lleno de funciones, pero esa potencia tiene un coste: genera muchas consultas a la base de datos y renderiza las páginas "en caliente" cada vez que un visitante entra. Sin una buena estrategia de caché PrestaShop Plesk, tu servidor está trabajando el doble de lo necesario.
Cada vez que un usuario visita tu tienda, el servidor tiene que:
- Conectar con la base de datos MySQL.
- Buscar productos, precios, imágenes y módulos.
- Ejecutar el código PHP.
- Generar el HTML final.
- Enviarlo al navegador del cliente.
Hacer esto para cada visitante, en cada clic, es agotador. La solución es sencilla: guardar el resultado final en una memoria rápida (caché) para que, cuando otro usuario pida lo mismo, se lo demos sin tener que repetir todo el proceso. Aquí es donde entra Plesk y sus herramientas.
Paso 1: Activar la Caché Interna de PrestaShop (Obligatorio)
Este es el primer paso y el más importante. PrestaShop incluye su propio sistema de caché, pero viene desactivado por defecto. Vamos a encenderlo.
### Activar la Caché de Smarty (Caché de Plantillas)
Smarty es el motor de plantillas de PrestaShop. Al activar su caché, las páginas se guardan como archivos estáticos que se reutilizan en lugar de generarse desde cero.
- Accede al Panel de Administración de tu PrestaShop.
- Ve al menú Parámetros Avanzados en el lateral izquierdo.
- Haz clic en Rendimiento.
- En la sección Caché de plantillas, selecciona "Recompilar los archivos de plantillas si se han modificado" (para producción) y marca la casilla "Usar la caché".
- En "Combinar, comprimir y almacenar en caché (CSS y JavaScript)", activa las tres opciones: "Usar la caché para los CSS", "Usar la caché para los JavaScript" y "Optimizar el código CSS".
- Guarda los cambios.
[TIP] En el modo de recompilación "Nunca recompilar los archivos de plantillas", la velocidad aumenta aún más, pero si editas un archivo
.tpl(tema), no verás los cambios hasta que borres la caché manualmente. Úsalo solo cuando tu tienda esté estable.
### Activar la Caché de Consultas a la Base de Datos
Esta opción guarda los resultados de las consultas SQL más comunes. Es vital para optimizar PrestaShop en Plesk sin tocar el servidor.
- En la misma página de Rendimiento, busca la sección Caché de base de datos.
- En el desplegable "Tipo de caché de base de datos", selecciona "Sistema de archivos (FileSystem)" o "Memcached" (si lo tienes instalado; hablaremos de ello más adelante).
- Si eliges "Sistema de archivos", establece un Tiempo de vida de, por ejemplo,
3600segundos (1 hora). Esto significa que la caché se actualizará cada hora. - Guarda los cambios.
[WARNING] Si tu tienda tiene muchísimos productos (más de 10,000), la caché de base de datos en "Sistema de archivos" puede generar miles de archivos pequeños que ralenticen el disco. En ese caso, es mejor usar Memcached o Redis.
Paso 2: Configurar PHP para un Mejor Rendimiento Plesk PrestaShop
Plesk te permite controlar la versión de PHP y sus límites. La configuración por defecto suele ser muy conservadora. Vamos a ajustarla.
### Elegir la Versión de PHP Correcta
PrestaShop funciona mejor con versiones modernas de PHP. Si usas PHP 5.6 o 7.0, estás perdiendo muchísima velocidad.
- En Plesk, ve a tu dominio (tu tienda).
- Busca la sección "Configuración de PHP" (normalmente tiene un icono de engranaje o una "PHP").
- En el selector de versión, elige la más alta disponible (idealmente PHP 8.1 o superior). PrestaShop 8 y 9 son compatibles con PHP 8.x.
### Aumentar los Límites de Memoria y Ejecución
PrestaShop es glotón en recursos. Los límites por defecto (128M de memoria) son insuficientes para tiendas medianas.
En la misma pantalla de Configuración de PHP, busca y modifica estas directivas:
- memory_limit: Cámbialo a
256Mo512M. Esto permite que los scripts de PrestaShop carguen más datos en memoria sin fallar. - max_execution_time: Cámbialo a
120o180. Si tienes scripts de importación o módulos pesados, este tiempo extra evita errores de "tiempo de espera agotado". - max_input_vars: Cámbialo a
5000. PrestaShop usa muchas variables en formularios (como filtros de productos). Este cambio evita que se pierdan datos al guardar.
[INFO] Si no ves estas opciones, haz clic en "php.ini" en la parte inferior de la pantalla para abrir el editor de configuración avanzada. Busca las líneas con estos nombres y cámbialas.
Paso 3: El Rey del Rendimiento: Activar la Caché de Nivel de Aplicación (Redis/Memcached)
Aquí es donde pasamos de "bien" a "excelente". La caché PrestaShop Plesk interna es buena, pero la caché en memoria (RAM) es mucho más rápida que leer archivos del disco duro. Para ello, usamos Redis o Memcached.
### ¿Cómo sé si ya está instalado?
En tu panel de Plesk, ve a "Catálogo de aplicaciones" o "Extensiones". Busca "Redis" o "Memcached". Si no está, puedes instalarlo desde la línea de comandos (SSH) si tienes acceso de root, o pedirle a tu proveedor de hosting que lo instale.
### Configurar PrestaShop para usar Redis
Una vez instalado el servidor Redis en Plesk (no solo la extensión de PHP, sino el servicio), debes configurar PrestaShop.
- Ve a Parámetros Avanzados > Rendimiento.
- En Caché de base de datos, selecciona "Redis" en el desplegable.
- Se abrirán campos para el servidor. Por defecto, suele ser
127.0.0.1y el puerto6379. - Introduce los datos y guarda.
[TIP] Si no tienes acceso SSH, contacta con tu soporte de hosting y diles: "Necesito activar Redis para PrestaShop en Plesk". Es una petición muy común y suelen activarlo en minutos.
Paso 4: Aprovechar las Herramientas de Plesk para Acelerar
Plesk no es solo un panel de control, es una navaja suiza. Tiene herramientas integradas que son oro puro para optimizar PrestaShop en Plesk.
### Activar la Compresión Gzip/Brotli
Esta opción comprime los archivos (HTML, CSS, JS) antes de enviarlos al navegador. Reduce el peso de la página hasta en un 70%.
- En Plesk, ve a "Sitios web y dominios".
- Selecciona tu dominio.
- Busca la opción "Apache y nginx" (o "Configuración de Proxy").
- Marca la casilla "Activar nginx" (si no está activada).
- En la configuración adicional de nginx, añade esta línea para activar Gzip:
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/xml application/xml+rss application/json;
[WARNING] Si no sabes editar archivos de configuración de nginx, no te preocupes. Simplemente activa la casilla de nginx. Plesk ya aplica una compresión básica. El código anterior es para exprimir al máximo, pero no es obligatorio.
### Activar el Caché de Estáticos (nginx Directives)
Nginx es un servidor web ultrarrápido que actúa como proxy inverso delante de Apache. Plesk lo integra muy bien.
- En la misma sección "Apache y nginx", busca "Directivas adicionales de nginx".
- Pega este bloque para servir las imágenes y estáticos con caché en el navegador del cliente:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|webp)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
Esto le dice al navegador del visitante: "Guarda estas imágenes en tu ordenador durante 30 días". La próxima vez que visite tu tienda, las cargará desde su disco duro, no desde tu servidor. Mejora drásticamente el rendimiento Plesk PrestaShop.
Paso 5: Optimizar las Imágenes y los Módulos
Un servidor rápido no puede arreglar una tienda llena de imágenes de 5 MB. La optimización de imágenes es un pilar fundamental para la prestashop velocidad.
- Comprime las imágenes antes de subirlas: Usa herramientas como TinyPNG o Squoosh. El formato WebP es el mejor para la web, ya que pesa mucho menos que JPG/PNG con la misma calidad.
- Activa el "Caché de imágenes" en PrestaShop: Ve a Parámetros Avanzados > Rendimiento y activa "Redimensionar las imágenes en la caché". Esto hace que PrestaShop genere miniaturas optimizadas y las guarde.
- Desactiva módulos que no uses: Ve a Módulos > Módulos y Servicios y desactiva todo lo que no estés usando. Cada módulo activo añade código y consultas SQL.
[INFO] Un módulo de "mega menú" mal configurado puede consumir más recursos que el propio PrestaShop. Revisa que tus módulos estén actualizados y sean compatibles con tu versión de PrestaShop.
Paso 6: Configurar el Cron Job (Tareas Programadas)
PrestaShop tiene tareas programadas (como generar informes o actualizar precios) que se ejecutan en segundo plano. Si no están bien configuradas, pueden ralentizar la tienda en momentos de mucho tráfico.
- En Plesk, ve a "Sitios web y dominios".
- Busca "Tareas programadas" (Cron jobs).
- Añade una nueva tarea que ejecute el cron de PrestaShop. Debe apuntar a la carpeta de PrestaShop. Un ejemplo sería:
- Comando:
php /var/www/vhosts/tudominio.com/httpdocs/cron.php - Frecuencia: Cada 5 minutos (
*/5 * * * *).
- Comando:
[TIP] Puedes probar el cron manualmente visitando
https://tudominio.com/cron.php?token=TU_TOKEN(el token está en Parámetros Avanzados > Rendimiento > "Token de cron"). Si te sale un mensaje de confirmación, funciona.
Paso 7: Ajustes Avanzados en Plesk (Para Usuarios Valientes)
Si has llegado hasta aquí y quieres más, vamos a tocar el corazón del servidor.
### Aumentar el Tamaño del Búfer de MySQL
MySQL (o MariaDB) tiene una configuración que limita cuánta información puede manejar a la vez. Un búfer pequeño hace que las consultas sean lentas.
- En Plesk, ve a "Configuración del servidor".
- Busca "Configuración de la base de datos" o "MySQL".
- Busca la variable
max_allowed_packety súbela a64M(por defecto suele ser 16M). - También puedes ajustar
query_cache_sizea128Msi tu servidor tiene más de 4GB de RAM.
[WARNING] Cambiar la configuración de MySQL requiere reiniciar el servicio. Esto provocará una caída de la página de unos segundos. Hazlo en horas de poco tráfico.
### Usar PHP-FPM con "ondemand" en vez de "dynamic"
PHP-FPM es el gestor de procesos PHP. Plesk te permite elegir el modo de ejecución.
- En Configuración de PHP, busca "PHP-FPM".
- En "Opciones de PHP-FPM", elige el modo "ondemand". Este modo solo crea procesos PHP cuando hay tráfico, ahorrando memoria RAM. El modo "dynamic" mantiene procesos activos constantemente, lo cual es un desperdicio si no tienes visitas.
Preguntas Frecuentes (FAQ)
¿Qué es mejor para optimizar PrestaShop en Plesk: Redis o Memcached?
Redis es más moderno y versátil. Soporta más tipos de datos y es mejor para la caché de sesiones y de consultas. Memcached es más simple y rápido para la caché de objetos, pero Redis es la recomendación general hoy en día.
¿Cuál es la diferencia entre la caché de Smarty y la caché de base de datos?
La caché de Smarty guarda el HTML de las páginas (la plantilla). La caché de base de datos guarda los resultados de las consultas SQL. Son complementarias: la primera ahorra tiempo de procesamiento PHP, la segunda ahorra tiempo de conexión a la base de datos.
Mi tienda es muy lenta, ¿por dónde empiezo?
Empieza siempre por lo básico: activa la caché de Smarty y de base de datos en PrestaShop. Si no notas mejora, pasa a la compresión de imágenes y al ajuste de PHP en Plesk. Redis es el último paso, pero el más efectivo.
¿Puedo usar Cloudflare con Plesk?
Sí, Cloudflare es un CDN (red de distribución de contenido) que se integra perfectamente con Plesk. Añade una capa de caché a nivel de DNS y protege tu servidor de ataques. Es una excelente adición para el rendimiento Plesk PrestaShop.
Conclusión Final
Optimizar PrestaShop en Plesk es un proceso de capas. No se trata de hacer una sola cosa, sino de combinar varias estrategias para reducir la carga del servidor y acelerar la entrega de contenido.
Recuerda la jerarquía de acción:
- Configura PrestaShop (C
