Cómo optimizar la velocidad de PrestaShop en Plesk con caché y gzip
Introducción: ¿Por qué tu PrestaShop va lento en Plesk?
Si tu tienda online tarda más de 3 segundos en cargar, estás perdiendo ventas. Los estudios lo confirman: el 53% de los usuarios abandonan una web que tarda más de 3 segundos en mostrar el contenido. Y en el caso de PrestaShop, un CMS tan potente como exigente, la optimización no es un lujo, es una necesidad.
En este artículo vamos a centrarnos en un entorno muy concreto: Plesk como panel de control y PrestaShop como plataforma de ecommerce. Te voy a enseñar, paso a paso y sin tecnicismos innecesarios, cómo optimizar prestashop plesk activando dos herramientas mágicas: caché y compresión gzip.
¿El resultado? Una tienda que vuela, mejores posiciones en Google y clientes que no se desesperan esperando a que carguen tus productos. Vamos a ello.
¿Qué es la caché y por qué es vital para PrestaShop?
La caché es como una "memoria rápida" que guarda copias de los elementos más pesados de tu web. Cuando un visitante entra en tu tienda, el servidor no tiene que volver a generar todo desde cero: simplemente entrega la copia guardada. Es como tener el café ya preparado en vez de moler los granos cada vez que alguien pide una taza.
PrestaShop genera dinámicamente cada página (productos, carritos, categorías, etc.) usando PHP y consultas a la base de datos MySQL. Sin caché, cada visita obliga al servidor a trabajar el doble. Con caché, el trabajo se reduce drásticamente.
En Plesk, la caché se puede implementar a nivel de aplicación (dentro de PrestaShop) y a nivel de servidor (con herramientas como Varnish o Redis). Ambas son compatibles y recomendables.
Tipos de caché que deberías activar
- Caché de Smarty: es el motor de plantillas de PrestaShop. Al activarlo, las páginas se compilan y guardan en archivos estáticos.
- Caché de consultas a la base de datos: guarda los resultados de las consultas MySQL para no repetirlas.
- Caché de servidor (Varnish/Redis): se configura en Plesk y almacena las páginas completas en memoria RAM.
Mi recomendación: empieza activando la caché de PrestaShop desde su panel de administración. Si ves que aún necesitas más velocidad, pasa a configurar Redis en Plesk.
Paso 1: Activar la caché nativa de PrestaShop (lo más básico)
Este es el primer paso y el más sencillo. No necesitas tocar archivos de configuración ni reiniciar servicios.
- Entra en el panel de administración de PrestaShop (normalmente en
tudominio.com/admin). - Ve al menú Parámetros avanzados → Rendimiento.
- En la sección Caché, selecciona Sí, usar caché de Smarty.
- En Modo de caché, elige Caché de archivos (es la opción más segura para empezar).
- En Caché de consultas a la base de datos, selecciona Sí.
- Guarda los cambios.
[TIP] Si tu hosting tiene pocos recursos, no uses "Caché de Memcached" si no sabes configurarlo. La caché de archivos es suficiente para tiendas pequeñas y medianas.
Después de activarlo, notarás una mejora inmediata. Pero esto es solo el principio. La verdadera potencia viene con la compresión gzip.
Paso 2: Activar la compresión gzip en Plesk
gzip es un algoritmo que comprime los archivos que se envían al navegador del visitante. Piensa en ello como enviar una carpeta comprimida en ZIP en lugar de enviar cada archivo suelto. El navegador lo descomprime al instante y muestra la página completa.
El resultado es una reducción del 70-80% del peso total de la página. Si tu web pesa 2 MB, con gzip pasará a pesar unos 400 KB. La diferencia en velocidad es brutal.
Configurar gzip en Plesk mediante .htaccess
Plesk usa Apache como servidor web por defecto, así que la forma más fácil de activar gzip es editando el archivo .htaccess en la raíz de tu PrestaShop.
- Entra en Plesk → Sitios web y dominios → selecciona tu dominio.
- Haz clic en Administrador de archivos.
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
httpdocsopublic_html). - Busca el archivo
.htaccess. Si no existe, créalo con un editor de texto. - Añade este código al final del archivo:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
- Guarda el archivo.
[INFO] Si tu servidor usa Nginx en lugar de Apache, la configuración es diferente. En Plesk, ve a Sitios web y dominios → Apache y Nginx y añade el bloque
gzip on; gzip_types ...;en la sección de Nginx. Si no sabes cuál usas, pregunta a tu proveedor de hosting.
Verificar si gzip está funcionando
Después de guardar el archivo, comprueba si la compresión está activa. Puedes usar herramientas online como GTmetrix o Pingdom Website Speed Test. También puedes hacerlo manualmente con el inspector de Chrome:
- Abre tu tienda en Chrome.
- Pulsa F12 para abrir las herramientas de desarrollador.
- Ve a la pestaña Red y recarga la página.
- Haz clic en cualquier archivo y mira la cabecera
Content-Encoding: gzip. Si aparece, ¡está funcionando!
Paso 3: Añadir cabeceras de caché en el navegador (leveraging browser caching)
La caché del navegador es otra capa de optimización. Cuando un visitante entra por primera vez, su navegador descarga todos los archivos (imágenes, CSS, JS). Con las cabeceras de caché, le decimos al navegador que guarde esos archivos durante un tiempo, así en la segunda visita no tiene que volver a descargarlos.
En Plesk, puedes añadir estas cabeceras también en el .htaccess:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
Este código le dice al navegador que las imágenes se guarden durante un año y los CSS/JS durante un mes. Es una mejora notable para la velocidad prestashop en visitas repetidas.
Paso 4: Configurar Redis como caché en Plesk (nivel avanzado)
Si tu tienda tiene mucho tráfico o muchos productos, la caché de archivos puede quedarse corta. Ahí entra Redis, un almacén de datos en memoria RAM que es extremadamente rápido.
Instalar Redis en Plesk
- Conecta por SSH a tu servidor (si no sabes cómo, pide a tu proveedor que lo haga).
- Ejecuta:
sudo apt install redis-server - Inicia el servicio:
sudo systemctl start redis-server sudo systemctl enable redis-server - Instala la extensión PHP de Redis:
sudo apt install php-redis - Reinicia PHP-FPM y Apache:
sudo systemctl restart apache2 sudo systemctl restart php8.2-fpm
Configurar PrestaShop para usar Redis
- Ve a Parámetros avanzados → Rendimiento.
- En Caché, selecciona Sí, usar caché de Smarty.
- En Modo de caché, elige Redis.
- Introduce los datos del servidor Redis (normalmente
127.0.0.1y puerto6379). - Guarda.
[WARNING] Si no tienes experiencia con SSH, no intentes esto solo. Un error en la configuración de Redis puede dejar tu tienda caída. Mejor pide ayuda a tu hosting o a un técnico.
Paso 5: Activar la caché de páginas de PrestaShop (One Page Cache)
PrestaShop 1.7 y versiones posteriores incluyen una función llamada Caché de página completa. Esta caché guarda la página HTML completa y la sirve sin ejecutar PHP ni consultas a la base de datos.
Actívala desde el mismo panel de rendimiento:
- En Parámetros avanzados → Rendimiento.
- Busca la sección Caché de página completa.
- Actívala y elige el tiempo de duración (recomiendo 1 día para tiendas con productos que cambian poco).
- Guarda.
[TIP] Si actualizas precios o stock muy a menudo, usa un tiempo de caché corto (1 hora) para no mostrar información desactualizada.
Paso 6: Optimizar imágenes en PrestaShop
Las imágenes son el 60-70% del peso de una página de producto. Si no las optimizas, todo lo demás será en vano.
Activar la compresión de imágenes en PrestaShop
- Ve a Parámetros avanzados → Rendimiento.
- En Compresión de imágenes, activa Usar compresión JPEG y Usar compresión PNG.
- Elige el nivel de compresión (recomiendo 80% para un equilibrio calidad/peso).
- Guarda.
Convertir imágenes a WebP
WebP es un formato moderno que pesa hasta un 30% menos que JPEG con la misma calidad. PrestaShop 1.7.7+ lo soporta nativamente.
- En Parámetros avanzados → Rendimiento.
- Busca Formato de imagen y selecciona WebP.
- Guarda y regenera las miniaturas (en Parámetros avanzados → Imágenes → Regenerar miniaturas).
Paso 7: Configurar Plesk para aprovechar al máximo el rendimiento
Plesk tiene opciones nativas que mejoran el rendimiento plesk prestashop sin tocar código.
Activar el caché de estáticos en Nginx
Si Plesk usa Nginx como proxy (lo hace en la mayoría de las instalaciones), puedes activar el caché de archivos estáticos:
- En Plesk, ve a Sitios web y dominios → tu dominio.
- Haz clic en Apache y Nginx.
- En la sección Nginx, marca Activar proxy.
- Añade en Configuración adicional de Nginx:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg)$ { expires 30d; add_header Cache-Control "public, immutable"; } - Guarda.
Usar PHP-FPM en modo "ondemand"
PHP-FPM es el procesador de PHP. En Plesk, puedes configurarlo para que no consuma memoria cuando no hay tráfico:
- En Sitios web y dominios → PHP.
- Selecciona PHP-FPM como manejador.
- En Configuración → Procesos, elige el modo ondemand.
- Guarda.
Paso 8: Comprobar resultados y monitorizar
Una vez aplicados todos los cambios, es hora de comprobar el antes y el después. Usa estas herramientas gratuitas:
- GTmetrix (gtmetrix.com): te da una puntuación de velocidad y rendimiento.
- Google PageSpeed Insights (pagespeed.web.dev): la referencia de Google.
- Pingdom (tools.pingdom.com): análisis rápido y sencillo.
Ejecuta el análisis antes y después para ver la mejora. Una puntuación de 90+ en PageSpeed Insights es un excelente objetivo.
[INFO] El rendimiento también depende del servidor. Si tu hosting es de gama baja, ninguna optimización en el software hará milagros. Considera un hosting con SSD y recursos dedicados si tu tienda crece.
Preguntas frecuentes (FAQ)
¿Puedo usar caché y gzip al mismo tiempo?
Sí, totalmente. De hecho, es la combinación perfecta. La caché reduce el trabajo del servidor y gzip reduce el peso de los archivos que se envían al navegador. Se complementan a la perfección.
¿Qué hago si después de activar gzip mi web se ve rara?
Esto puede ocurrir si el servidor no está bien configurado. Prueba a desactivar gzip temporalmente, vacía la caché del navegador y recarga. Si se ve bien, el problema es la configuración. Asegúrate de que el módulo mod_deflate está activo en Apache. En Plesk, ve a Herramientas y utilidades → Módulos Apache y verifica.
Mi PrestaShop sigue lento después de todo esto, ¿qué más puedo hacer?
Si has aplicado todos los pasos y aún va lento, revisa estos puntos:
- Tu hosting: puede ser insuficiente. Cambia a un plan con más RAM y CPU.
- Módulos de PrestaShop: algunos módulos son muy pesados. Desactiva los que no uses.
- CDN: una red de entrega de contenido (como Cloudflare) reparte tus archivos por servidores en todo el mundo, mejorando la velocidad en otros países.
- Base de datos: limpia cachés antiguas y tablas con el módulo "Advanced EU Compliance" o similar.
¿La caché afecta a las actualizaciones de precios o stock?
Sí, si la caché de página completa está activada, los cambios pueden tardar en verse. Para evitarlo, usa tiempos de caché cortos o purga la caché manualmente después de actualizar productos. En PrestaShop, ve a Parámetros avanzados → Rendimiento → Vaciar caché.
¿Plesk tiene alguna herramienta propia para acelerar PrestaShop?
Plesk no tiene un botón mágico específico para PrestaShop, pero sí ofrece herramientas como Redis, Varnish y Nginx, que puedes configurar como hemos visto. También tiene la opción de monitorizar el rendimiento en tiempo real desde Herramientas y utilidades → Monitor de rendimiento.
Conclusión: resumen de acciones para una tienda rápida
Optimizar prestashop plesk no es complicado si sigues un orden lógico. Resumiendo todo lo visto:
- Activa la caché nativa de PrestaShop (Smarty y consultas MySQL).
- Configura gzip en el
.htaccesspara comprimir archivos. - Añade cabeceras de caché para el navegador (imágenes, CSS, JS).
- Usa Redis si tu tienda tiene tráfico alto (con ayuda técnica si es necesario).
- Activa la caché de página completa en PrestaShop.
- Optimiza las imágenes (compresión JPEG/PNG y WebP).
- Configura Plesk (Nginx estático y
