Cómo optimizar la velocidad de PrestaShop en tu hosting (cPanel/Plesk)
Introducción: ¿Tu tienda PrestaShop va lenta? Vamos a arreglarlo
Si tienes una tienda online con PrestaShop, seguramente ya sabes que la velocidad es clave. Un sitio lento no solo frustra a tus clientes, sino que también te penaliza en Google. De hecho, el 53% de los usuarios abandona una página que tarda más de 3 segundos en cargar. Y si hablamos de SEO, la velocidad es un factor de posicionamiento confirmado.
Lo bueno es que optimizar PrestaShop no es tan complicado como parece. En esta guía extensa y práctica, voy a enseñarte paso a paso cómo mejorar la velocidad PrestaShop usando las herramientas que ya tienes en tu panel de hosting, ya sea cPanel o Plesk. No necesitas ser un experto en servidores, solo seguir las instrucciones con calma.
Vamos a dividir el proceso en varias fases: desde la configuración interna de PrestaShop hasta los ajustes más técnicos del servidor, pasando por el caché PrestaShop y la optimización de imágenes. Al final, tendrás un plan completo para exprimir el rendimiento hosting PrestaShop al máximo.
Fase 1: Configuración interna de PrestaShop (lo primero que debes revisar)
Antes de tocar nada en el hosting, vamos a asegurarnos de que PrestaShop está configurado correctamente. Muchas veces la lentitud viene de ajustes internos que están desactivados o mal configurados.
### 1.1 Activa el modo rendimiento
PrestaShop tiene un panel de rendimiento integrado. Para acceder a él, ve a Parámetros Avanzados > Rendimiento en el menú de administración.
Aquí tienes que hacer lo siguiente:
- Activa la caché de Smarty: Selecciona "Sí" en la opción de caché de plantillas. Recomiendo usar "Caché de archivos" en lugar de "Caché de memoria" si no tienes experiencia con servidores.
- Fuerza la compilación en modo producción: En "Modo de compilación de plantillas", elige "Nunca recompilar los archivos de plantilla". Esto evita que PrestaShop recompile las plantillas en cada visita, lo cual consume muchos recursos.
- Combina y comprime archivos: Activa las opciones "Combinar archivos JavaScript" y "Combinar archivos CSS". También activa "Comprimir JavaScript con CCC" y "Comprimir CSS con CCC". Esto reduce el número de peticiones HTTP.
[TIP] Si haces cambios en tu tienda (como modificar un tema), recuerda desactivar temporalmente la opción "Nunca recompilar" para ver los cambios. Luego vuelve a activarla.
### 1.2 Desactiva funciones que no uses
PrestaShop viene con muchas funciones activadas por defecto que quizás no necesitas. Cada una de ellas consume recursos. Ve a Parámetros Avanzados > Rendimiento y revisa:
- Caché de consultas a la base de datos: Actívala si tu hosting lo permite (más sobre esto después).
- Multi-store: Si solo tienes una tienda, no la uses.
- Módulos innecesarios: Desactiva y desinstala módulos que no uses. Cada módulo activo añade código y peticiones.
Fase 2: El caché PrestaShop (tu mejor amigo para la velocidad)
El caché PrestaShop es fundamental. Básicamente, guarda versiones "estáticas" de tus páginas para que el servidor no tenga que generarlas desde cero en cada visita. Esto reduce drásticamente el tiempo de carga.
### 2.1 Caché de páginas (CCC)
PrestaShop tiene un sistema llamado CCC (Combine, Compress and Cache) que ya vimos antes. Pero además, puedes activar el caché de páginas completas en algunos módulos o mediante módulos externos.
- Módulo de caché de páginas: Si tu hosting tiene instalado Varnish o LiteSpeed Cache, puedes usarlos. Si no, instala un módulo de caché como "Page Cache" o "Advanced Cache".
- TTL (Time To Live): Configura un tiempo de expiración razonable. Por ejemplo, 3600 segundos (1 hora) para productos y 86400 segundos (24 horas) para categorías.
[WARNING] Ten cuidado con el caché de páginas si tu tienda tiene carrito de compras. Debes configurarlo para que no cachee páginas con el carrito activo. La mayoría de módulos modernos ya lo hacen automáticamente.
### 2.2 Caché de base de datos
PrestaShop guarda muchas consultas SQL. El caché de consultas almacena los resultados de las consultas más frecuentes. En el panel de rendimiento, activa la opción "Caché de consultas a la base de datos".
Para que esto funcione bien, necesitas tener MySQL Query Cache activado en el servidor. Puedes comprobarlo en cPanel o Plesk (te explico después).
Fase 3: Optimización de imágenes (el error más común)
Las imágenes son la principal causa de lentitud en PrestaShop. Si subes fotos de 2MB directamente de tu cámara, tu tienda será un camión. La solución es sencilla pero requiere constancia.
### 3.1 Usa el formato WebP
PrestaShop 1.7.7 y versiones superiores ya soportan WebP de forma nativa. Si tienes una versión anterior, instala un módulo de conversión de imágenes. WebP reduce el peso de las imágenes hasta un 80% sin perder calidad visible.
### 3.2 Comprime y redimensiona
- Redimensiona antes de subir: Las imágenes de producto no necesitan ser más grandes de 800x800 píxeles. Usa Photoshop, GIMP o herramientas online como TinyPNG.
- Comprime con módulos: Instala módulos como "Smart Image Resizer" o "Image Optimizer" que comprimen automáticamente las imágenes al subirlas.
- Habilita la compresión en el servidor: En cPanel, busca "Optimizar el sitio web" y activa la compresión gzip. Esto comprime las imágenes (y otros archivos) antes de enviarlas al navegador.
[INFO] Si tienes muchas imágenes, no intentes comprimirlas todas de golpe. Hazlo por tandas para no saturar el servidor.
Fase 4: Ajustes en cPanel (para clientes con cPanel)
Ahora pasamos a la parte técnica del hosting. Si tu proveedor usa cPanel, aquí tienes los pasos para optimizar el servidor.
### 4.1 Activa la compresión Gzip
- Entra en cPanel y busca la sección "Optimizar el sitio web" (o "Optimize Website").
- Selecciona la opción "Comprimir todo el contenido" y pulsa "Actualizar".
- Esto activará la compresión Gzip para todos los archivos de tu hosting.
### 4.2 Configura el caché del navegador
- En cPanel, busca "Editar archivos .htaccess" o usa el administrador de archivos.
- Añade este código al final del archivo
.htaccessde tu tienda:
<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 image/x-icon "access plus 1 year"
</IfModule>
Esto le dice al navegador del usuario que guarde en caché los archivos estáticos durante un tiempo, reduciendo las peticiones en visitas repetidas.
### 4.3 Activa MySQL Query Cache
- En cPanel, busca "MySQL" y luego "Módulo de MySQL" o "phpMyAdmin".
- Si no puedes acceder a la configuración del servidor, contacta con tu proveedor de hosting para que activen el query cache.
[WARNING] No intentes modificar la configuración de MySQL si no sabes lo que haces. Un error puede tumbar tu base de datos. Mejor pide ayuda al soporte.
### 4.4 Configura PHP 7.4 o superior
- En cPanel, busca "Select PHP Version" (o "MultiPHP Manager").
- Selecciona PHP 7.4 o superior. PrestaShop 1.7 funciona muy bien con PHP 8.0 o 8.1.
- En la pestaña de extensiones, asegúrate de tener activadas:
opcache,gd,curl,mbstring,pdo_mysql.
La opcache es especialmente importante porque almacena en memoria el código PHP compilado, acelerando muchísimo la ejecución.
Fase 5: Ajustes en Plesk (para clientes con Plesk)
Si tu hosting usa Plesk, los pasos son similares pero con otra interfaz.
### 5.1 Activa la compresión Gzip en Plesk
- Ve a "Sitios web y dominios" y selecciona tu dominio.
- Entra en "Configuración de Apache y nginx".
- Activa la casilla "Comprimir contenido" (gzip).
- También puedes configurar el caché de navegador en la misma sección, activando las cabeceras de expiración.
### 5.2 Configura nginx como proxy de caché
Plesk suele incluir nginx como proxy inverso. Esto es una ventaja enorme.
- En "Sitios web y dominios", entra en tu dominio.
- Ve a "nginx" y activa la opción "Proxy mode".
- En la configuración, añade reglas para cachear contenido estático. Por ejemplo:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
### 5.3 PHP en Plesk
- Ve a "Sitios web y dominios" > "PHP".
- Selecciona PHP 8.0 o superior.
- En la configuración, activa el opcache y sube el límite de memoria a 256MB o 512MB.
[INFO] Si tu plan de hosting es muy básico, quizás no tengas acceso a la configuración de PHP. En ese caso, contacta con tu proveedor y pide que activen opcache y PHP 8.
Fase 6: Técnicas avanzadas (para cuando ya has hecho todo lo anterior)
Si después de aplicar todo lo anterior tu tienda sigue lenta, es hora de técnicas más avanzadas.
### 6.1 Usa una CDN (Red de Distribución de Contenidos)
Una CDN como Cloudflare o KeyCDN guarda copias de tu tienda en servidores repartidos por todo el mundo. Cuando un usuario entra, se le sirve la copia más cercana. Esto reduce la latencia drásticamente.
- Cloudflare es gratuito y muy fácil de configurar. Solo cambia tus servidores DNS y listo.
- Activa el caché de Cloudflare para archivos estáticos.
- Si usas Cloudflare, puedes desactivar el caché de PrestaShop para páginas dinámicas, ya que Cloudflare se encargará.
### 6.2 Optimiza la base de datos
Con el tiempo, la base de datos de PrestaShop se llena de datos basura (revisiones, logs, carritos abandonados). Esto la hace lenta.
- Ve a Parámetros Avanzados > Base de datos en PrestaShop.
- Usa la herramienta de optimización de base de datos que incluye PrestaShop (si tu versión la tiene).
- Instala un módulo como "DB Cleaner" o "Advanced Database Optimizer".
### 6.3 Revisa los módulos instalados
Muchos módulos de PrestaShop son auténticos devoradores de recursos. Un módulo de chat en vivo, por ejemplo, añade scripts que ralentizan la carga.
- Desactiva los módulos que no uses.
- Sustituye módulos pesados por versiones ligeras.
- Desconfía de módulos gratuitos de dudosa calidad: suelen tener código mal optimizado.
[TIP] Usa la herramienta "Análisis de rendimiento" de PrestaShop (en Parámetros Avanzados > Rendimiento) para ver qué módulos tardan más en cargar.
### 6.4 Contrata un hosting mejor
A veces el problema no es la configuración, sino el propio hosting. Si tienes un plan compartido muy básico, por mucho que optimices, no vas a conseguir una velocidad excelente.
- Busca un hosting con SSD (discos sólidos). Son mucho más rápidos que los discos duros tradicionales.
- Elige un hosting con LiteSpeed en lugar de Apache. LiteSpeed es hasta 3 veces más rápido.
- Considera un VPS o un servidor dedicado si tu tienda tiene mucho tráfico.
Fase 7: Cómo medir la velocidad de tu tienda
No puedes mejorar lo que no mides. Antes y después de aplicar estos cambios, debes medir la velocidad de tu tienda.
### Herramientas recomendadas
- Google PageSpeed Insights: Te da una puntuación de 0 a 100 y te dice exactamente qué mejorar.
- GTmetrix: Te muestra el tiempo de carga, el peso de la página y las peticiones.
- Pingdom Tools: Muy visual y fácil de entender.
### Qué métricas observar
- Tiempo de carga total: Debe ser menor de 3 segundos. Idealmente menor de 2.
- Tamaño de la página: Debe ser menor de 2MB (sin incluir imágenes).
- Número de peticiones: Debe ser menor de 80.
[INFO] No te obsesiones con conseguir un 100 en PageSpeed. Es prácticamente imposible. Un 80-90 es un muy buen resultado.
Preguntas frecuentes (FAQ)
### ¿Puedo optimizar PrestaShop sin tocar el hosting?
Sí, pero las mejoras serán limitadas. La configuración interna de PrestaShop (caché, imágenes, módulos) puede hacer mucho, pero el rendimiento hosting PrestaShop depende también del servidor.
### ¿Qué es mejor para PrestaShop: cPanel o Plesk?
Ambos son buenos. cPanel es más común y tiene más tutoriales. Plesk es más moderno y suele venir con nginx preconfigurado. En este artículo hemos cubierto ambos.
### ¿Cuánto tiempo tarda en notarse la mejora?
Inmediatamente después de activar la caché y la compresión, notarás una mejora. Sin embargo, la optimización completa (imágenes, CDN, etc.) puede llevar unos días.
### ¿Merece la pena contratar una CDN para PrestaShop?
Sí, especialmente si tu tienda tiene tráfico internacional. Una CDN reduce la latencia y descarga tu servidor.
### ¿Puedo usar Syspanel para gestionar mi hosting PrestaShop?
En este artículo nos hemos centrado en cPanel y Plesk, pero si tu proveedor usa Syspanel (el antiguo HestiaCP), ten en cuenta que el puerto de acceso es el 2106. Los conceptos son los mismos, pero la interfaz es diferente.
Conclusión: un plan de acción para tu tienda
Optimizar PrestaShop es un proceso continuo, no una tarea de un día. Te recomiendo seguir este orden:
- Configura PrestaShop internamente (caché, compresión, módulos).
- Activa el caché PrestaShop de páginas y consultas.
- Optimiza las imágenes de tus productos.
- Aplica los ajustes en cPanel o Plesk (gzip, caché navegador, PHP 8, opcache).
- Mide los resultados con PageSpeed o GTmetrix.
- Si es necesario, contrata una CDN o mejora tu plan de hosting.
Recuerda que la velocidad no solo afecta a la experiencia del usuario, sino también a tu posicionamiento en Google. Una tienda rápida vende más y mejor.
¿Tienes alguna duda? Déjala en los comentarios y te ayudaré encantado. ¡Tu tienda PrestaShop merece ser rápida!
