Cómo optimizar la velocidad de PrestaShop (cPanel y Plesk)
¿Tu tienda PrestaShop va lenta? No te preocupes, es uno de los problemas más comunes cuando el catálogo crece o el servidor no está bien ajustado. Un sitio lento no solo frustra a tus clientes, sino que también afecta tu posicionamiento en Google. En esta guía completa, paso a paso y sin tecnicismos innecesarios, te voy a enseñar cómo optimizar prestashop velocidad tanto si tu hosting usa cPanel como si usa Plesk. Vamos a ello.
Primero, entiende por qué tu tienda va lenta
Antes de tocar nada, es clave que sepas que la velocidad de PrestaShop depende de tres factores principales: tu servidor (el hosting), la configuración interna de la tienda y el peso de los archivos (imágenes, módulos, etc.). A veces el problema no es tu tienda, sino que el plan de hosting es muy básico. Pero en la mayoría de casos, con unos ajustes bien hechos, puedes lograr un cambio drástico.
¿Cómo saber si tu tienda es lenta? Puedes usar herramientas gratuitas como Google PageSpeed Insights o GTmetrix. Te dirán una puntuación del 0 al 100 y te mostrarán exactamente qué está fallando. Si tu puntuación está por debajo de 50, este artículo te va a cambiar la vida.
Activa la caché de PrestaShop (el primer gran paso)
La caché es como una "memoria temporal" que guarda las versiones ya cargadas de tus páginas. Así, cuando un cliente entra, el servidor no tiene que volver a calcular todo desde cero, sino que le entrega la copia guardada. Esto reduce el tiempo de carga drásticamente.
Para activarla en tu panel de administración de PrestaShop, sigue estos pasos:
- Ve a Parámetros avanzados > Rendimiento.
- En el apartado "Caché", selecciona "Sí, usar caché para este sitio".
- En el menú desplegable "Combinar, comprimir y cachear", elige "Usar caché de archivos" (o File cache). Es la opción más compatible.
- Guarda los cambios.
[TIP] Si tu tienda tiene muchos productos, esta simple activación puede reducir el tiempo de carga hasta en un 50%. Es el primer paso obligatorio para acelerar prestashop.
Ajusta la caché de Smarty
Dentro de ese mismo menú de Rendimiento, encontrarás la sección "Plantillas" y "Caché de plantillas". Asegúrate de que esté en "Recompilar las plantillas si están modificadas" en modo desarrollo, pero cuando tu tienda esté en producción, cámbialo a "Nunca recompilar las plantillas". Esto le dice a PrestaShop que no revise cada vez si los archivos de diseño han cambiado, ahorrando muchísimo trabajo al servidor.
Activa la compresión GZIP
La compresión GZIP reduce el tamaño de los archivos que se envían al navegador del cliente. Imagina que envías una caja de cartón llena de aire: GZIP la aplasta para que ocupe menos. Esto se hace a nivel de servidor.
En cPanel:
- Entra a tu panel de cPanel.
- Busca la sección "Optimizar el sitio web" (a veces llamada "Optimize Website").
- Selecciona la opción "Comprimir todo el contenido" o "Compress all content".
- Guarda y listo.
En Plesk:
- Entra a tu panel de Plesk.
- Ve a "Sitios web y dominios" y selecciona tu dominio.
- Busca la opción "Apache y nginx" (o "Configuración de servidor web").
- En la pestaña de nginx, activa la casilla "Activar proxy para el dominio" y luego en la sección de "Configuración adicional de nginx" añade estas líneas:
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/xml application/xml+rss application/json;
[INFO] Si no ves la opción de nginx en Plesk, no pasa nada. Puedes hacerlo desde el archivo .htaccess que te explico abajo, pero si tu plan lo tiene, es mucho mejor.
Combina y comprime archivos CSS y JavaScript
PrestaShop tiene una opción integrada para juntar todos los archivos de estilo (CSS) y de programación (JavaScript) en uno solo. Esto reduce la cantidad de peticiones que el navegador hace al servidor, y por tanto, acelera la carga.
Vuelve a Parámetros avanzados > Rendimiento. En la sección "Combinar, comprimir y cachear", marca las siguientes casillas:
- "Combinar archivos JavaScript"
- "Comprimir archivos JavaScript"
- "Combinar archivos CSS"
- "Comprimir archivos CSS"
Guarda los cambios. Si tu tienda usa un tema antiguo o algún módulo incompatible, puede que algo se vea raro. Si pasa, desmarca una a una para encontrar el culpable. Pero en el 90% de los casos, funciona perfecto.
[WARNING] Si usas un módulo de pago o de envíos que carga sus propios scripts, a veces combinarlos da problemas. Si notas algo raro después de activar esto, es mejor dejarlo desactivado y usar un plugin de caché externo como el que te recomiendo abajo.
Optimiza las imágenes (el gran olvidado)
Las imágenes son el archivo más pesado de cualquier tienda online. Una foto de producto mal optimizada puede pesar 2 MB, y si tienes 100 productos, eso es un desastre. Debes reducir su peso sin perder calidad visible.
Pasos prácticos:
- Redimensiona antes de subir: Las fotos de producto no deberían superar los 800x800 píxeles (o 1000x1000 si quieres zoom). No subas una foto de 4000x4000 desde tu cámara.
- Usa formato WebP: Es un formato moderno que pesa mucho menos que JPG o PNG. Puedes usar herramientas online gratuitas como Squoosh.app para convertir tus imágenes antes de subirlas.
- Activa la recompresión automática: PrestaShop tiene un módulo llamado "PrestaShop Cleaner" o puedes usar módulos de pago como "Smush" o "Optimal". Pero si no quieres pagar, lo más fácil es hacerlo manualmente con las imágenes que ya tienes.
En cPanel o Plesk, usa la herramienta de optimización:
Tanto cPanel como Plesk suelen incluir una herramienta llamada "Optimizar imágenes" o "Image Optimization". Solo tienes que seleccionar la carpeta /img de tu PrestaShop y ejecutarla. Te comprimirá todas las imágenes de golpe sin que pierdas calidad visible.
[TIP] No subas nunca una imagen directamente desde tu móvil o cámara a PrestaShop. Tómate 2 minutos en reducirla antes. El impacto en la velocidad es brutal.
Activa el almacenamiento en caché del navegador (Leverage Browser Caching)
Esto le dice al navegador del cliente que guarde ciertos archivos (como logos, CSS o JavaScript) en su disco duro durante un tiempo. Así, cuando el cliente vuelva a tu tienda, no tiene que descargarlos otra vez, se cargan al instante.
En cPanel:
- Ve a "Administrador de archivos" y busca la carpeta raíz de tu PrestaShop (normalmente
public_html). - Busca el archivo llamado
.htaccess(si no lo ves, activa "Mostrar archivos ocultos" en la configuración del administrador de archivos). - Haz clic derecho y edita el archivo. Al final, añade este código:
<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 image/webp "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType text/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"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
</IfModule>
Guarda el archivo.
En Plesk:
- Ve a "Sitios web y dominios" > tu dominio > "Apache y nginx".
- En la sección de "Directivas adicionales de Apache" (o "Additional Apache directives"), pega el mismo código que arriba.
- Guarda.
[INFO] Si tu hosting usa LiteSpeed en lugar de Apache (lo verás en cPanel), el código cambia un poco, pero la mayoría de los hosting compatibles con PrestaShop usan Apache o nginx, así que este código es universal.
Desactiva módulos que no uses y mantén todo actualizado
PrestaShop es como una casa: cuantos más muebles (módulos) tengas, más difícil es limpiar. Cada módulo activo consume recursos del servidor, aunque no lo veas.
- Ve a "Módulos > Módulos y servicios".
- Revisa la lista de módulos instalados y desinstala (no desactives, desinstala) todos los que no uses. Por ejemplo, si no vendes en varios idiomas, desinstala el módulo de traducción.
- Actualiza siempre PrestaShop, los temas y los módulos a la última versión. Cada versión nueva suele incluir mejoras de rendimiento y correcciones de seguridad.
[WARNING] Antes de desinstalar cualquier módulo, asegúrate de que no dependa de otro. Si algo se rompe, siempre puedes reinstalarlo desde el marketplace.
Elige un buen hosting y considera PHP 8+
Si después de hacer todo esto tu tienda sigue lenta, el problema puede ser tu plan de hosting o la versión de PHP. PrestaShop funciona mucho mejor con PHP 8.0 o superior (idealmente 8.1 o 8.2). Las versiones antiguas de PHP (7.4 o menores) son mucho más lentas y tienen fallos de seguridad.
Cómo cambiar la versión de PHP en cPanel:
- Ve a "Select PHP Version" (o "Seleccionar versión de PHP").
- Elige la versión más reciente que soporte tu PrestaShop (revisa la documentación oficial, pero 8.1 es segura para PrestaShop 8).
- Guarda los cambios.
En Plesk:
- Ve a "Sitios web y dominios" > tu dominio > "Configuración de PHP".
- En el menú desplegable "Versión de PHP", elige la más moderna.
- Guarda.
[TIP] Si tu hosting te permite elegir entre Apache y LiteSpeed, elige LiteSpeed siempre que puedas. Es mucho más rápido y eficiente para PrestaShop. En cPanel, esto se ve en "Configuración de LiteSpeed" o en el selector de versiones de PHP.
Usa un CDN (Red de Distribución de Contenidos)
Un CDN guarda copias de tu tienda en servidores de todo el mundo. Así, si un cliente está en México y tu servidor está en España, el CDN le muestra una copia desde un servidor cercano a él. Esto reduce la latencia (el tiempo que tarda la información en viajar).
Los más populares y fáciles de configurar son Cloudflare (gratis) y StackPath (de pago). Con Cloudflare, solo tienes que crear una cuenta, añadir tu dominio y cambiar los DNS de tu hosting a los que te dan ellos. Luego activas la opción de "Caché" y listo.
[INFO] Si usas Cloudflare, asegúrate de que la opción "Desarrollo" esté desactivada cuando tu tienda esté en producción, o la caché no funcionará.
Limpia la base de datos y las tablas de PrestaShop
Con el tiempo, tu base de datos acumula información basura: revisiones antiguas, carritos abandonados, sesiones caducadas, etc. Esto hace que las consultas sean más lentas.
- Ve a "Parámetros avanzados > Base de datos".
- Haz clic en "Optimizar" en la parte superior. Esto repara y optimiza las tablas.
- En "Parámetros avanzados > Rendimiento", activa la opción "Mantener sesiones en la base de datos" solo si tu servidor no las soporta. Si no sabes qué es, déjalo como está.
[TIP] Si te sientes cómodo con phpMyAdmin (desde cPanel o Plesk), puedes ejecutar esta consulta SQL para limpiar sesiones antiguas:
DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
Pero si no sabes qué es SQL, mejor no toques nada y usa la opción de optimizar desde el panel.
Configuración avanzada para usuarios con hosting en Plesk (nginx)
Si tu Plesk tiene nginx activado como proxy, puedes mejorar aún más el rendimiento añadiendo estas líneas en la configuración adicional de nginx (recuerda la ruta: Sitios web y dominios > tu dominio > Apache y nginx > Configuración adicional de nginx):
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=prestashop:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_valid 200 60m;
Esto crea una caché de páginas completa para usuarios anónimos. El impacto es enorme, pero solo si tu servidor tiene suficiente RAM. Si no estás seguro, consulta con tu proveedor de hosting antes de aplicar esto.
Comprueba el resultado final
Después de hacer todos estos cambios, vuelve a ejecutar Google PageSpeed Insights o GTmetrix. Compara las puntuaciones. Si has hecho todo bien, deberías ver una mejora notable, pasando de 30-40 puntos a 70-90.
[WARNING] No te obsesiones con llegar a 100. Es casi imposible en una tienda con módulos y pasarelas de pago. Un buen objetivo es estar por encima de 70 en móvil y por encima de 85 en escritorio.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda en notarse la mejora?
Los cambios de caché y compresión se notan al momento. La optimización de imágenes y la limpieza de base de datos pueden tardar unas horas en surtir efecto completo, pero verás una mejora inmediata en el peso de las páginas.
¿Puedo hacer esto yo mismo o necesito un técnico?
Todo lo que te he explicado aquí es 100% autodidacta. Solo necesitas acceso a tu panel de cPanel o Plesk y a tu administrador de PrestaShop. No necesitas saber programar. Si te pierdes en algún paso, vuelve a leer la sección y tómate tu tiempo.
¿Qué hago si mi hosting usa Syspanel en lugar de cPanel o Plesk?
Si tu hosting te da acceso a Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Simplemente entra a tu panel a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Dentro, busca las opciones de "Web" o "Apache" para configurar la caché y la compresión. La lógica es exactamente la misma que en Plesk, solo que la interfaz es un poco más simple.
¿Merece la pena pagar por un hosting más caro?
Si tu tienda ya tiene muchos productos y visitas, puede que sí. Pero antes de pagar más, haz todos estos ajustes. A menudo, el problema no es el hosting, sino la configuración. Si después de todo sigues lento, entonces sí, considera un plan VPS o un hosting dedicado.
