Optimizar velocidad de PrestaShop en Plesk: Mejores prácticas
¿Por qué tu PrestaShop va lento en Plesk?
Si tu tienda online tarda más de 3 segundos en cargar, estás perdiendo clientes. De hecho, el 40% de los usuarios abandonan una web que tarda más de 3 segundos en cargar. Cuando trabajamos con PrestaShop en Plesk, el rendimiento depende de muchos factores: la configuración del servidor, los módulos instalados, el hosting, e incluso cómo tienes configurado el propio panel de control.
En esta guía extensa y práctica, vamos a desgranar todas las mejores prácticas para optimizar PrestaShop Plesk, paso a paso, sin necesidad de ser un experto en sistemas. El objetivo es que tu tienda vuele, que tus clientes disfruten de una experiencia fluida y que Google te premie con mejores posiciones.
Entendiendo la relación entre Plesk y PrestaShop
Antes de lanzarnos a los ajustes, es clave entender cómo interactúan estos dos elementos.
Plesk es un panel de control de hosting que te permite gestionar dominios, bases de datos, correos y archivos desde una interfaz gráfica. Es el "cerebro" que administra el servidor.
PrestaShop es el software de tu tienda, escrito en PHP y que usa MySQL como base de datos.
Optimizar PrestaShop Plesk significa hacer que ambos trabajen en armonía, aprovechando al máximo los recursos del servidor y eliminando cualquier cuello de botella.
El primer paso: revisa los requisitos de tu servidor
Si tu servidor no cumple los requisitos mínimos de PrestaShop, cualquier optimización será un parche temporal.
Te recomiendo estos mínimos para un rendimiento aceptable:
- PHP 7.4 o superior (idealmente PHP 8.1 o 8.2).
- MySQL 5.7 o MariaDB 10.3.
- Al menos 2 GB de RAM para una tienda pequeña.
- CPU de 2 núcleos como mínimo.
Para comprobar esto en Plesk, ve a Herramientas y configuración > Estado del servidor. Ahí verás la versión de PHP, MySQL y los recursos disponibles.
[WARNING] Si tu hosting es compartido y muy limitado, quizás sea hora de plantearse un plan superior o un VPS. PrestaShop es un software exigente, y un hosting barato de 1 GB de RAM no será suficiente para una tienda con tráfico medio.
Configuración de PHP: el corazón de la velocidad
La configuración de PHP es donde más partido puedes sacar a tu servidor. Vamos a ajustar los parámetros clave.
1. Activa el OpCache
OpCache guarda en memoria los scripts PHP compilados, evitando que el servidor los procese una y otra vez en cada petición. Esto reduce drásticamente el tiempo de carga.
Para activarlo en Plesk:
-
Ve a Herramientas y configuraciones > Configuración de PHP (o en el dominio específico, Configuración de PHP).
-
Busca la sección Opcache.
-
Activa la opción "Habilitar".
-
Configura los valores recomendados:
- memory_consumption: 128
- interned_strings_buffer: 16
- max_accelerated_files: 4000
- validate_timestamps: 0 (en producción, desactivado para mejor rendimiento)
2. Ajusta la memoria límite (memory_limit)
PrestaShop necesita memoria para procesar imágenes, módulos y consultas. Un valor bajo provocará errores y lentitud.
Te recomiendo un mínimo de 256M y, si tu servidor lo permite, 512M.
En la misma pantalla de configuración de PHP, busca memory_limit y cámbialo a 256M o 512M.
3. Sube el límite de ejecución
Algunas operaciones, como actualizar módulos o generar informes, pueden tardar más de 30 segundos. Si el límite es bajo, se cortarán y darán errores.
Ajusta max_execution_time a 300 (segundos) y max_input_time a 300.
4. Configura el gestor de procesos (FPM)
Plesk usa PHP-FPM, que gestiona los procesos de PHP. Una configuración incorrecta puede saturar el servidor.
En la configuración de PHP, busca "PHP-FPM settings" o similar.
- PM (Process Manager): Selecciona "dynamic".
- pm.max_children: Se calcula dividiendo la RAM disponible entre el consumo medio de cada proceso. Una fórmula sencilla:
(RAM total en MB / 200). Para un servidor con 4 GB de RAM, sería 20. - pm.start_servers: Un 25% de max_children, es decir, 5.
- pm.min_spare_servers: 3.
- pm.max_spare_servers: 8.
- pm.max_requests: 500 (para evitar procesos con fugas de memoria).
[TIP] Estos valores son orientativos. Monitorea el uso de memoria con htop o el monitor de Plesk y ajústalos según la carga real.
Optimización de la base de datos MySQL/MariaDB
La base de datos es otro punto crítico. Una base de datos desordenada y sin índices ralentiza toda la tienda.
1. Configura el motor InnoDB
PrestaShop funciona mejor con InnoDB que con MyISAM, ya que soporta transacciones y bloqueos a nivel de fila.
En Plesk, ve a Herramientas y configuraciones > Configuración del servidor de bases de datos y asegúrate de que el motor por defecto sea InnoDB.
2. Ajusta el buffer pool
El innodb_buffer_pool_size es la memoria que MySQL usa para almacenar datos e índices. Un valor bajo provoca lecturas constantes al disco.
Un valor recomendado es el 70-80% de la RAM total disponible para MySQL. Si tu servidor tiene 4 GB de RAM, puedes asignar 3 GB a MySQL.
Para cambiarlo, edita el archivo my.cnf (generalmente en /etc/my.cnf o /etc/mysql/my.cnf). En Plesk, puedes hacerlo desde Herramientas y configuraciones > Configuración del servidor de bases de datos > Editar configuración.
3. Optimiza las tablas periódicamente
Con el tiempo, las tablas se fragmentan y los índices se desordenan. Es recomendable optimizarlas al menos una vez al mes.
Puedes usar phpMyAdmin (dentro de Plesk) para ejecutar OPTIMIZE TABLE o usar plugins de PrestaShop que lo hagan automáticamente.
4. Activa el caché de consultas
El query cache guarda los resultados de las consultas más frecuentes. En la configuración de MySQL, activa:
- query_cache_type: 1
- query_cache_size: 64M
- query_cache_limit: 2M
[INFO] En versiones recientes de MySQL/MariaDB, el query cache está obsoleto y puede no estar disponible. Si no lo encuentras, no te preocupes, las versiones modernas son más rápidas sin él.
Configuración interna de PrestaShop
Ahora pasamos a la configuración del propio PrestaShop. Aquí es donde puedes marcar la diferencia sin tocar el servidor.
1. Activa el caché de Smarty
Smarty es el motor de plantillas de PrestaShop. Activar su caché es esencial.
Ve a Parámetros avanzados > Rendimiento.
- Cache de plantillas: Selecciona "Recompilar archivos de plantillas si se han actualizado" (en producción, lo ideal es "Nunca recompilar los archivos de plantilla").
- Cache de combinación: Activa la "Combinar, minimizar y comprimir" para CSS y JavaScript.
2. Activa el caché de contenido
En la misma pantalla, verás "Caché". Actívalo y selecciona el sistema de caché.
- Sistema de caché: Puedes usar "File System" para hosting compartido o "Memcached" / "Redis" si tu servidor lo soporta (más rápido).
3. Desactiva las funciones de depuración
En Parámetros avanzados > Rendimiento, asegúrate de que "Modo de depuración" esté desactivado. Dejarlo activo consume muchos recursos.
4. Desactiva los módulos que no uses
Cada módulo activo carga scripts y hace consultas. Revisa Módulos > Administrador de módulos y desactiva todo lo que no uses.
Presta especial atención a:
- Módulos de análisis y estadísticas que no uses.
- Módulos de redes sociales.
- Módulos de comparación de productos (si no los necesitas).
5. Optimiza las imágenes
Las imágenes son el mayor lastre de cualquier tienda online. Unas imágenes pesadas ralentizan la carga.
- Formato WebP: En Parámetros avanzados > Rendimiento, activa el formato WebP si tu versión de PrestaShop lo permite. Si no, usa un módulo de terceros.
- Compresión: Asegúrate de que la compresión JPEG esté al 85% y la PNG al 7 (en la misma pantalla).
- Tamaño: No subas imágenes más grandes de lo necesario. Una imagen de 2000px de ancho para un slider es excesiva. Usa 1920px como máximo.
6. Configura la URL canónica y el SEO
Una URL canónica correcta evita contenido duplicado y mejora el rastreo de Google.
- En Parámetros avanzados > SEO y URLs, activa la "Redirección a la URL canónica".
- Activa "Redirigir a la URL canónica" para evitar que Google vea duplicados.
7. Activa el modo de mantenimiento durante los cambios
Si vas a hacer cambios importantes, activa el modo mantenimiento en Parámetros avanzados > Mantenimiento. Así no ralentizarás la tienda para los usuarios mientras trabajas.
Optimización a nivel de servidor y red
Aquí entran en juego el servidor web y las herramientas de caché de Plesk.
1. Activa la compresión Gzip
La compresión Gzip reduce el tamaño de los archivos enviados al navegador.
En Plesk, ve a Herramientas y configuraciones > Configuración de Apache y nginx.
- Busca la sección "Compresión" y activa "Gzip".
- También puedes añadir estas líneas al archivo
.htaccessde tu dominio:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
</IfModule>
2. Configura nginx como proxy inverso
Plesk suele usar Apache + nginx como proxy inverso. nginx es mucho más rápido sirviendo archivos estáticos.
En Herramientas y configuraciones > Configuración de Apache y nginx, asegúrate de que nginx esté activo y configurado como proxy.
- Activa "Proxy mode".
- Activa "Serve static files directly by nginx". Esto hará que nginx sirva imágenes, CSS y JS sin pasar por Apache, liberando recursos.
3. Configura el caché de nginx
Plesk tiene un caché de nginx integrado. Ve a Herramientas y configuraciones > Caché de nginx.
- Actívalo.
- Configura el tiempo de vida de la caché (por ejemplo, 300 segundos para páginas dinámicas).
4. Activa HTTP/2 y TLS 1.3
HTTP/2 permite cargar múltiples archivos en paralelo, y TLS 1.3 mejora la seguridad y velocidad de la conexión.
En Herramientas y configuraciones > Configuración de Apache y nginx, activa HTTP/2 y asegúrate de que TLS 1.3 esté habilitado.
El papel del CDN y el hosting
Un CDN (Content Delivery Network) distribuye tus archivos estáticos (imágenes, CSS, JS) en servidores de todo el mundo. Es muy recomendable si tienes clientes en diferentes países.
- Cloudflare: Es gratuito y fácil de configurar. Solo tienes que cambiar los servidores DNS de tu dominio.
- Otros CDNs: Puedes usar KeyCDN, StackPath, etc.
En Plesk, puedes configurar un CDN desde Websites y dominios > tu dominio > Hosting y DNS > Configuración de CDN.
[TIP] Un CDN no sustituye una buena optimización del servidor. Primero optimiza todo lo anterior y luego añade el CDN para mejorar aún más la velocidad global.
Herramientas de monitorización y diagnóstico
Para saber si estás avanzando, necesitas medir y monitorizar.
1. Pingdom Tools o GTmetrix
Estas herramientas te dan una puntuación de velocidad y te indican los elementos que más tardan en cargar. Úsalas antes y después de los cambios.
2. PageSpeed Insights de Google
Te da métricas de rendimiento y Core Web Vitals, que son clave para el SEO.
3. Monitor de Plesk
Plesk tiene un monitor integrado en Herramientas y configuraciones > Monitor. Te muestra el uso de CPU, RAM y disco en tiempo real.
4. El módulo de rendimiento de PrestaShop
En Parámetros avanzados > Información, puedes ver un resumen del estado de tu tienda, incluyendo la configuración de PHP y los requisitos del sistema.
Errores comunes que debes evitar
A veces, sin querer, hacemos cosas que ralentizan la tienda. Aquí tienes una lista de "anti-patrones":
- Instalar demasiados módulos: Cada módulo añade peso. Menos es más.
- No actualizar PrestaShop: Las versiones nuevas incluyen mejoras de rendimiento y seguridad.
- Usar temas pesados: Algunos temas comerciales están sobrecargados de scripts y animaciones. Elige temas ligeros y bien codificados.
- No limpiar la caché: Cuando cambias algo, limpia la caché de PrestaShop (en Parámetros avanzados > Rendimiento > Vaciar caché) para que los cambios se apliquen correctamente.
- Ignorar los registros de errores: Revisa Parámetros avanzados > Registros para detectar errores que puedan estar ralentizando el sistema.
Plan de acción paso a paso
Para que no te pierdas, te propongo un plan de acción ordenado:
- Revisa los requisitos del servidor (PHP, MySQL, RAM).
- Configura PHP: activa OpCache, ajusta memoria y límites.
- Configura MySQL: buffer pool y optimización de tablas.
- Activa el caché de PrestaShop (Smarty y contenido).
- Desactiva módulos innecesarios.
- Optimiza imágenes (WebP y compresión).
- Activa Gzip y configura nginx (proxy y caché).
- Activa HTTP/2 y TLS 1.3.
- Añade un CDN (Cloudflare, por ejemplo).
- Mide y monitoriza con las herramientas mencionadas.
[INFO] Si tu hosting es gestionado por Syspanel (antes conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106. La configuración de PHP y MySQL es similar, pero la interfaz varía. Busca los apartados de "Configuración de PHP" y "Bases de datos" dentro del panel.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda en notarse la mejora?
En la mayoría de los casos, notarás una mejora inmediata tras activar el caché y la compresión. La optimización de la base de datos puede tardar unos minutos en aplicarse, pero los resultados son visibles al instante.
¿Es necesario usar un CDN?
No es obligatorio, pero sí muy recomendable si tu audiencia es global. Es la forma más económica de mejorar la velocidad de carga en diferentes regiones.
¿Qué hago si mi hosting compartido es muy lento?
Si ya has aplicado todos los consejos y la tienda sigue lenta, es probable que tu hosting no tenga suficientes recursos. Plantéate migrar a un VPS o a un hosting gestionado de PrestaShop.
