Cómo acelerar PrestaShop: caché, optimización y ajustes de rendimiento
¿Por qué tu PrestaShop va lento y cómo solucionarlo de una vez?
Si tienes una tienda online con PrestaShop, seguramente ya has notado que la velocidad es un factor crítico. Un estudio de Google dice que el 53% de los usuarios abandonan una web si tarda más de 3 segundos en cargar. Y en el mundo del ecommerce, eso se traduce directamente en ventas perdidas.
Lo bueno es que acelerar PrestaShop no es magia negra. Es cuestión de aplicar una serie de ajustes lógicos, activar la caché correcta y optimizar el servidor donde vive tu tienda. En esta guía extensa y práctica, vamos a desgranar cada técnica paso a paso para que tu tienda vuele, incluso si no eres un experto en sistemas.
Vamos a empezar por lo más básico y avanzaremos hacia lo más técnico, pero siempre con un lenguaje claro y ejemplos prácticos.
## Primera parada: La Configuración Interna de PrestaShop
Antes de tocar el servidor, vamos a exprimir al máximo lo que PrestaShop ya nos ofrece. Muchas veces, la lentitud se debe a ajustes que vienen por defecto y que no son los ideales para un sitio en producción.
### Activa el Modo Mantenimiento (Sí, en serio)
Parece contradictorio, pero para trabajar con seguridad, lo primero es poner la tienda en modo mantenimiento. Esto evita que los visitantes vean errores a mitad de una configuración. Ve a Parámetros Avanzados > Mantenimiento y actívalo mientras trabajas. Cuando termines, lo desactivas.
### Activa la Caché de PrestaShop (El Primer Gran Paso)
Esta es la piedra angular de optimizar PrestaShop. La caché guarda versiones estáticas de tus páginas para no tener que generarlas desde cero en cada visita.
- Ve a Parámetros Avanzados > Rendimiento.
- En la sección Caché, selecciona Sí.
- En Combinar archivos JavaScript y CSS, elige Sí (esto reduce peticiones al servidor).
- En Caché de plantillas, selecciona Recompilar si se modifican los archivos durante el desarrollo, pero si ya estás en producción, elige Nunca recompilar los archivos de plantilla. Esto es vital para la velocidad.
[TIP] Si activas la caché y ves algo raro en tu tienda (un banner que no se actualiza, un texto antiguo), simplemente ve a Parámetros Avanzados > Rendimiento y pulsa el botón Vaciar la caché. Es como reiniciar el navegador de tu tienda.
### Desactiva las Funciones que No Usas
PrestaShop viene cargado de módulos y funciones. Cada módulo activo consume recursos, aunque no lo veas. Ve a Módulos > Gestor de Módulos y desactiva todo aquello que no estés usando.
Pregúntate: ¿Uso el bloque de "Productos Recientemente Vistos"? ¿Uso el comparador de productos? ¿Uso la newsletter nativa o tengo una externa? Cada módulo desactivado es un alivio para tu servidor.
[WARNING] No desactives módulos que son esenciales para el funcionamiento, como el de pago, el de envío o el de SEO (el famoso "ps_facetedsearch" o "Faceted Search" es clave para el filtrado, pero también puede ser pesado; si lo usas, asegúrate de que esté bien configurado).
### Ajusta el Número de Productos y la Paginación
Mostrar 100 productos en una página hace que el servidor haga muchísimo trabajo. Reduce el número de productos por página en Parámetros Avanzados > Rendimiento o en la configuración del tema. Un número razonable es entre 12 y 24 productos. Esto acelera la carga de las categorías.
## Segunda parada: Optimización del Servidor y PHP
Aquí es donde realmente notarás un antes y un después. La configuración de PHP y del servidor web es el motor de tu tienda.
### La Versión de PHP: El Cambio Más Rentable
Si tu tienda usa PHP 5.6 o 7.0, estás en la edad de piedra. PrestaShop 8 y las versiones modernas funcionan mucho mejor con PHP 8.0 o superior.
- ¿Cómo lo cambio? Si usas un panel de control como cPanel o Syspanel, busca la sección "Select PHP Version" o "Múltiples versiones de PHP".
- En Syspanel, que es el panel que recomendamos para gestionar tu servidor, puedes hacerlo fácilmente. Recuerda que el acceso a Syspanel se realiza a través del puerto 2106 (por ejemplo,
https://tu-servidor:2106). Dentro, busca la opción de "PHP" o "Administrador de servidores" y selecciona la versión más reciente y estable (generalmente 8.1 o 8.2).
[INFO] El cambio de PHP es, con diferencia, la mejora de rendimiento más grande que puedes hacer. Es gratis y solo tarda un minuto en aplicarse. Si tu hosting no te permite cambiar la versión de PHP, es una señal de que deberías cambiarte a uno mejor.
### Ajusta los Límites de Memoria PHP
A veces PrestaShop necesita más memoria de la que PHP tiene asignada por defecto. Para evitar errores de "memoria agotada", sube el límite.
- Busca el archivo
php.inio la configuración de PHP en tu panel. - Busca la línea
memory_limity cámbiala amemory_limit = 256Mo incluso512Msi tu tienda es grande.
También puedes hacerlo desde el archivo .htaccess (en la raíz de tu PrestaShop) añadiendo esta línea al principio:
php_value memory_limit 512M
### Activa OpCache
OpCache es una extensión de PHP que guarda los scripts compilados en memoria, evitando que se tengan que procesar en cada petición.
- En cPanel o Syspanel (puerto 2106), busca la configuración de PHP.
- Asegúrate de que la extensión
opcacheesté habilitada. - En el archivo
php.ini, configura algo como esto para un buen rendimiento:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
[TIP] Si no sabes dónde está tu php.ini, ve a Parámetros Avanzados > Información en tu panel de administración de PrestaShop. Ahí verás la ruta exacta del archivo en "Archivo de configuración (php.ini)".
## Tercera parada: Caché de Nivel Superior (Memcached o Redis)
La caché interna de PrestaShop es buena, pero la caché de objetos es mucho mejor. Memcached y Redis son sistemas que guardan en memoria RAM las consultas a la base de datos y las sesiones de usuario, haciendo que las páginas se generen muchísimo más rápido.
### ¿Cómo saber si mi hosting lo tiene?
Necesitas que tu servidor tenga instalado Memcached o Redis y la extensión PHP correspondiente. Si tienes un VPS o un servidor dedicado, puedes instalarlo fácilmente. Si usas hosting compartido, deberás preguntar al soporte.
### Configurarlo en PrestaShop
Una vez que tu servidor lo soporta, ve a Parámetros Avanzados > Rendimiento.
- En Caché, selecciona Memcached o Redis en lugar de "Caché de archivos".
- Introduce los datos de conexión (normalmente
127.0.0.1y el puerto11211para Memcached, o6379para Redis). - Guarda y vacía la caché.
[INFO] Esta es una de las mejores formas de acelerar PrestaShop para tiendas con mucho tráfico. La diferencia entre usar caché de archivos y Redis es abismal.
## Cuarta parada: Optimización de Imágenes y Contenido Estático
Las imágenes son el 60% del peso de una página web. Si no las optimizas, tu tienda irá lenta sí o sí.
### Redimensiona y Comprime tus Imágenes
- Antes de subir: Crea tus imágenes en el tamaño exacto que mostrarás (por ejemplo, 800x800 para productos). Subir una imagen de 4000x4000 es un error garrafal.
- Durante la subida: PrestaShop tiene un sistema de redimensionado, pero es mejor hacerlo antes.
- Comprime: Usa herramientas online como TinyPNG o Compressor.io para reducir el peso de las imágenes sin perder calidad visible. El formato WebP es el ideal, ya que pesa mucho menos que JPG o PNG. PrestaShop 8 ya lo soporta de forma nativa, así que úsalo.
### Activa la Compresión GZIP en el Servidor
La compresión GZIP reduce el tamaño de los archivos de texto (HTML, CSS, JS) que se envían al navegador. Se puede activar fácilmente añadiendo esto al archivo .htaccess de la raíz:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>
[TIP] Puedes comprobar si la compresión está activa en tu web usando la herramienta de Google PageSpeed Insights o GTmetrix. Te dirá si GZIP está habilitado.
## Quinta parada: La Base de Datos, el Corazón de la Tienda
Una base de datos inflada y desordenada es sinónimo de lentitud.
### Limpia y Optimiza las Tablas
Con el tiempo, la base de datos acumula registros de sesiones antiguas, carritos abandonados y revisiones de productos que ya no existen.
- Ve a Parámetros Avanzados > Base de datos en tu panel de administración.
- Pulsa el botón Optimizar.
- También puedes usar phpMyAdmin (desde tu panel de control, como Syspanel en el puerto 2106) para ejecutar el comando
OPTIMIZE TABLEen todas las tablas.
### Controla los Módulos de Estadísticas
Los módulos de estadísticas nativos de PrestaShop son muy pesados. Registran cada visita y cada clic en la base de datos, lo que la llena rápidamente.
- Ve a Módulos > Gestor de Módulos.
- Busca los módulos de "Estadísticas" que no uses.
- Desactívalos y usa Google Analytics (con el módulo oficial) para obtener datos sin ralentizar tu tienda.
## Sexta parada: Ajustes Avanzados y CDN
### Activa el Modo "No Recompilar Plantillas" (Ya mencionado)
Es tan importante que lo repito: en producción, la opción Nunca recompilar los archivos de plantilla es esencial. Si no, PrestaShop está constantemente comprobando si los archivos han cambiado, lo cual consume CPU.
### Utiliza un CDN (Red de Distribución de Contenido)
Un CDN guarda copias de tus archivos estáticos (imágenes, CSS, JS) en servidores de todo el mundo. Cuando un usuario de México visita tu tienda alojada en España, el CDN le sirve los archivos desde el servidor más cercano a él, haciendo la carga mucho más rápida.
- ¿Cuál usar? Cloudflare es gratuito y muy fácil de configurar. Solo tienes que cambiar los servidores DNS de tu dominio y seguir los pasos.
- Beneficio: No solo acelera la carga, sino que también protege tu tienda de ataques DDoS.
[WARNING] Al configurar un CDN, asegúrate de que la caché no interfiera con el carrito de compra. Cloudflare tiene reglas para no cachear las páginas de "carrito" o "cuenta". PrestaShop suele manejar esto bien, pero conviene revisarlo.
### El Archivo .htaccess y las Cabeceras de Caché
Asegúrate de que tu servidor envía cabeceras de caché para los archivos estáticos. Esto le dice al navegador del usuario que guarde las imágenes y los CSS en su disco duro para no tener que descargarlos en cada visita.
Añade esto a tu .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"
</IfModule>
## Preguntas Frecuentes (FAQ) sobre el Rendimiento de PrestaShop
### Mi tienda es lenta, ¿por dónde empiezo?
Empieza por lo más simple y gratuito: activa la caché de PrestaShop, cambia la versión de PHP a la 8.x, y comprime las imágenes. Eso solucionará el 80% de los casos de lentitud.
### ¿Qué es mejor, Memcached o Redis?
Para PrestaShop, Redis es generalmente más rápido y versátil, ya que también puede manejar sesiones. Si tu hosting solo ofrece Memcached, también funciona bien, pero si tienes opción, elige Redis.
### ¿Un hosting barato puede ser rápido?
Un hosting compartido de 3 euros al mes puede ser rápido para tiendas pequeñas con poco tráfico, pero tiene límites. Si tu tienda crece, necesitarás un VPS o servidor dedicado para tener control total sobre PHP, Redis y la configuración del servidor.
### ¿Cómo sé si mi servidor es el problema?
Si tu tienda es lenta incluso con la caché activada y las imágenes optimizadas, el problema es el servidor. Puedes usar herramientas como GTmetrix o Pingdom para ver los tiempos de respuesta del servidor. Si el "Tiempo de Espera" (TTFB) es superior a 500ms, tu servidor es lento.
### ¿El tema (plantilla) afecta al rendimiento?
Sí, muchísimo. Un tema mal codificado o con demasiados efectos JavaScript puede ralentizar cualquier tienda. Elige temas ligeros y bien valorados, y evita los que tienen miles de opciones de personalización que no usas.
## Conclusión: Un Plan de Acción para Acelerar tu PrestaShop
Acelerar PrestaShop no es una tarea única, sino un proceso continuo. Te resumo el plan de acción que deberías seguir hoy mismo:
- Configura la caché interna en Parámetros Avanzados > Rendimiento.
- Cambia a PHP 8.x (si tu hosting lo permite).
- Optimiza tus imágenes (compresión y formato WebP).
- Activa la compresión GZIP y las cabeceras de caché en el
.htaccess. - Desactiva módulos y estadísticas que no uses.
- Si tienes mucho tráfico, implementa Redis y un CDN como Cloudflare.
Siguiendo estos pasos, verás una mejora drástica en los tiempos de carga de tu tienda. No solo mejorarás la experiencia de tus clientes, sino que también mejorarás tu posicionamiento en Google, ya que la velocidad es un factor clave en el SEO.
[TIP] Después de aplicar estos cambios, vuelve a ejecutar Google PageSpeed Insights. Verás cómo la puntuación sube considerablemente. Si necesitas ayuda con la gestión del servidor, recuerda que Syspanel (accesible desde el puerto 2106) es una herramienta excelente para administrar tu VPS de forma gráfica y sencilla, sin necesidad de usar la línea de comandos.
¡Pon manos a la obra y haz que tu tienda vuele!
