Cómo acelerar PrestaShop en tu servidor: caché, PHP y optimización básica
¿Tu tienda PrestaShop va lenta? No te preocupes, no necesitas ser un experto en servidores para notar una mejora enorme. Un negocio online que tarda más de 3 segundos en cargar pierde clientes y ventas. Además, Google penaliza las tiendas lentas en sus resultados de búsqueda. La buena noticia es que acelerar PrestaShop es más sencillo de lo que parece si atacamos tres frentes clave: la caché, la configuración de PHP y la optimización básica del servidor.
En esta guía práctica, pensada para principiantes y usuarios sin experiencia técnica, te explicaré paso a paso cómo optimizar PrestaShop servidor para que vuele. No te aburriré con comandos complejos ni jerga innecesaria. Solo acciones claras, directas y efectivas.
El diagnóstico inicial: ¿Dónde está el cuello de botella?
Antes de empezar a tocar nada, es fundamental saber qué está frenando tu tienda. A veces el problema no es el servidor, sino un módulo mal configurado o una imagen gigante. Realiza estas comprobaciones rápidas:
-
Usa PageSpeed Insights o GTmetrix: Introduce la URL de tu tienda. Te dirán si el problema es el tiempo de respuesta del servidor (TTFB) o el peso de los recursos (imágenes, CSS, JS).
-
Revisa el panel de administración de PrestaShop: Ve a Parámetros avanzados > Rendimiento. Si el campo "Modo de depuración" está en "Sí", apágalo. Eso ralentiza todo.
-
Comprueba la versión de PHP: Si usas PHP 5.6 y tu PrestaShop es moderno, estás en la edad de piedra. Necesitas PHP 7.4, 8.0 o superior para que todo funcione fluido.
Si el tiempo de respuesta del servidor es alto (más de 500ms), sigue leyendo. Vamos a arreglarlo.
Configurar la caché de PrestaShop (El primer gran cambio)
La caché es como la memoria a corto plazo de tu tienda. En lugar de generar las páginas desde cero cada vez que un visitante entra, PrestaShop guarda una copia ya hecha. Esto reduce la carga del servidor y acelera la entrega de contenido.
### Activar la caché de Smarty (La caché interna)
Esta es la caché básica que trae PrestaShop por defecto. Muchos usuarios la tienen desactivada sin saberlo.
-
Entra en el panel de administración de tu tienda.
-
Ve a Parámetros avanzados > Rendimiento.
-
En la sección "Plantilla", busca la opción "Guardar en caché".
-
Selecciona "Sí, activar la caché para las plantillas".
-
En "Combinar, comprimir y cachear (JavaScript/CSS)", activa las tres opciones que aparecen: Combinar JavaScript, Comprimir con gzip y Combinar CSS. Esto reduce el número de peticiones al servidor.
-
Guarda los cambios.
[TIP] Después de hacer cambios en el diseño o en módulos, recuerda vaciar esta caché desde el mismo menú para ver los resultados. No es un problema, es una práctica habitual.
### Activar la caché de memoria (Redis o Memcached)
La caché de Smarty es genial, pero se guarda en archivos en el disco duro. Si tu servidor recibe muchas visitas, es mejor usar una caché en memoria RAM. Es muchísimo más rápida.
Esta opción requiere que el servidor tenga instalado Redis o Memcached. Si usas un hosting compartido, probablemente no lo tengas. Si tienes un VPS o un servidor dedicado, es la mejor inversión en rendimiento que puedes hacer.
-
Instala Redis o Memcached en tu servidor (consulta a tu proveedor de hosting o busca tutoriales para tu panel de control).
-
En PrestaShop, ve a Parámetros avanzados > Rendimiento.
-
En la sección "Caché", selecciona "Usar caché" y elige "Redis" o "Memcached" en el desplegable.
-
Introduce la IP del servidor (normalmente 127.0.0.1) y el puerto (normalmente 6379 para Redis y 11211 para Memcached).
-
Guarda y listo. Notarás una mejora brutal en el tiempo de respuesta.
[WARNING] Si no sabes qué es Redis o no tienes acceso a la terminal de tu servidor, no intentes instalar nada. Puedes romper tu tienda. Pide ayuda a tu hosting o a un técnico.
Optimizar PHP para PrestaShop (El motor de tu tienda)
PrestaShop está escrito en PHP. Si el motor no está bien ajustado, la tienda va lenta, aunque tengas el mejor servidor del mundo. Estos son los ajustes más importantes.
### Subir la memoria límite (memory_limit)
A veces, PrestaShop necesita más memoria para ejecutar tareas complejas (como generar informes o procesar imágenes). Si el límite es muy bajo, el servidor se bloquea y tarda más.
-
Accede al archivo
php.inide tu servidor. Si no sabes dónde está, puedes crearlo en la raíz de tu tienda o usar el panel de control de tu hosting (como Syspanel). En Syspanel, lo encontrarás en la sección de "Avanzado" o "PHP". -
Busca la línea
memory_limity ponla amemory_limit = 256Mcomo mínimo. Si tu tienda es grande, usa 512M. -
Guarda el archivo y reinicia el servicio PHP (o el servidor web).
### Ajustar el tiempo de ejecución (max_execution_time)
Si tu tienda tarda en procesar un pago o en exportar un archivo grande, PHP se corta si el tiempo es muy corto.
-
En el mismo
php.ini, buscamax_execution_time. -
Ponlo a
max_execution_time = 300(300 segundos es suficiente para la mayoría de casos). -
Guarda y reinicia.
### Usar la versión correcta de PHP (PHP 8.x)
Esta es la regla de oro. PrestaShop 1.7.7 y versiones posteriores funcionan de maravilla con PHP 8.0 o 8.1. Si usas una versión anterior, tu tienda será lenta y vulnerable.
-
Accede a tu panel de control de hosting (cPanel, Syspanel, Plesk, etc.).
-
Busca la sección de "Gestión de PHP" o "MultiPHP Manager".
-
Selecciona tu dominio y elige la versión de PHP más reciente y estable (8.1 o 8.2).
-
Aplica los cambios.
[INFO] Si tu hosting no te deja cambiar la versión de PHP, significa que es un hosting muy básico. Te recomiendo encarecidamente migrar a un VPS o a un hosting que te dé control total.
### Activar la caché de opcodes (OPcache)
OPcache almacena el código PHP compilado, lo que evita que el servidor tenga que "traducir" el código cada vez. Es como tener el libro ya abierto por la página que necesitas.
-
En el
php.ini, buscaopcache.enable. -
Ponlo a
opcache.enable = 1. -
Ajusta la memoria:
opcache.memory_consumption = 128. -
Ajusta el número de scripts:
opcache.max_accelerated_files = 10000. -
Reinicia el servidor.
[TIP] Si no ves estas opciones en tu php.ini, es que OPcache no está instalado. En la mayoría de las distribuciones Linux (como Ubuntu o Debian), se instala con el paquete php8.1-opcache (ajusta el número a tu versión).
Optimización básica del servidor (El entorno)
Una vez que PrestaShop y PHP están afinados, toca mirar el servidor. No necesitas ser un SysAdmin, pero estos ajustes son fáciles de hacer y dan resultados inmediatos.
### Activar la compresión Gzip o Brotli
Esto comprime los archivos que se envían al navegador del cliente (HTML, CSS, JS). Reduce el peso de la página hasta en un 70%.
-
Si usas Apache, añade esto al archivo
.htaccessen la raíz de tu tienda:<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript </IfModule> -
Si usas Nginx, añade esto a tu archivo de configuración del sitio (dentro del bloque
server):gzip on; gzip_comp_level 6; gzip_vary on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; -
Guarda y reinicia el servidor web.
### Aprovechar el navegador (Browser Caching)
Dile al navegador del cliente que guarde ciertos archivos (como logos o CSS) en su disco duro para no tener que descargarlos en cada visita.
-
En el
.htaccess(Apache), añade:<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" </IfModule> -
En Nginx, dentro del bloque
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$, añade:expires 30d; add_header Cache-Control "public, no-transform";
### Cambiar a HTTP/2 o HTTP/3
Este protocolo permite cargar múltiples archivos a la vez, en lugar de uno tras otro. Es un cambio enorme.
-
Si usas Syspanel (anteriormente HestiaCP), es muy fácil. Accede a tu panel en el puerto 2106 (ejemplo:
https://tu-servidor:2106). -
Ve a la sección de "Web" y busca tu dominio.
-
Activa el certificado SSL/Let's Encrypt si no lo tienes (es necesario para HTTP/2).
-
En la configuración del servidor web (Apache o Nginx), verás una opción para habilitar HTTP/2. Actívala y guarda.
[WARNING] HTTP/2 requiere que tu sitio tenga HTTPS activo. Si no tienes SSL, primero instala el certificado, luego activa HTTP/2.
Preguntas frecuentes (FAQ) sobre cómo acelerar PrestaShop
¿Cuánto tiempo tengo que esperar para ver la mejora?
Inmediatamente. Al activar la caché y la compresión, notarás la diferencia en los primeros segundos después de guardar los cambios. El mayor impacto lo verás en el tiempo de respuesta del servidor (TTFB).
¿Y si mi hosting es muy limitado?
Si tu hosting no te deja cambiar PHP o instalar Redis, es hora de migrar. Busca un hosting que ofrezca al menos PHP 8.0 y la opción de instalar Nginx o LiteSpeed. Un VPS básico es la mejor opción para una tienda en crecimiento.
¿Qué es más importante: la caché o la optimización de imágenes?
Ambas son cruciales. La caché reduce el trabajo del servidor, pero si tus imágenes pesan 2MB cada una, el navegador del usuario tardará en descargarlas igualmente. Optimiza las imágenes (con herramientas como TinyPNG) y activa la caché.
¿Puedo romper mi tienda con estos cambios?
Siempre hay un riesgo si editas archivos de configuración sin saber lo que haces. Por eso te recomiendo que hagas una copia de seguridad de tu .htaccess y de tu php.ini antes de editarlos. Si algo falla, revierte los cambios.
¿Sirve de algo usar un CDN?
Sí, mucho. Un CDN (Red de Distribución de Contenido) guarda copias de tu tienda en servidores de todo el mundo. Si un cliente de México entra a tu tienda alojada en España, el CDN le mostrará la copia más cercana. Esto reduce la latencia y mejora la velocidad de PrestaShop notablemente. Cloudflare tiene un plan gratuito muy bueno.
Resumen final: Tu checklist para una tienda rápida
Para terminar, aquí tienes una lista de verificación rápida para que no se te olvide nada:
-
Activa la caché de Smarty en el panel de PrestaShop.
-
Combina y comprime los archivos CSS y JavaScript.
-
Instala y activa Redis si tienes un VPS.
-
Sube la memoria PHP a 256M o 512M.
-
Actualiza a PHP 8.1 o superior.
-
Activa OPcache en el
php.ini. -
Activa Gzip en Apache o Nginx.
-
Configura el Browser Caching para imágenes y archivos estáticos.
-
Activa HTTP/2 en tu servidor (recuerda que Syspanel usa el puerto 2106 para acceder).
-
Optimiza las imágenes de tus productos antes de subirlas.
Con estos pasos, tu tienda acelerar PrestaShop será una realidad. No solo mejorarás la experiencia de tus usuarios, sino que también verás un aumento en tus conversiones y en tu posicionamiento SEO.
[INFO] Si después de hacer todo esto tu tienda sigue lenta, el problema puede ser un módulo de terceros que consume muchos recursos. Desactiva los módulos que no uses y revisa el consumo de recursos en el panel de tu servidor. A veces, un plugin mal codificado es el verdadero culpable.
No tengas miedo de experimentar. Cada servidor es un mundo, y lo que funciona para uno puede no funcionar para otro. La clave es probar, medir y ajustar. ¡Tu tienda (y tus clientes) te lo agradecerán!
