🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Optimizar la velocidad de PrestaShop: guía básica para SysAdmin

Actualizado el 12 de noviembre de 2025

¿Tu tienda PrestaShop va lenta? Respira. No eres el único. Es uno de los problemas más comunes cuando el negocio empieza a crecer o cuando el servidor no está ajustado. La buena noticia es que, en la mayoría de los casos, no necesitas cambiar de hosting ni contratar un súper servidor. Solo necesitas aplicar una serie de ajustes lógicos y de configuración que están a tu alcance.

Este artículo es una guía básica, pensada para que un SysAdmin (o un emprendedor con acceso al panel de control) pueda optimizar PrestaShop sin volverse loco. Vamos a ir paso a paso, desde el servidor hasta la configuración interna de la tienda. Al final, tu velocidad de carga mejorará notablemente y tus clientes lo agradecerán (y Google también).

Antes de empezar: Mide para no adivinar

[WARNING] No toques nada sin antes saber cuál es tu punto de partida. Si no mides, estarás trabajando a ciegas y podrías empeorar las cosas.

Tu primera tarea es medir la velocidad actual. Usa herramientas gratuitas como Google PageSpeed Insights, GTmetrix o Pingdom. Anota tres cosas:

  1. El tiempo total de carga (en segundos).
  2. El tamaño total de la página (en MB).
  3. El número de peticiones (recursos que se cargan: imágenes, CSS, JS).

Con esos datos, podrás ver si el problema es el servidor (TTFB alto) o el peso de la página (recursos pesados). Un TTFB (tiempo hasta el primer byte) superior a 500ms suele indicar un problema de configuración del servidor. Un peso superior a 3MB suele indicar un problema de optimización de contenido.

Nivel 1: Optimización a nivel de servidor (la base de todo)

Aquí es donde un SysAdmin marca la diferencia. No importa cuánto optimices la tienda si el servidor va lento. Vamos a lo básico.

1.1. PHP: La versión y la configuración importan

PrestaShop es una aplicación PHP. Si usas una versión antigua, estás perdiendo rendimiento. La versión mínima recomendada es PHP 8.0, pero lo ideal es PHP 8.2 o 8.3.

¿Cómo cambiarlo? Si usas un panel como Syspanel (accesible por el puerto 2106), busca la sección de "PHP" o "Administrador de PHP". Ahí podrás seleccionar la versión.

Además de la versión, debes ajustar los límites de memoria. En el archivo php.ini (o desde la interfaz de Syspanel), busca o añade estas líneas:

memory_limit = 512M
max_execution_time = 300
max_input_vars = 10000
realpath_cache_size = 4096K
realpath_cache_ttl = 600

[INFO] realpath_cache es un ajuste poco conocido pero muy útil. Guarda en caché las rutas de los archivos, evitando que PHP tenga que buscarlas en el disco constantemente. Esto reduce la carga del servidor.

1.2. Servidor Web: Nginx vs Apache

Si tienes la opción de elegir el servidor web, elige Nginx. Es mucho más eficiente en el manejo de conexiones concurrentes y consume menos memoria que Apache. Si usas Apache, al menos asegúrate de tener activado mod_deflate (para comprimir) y mod_headers (para el caché del navegador).

Si estás en un panel como Syspanel, en la sección de "Web" o "Servidor", podrás cambiar entre Apache y Nginx. A veces es tan fácil como hacer clic en un botón y esperar a que se reconstruya la configuración.

1.3. Caché de servidor: Varnish o Redis

Aquí es donde ocurre la magia. Varnish es un caché HTTP que se coloca delante de tu servidor web. Guarda copias estáticas de las páginas y las sirve directamente, sin pasar por PHP ni por la base de datos. Es como tener un empleado que ya conoce las respuestas y no tiene que ir a preguntar al jefe cada vez.

Redis es un almacén de datos en memoria. Se usa para guardar las sesiones de los clientes y el caché de las consultas a la base de datos. Es extremadamente rápido.

[TIP] Si tu panel de control (como Syspanel) tiene un botón para instalar Varnish o Redis, actívalo. PrestaShop tiene módulos nativos para conectarse a ambos. En la mayoría de los casos, esta simple activación reduce el tiempo de carga en un 50% o más.

1.4. MySQL/MariaDB: Ajuste fino

La base de datos es otro cuello de botella. Los valores por defecto de MySQL están pensados para ordenadores de escritorio, no para servidores. Busca el archivo my.cnf (normalmente en /etc/mysql/) y ajusta estos parámetros:

innodb_buffer_pool_size = 1G  (o el 70% de tu RAM disponible)
query_cache_type = 1
query_cache_size = 256M
tmp_table_size = 64M
max_connections = 150

[WARNING] No copies y pegues estos valores si tu servidor tiene poca RAM (menos de 2GB). El innodb_buffer_pool_size debe ser, como mucho, el 70% de tu RAM. Si pones 1G en un servidor con 1GB de RAM, provocarás un fallo del sistema.

Nivel 2: Configuración interna de PrestaShop

Una vez que el servidor está bien ajustado, pasamos a la tienda. Esto lo puedes hacer sin tocar un solo archivo de configuración del sistema.

2.1. Activa el Caché de PrestaShop

Parece obvio, pero mucha gente lo tiene desactivado. Ve a Preferencias > Rendimiento en el back office.

  1. En "Caché de plantillas", selecciona "Forzar la compilación si no hay plantilla actualizada" (en modo producción).
  2. Activa la opción "Cache" (Caché de resultados). Elige "Sistema de archivos" si no tienes Redis, o "Redis" si lo configuraste en el paso anterior.

2.2. Combina y comprime archivos CSS y JavaScript

En la misma página de Preferencias > Rendimiento, verás la sección de "Rendimiento de archivos CSS/JavaScript".

Activa las siguientes opciones:

  • Combinar archivos JavaScript (sí).
  • Comprimir archivos JavaScript (sí).
  • Combinar archivos CSS (sí).
  • Comprimir archivos CSS (sí).

Esto reduce el número de peticiones al servidor. En lugar de cargar 20 archivos de JavaScript, el navegador solo cargará 1 o 2 combinados.

[WARNING] Si tu tema o módulos usan código antiguo, la combinación puede romper el diseño. Si ves algo raro, desactiva la combinación y deja solo la compresión. Hazlo con cuidado y prueba en un entorno de desarrollo si es posible.

2.3. Activa el Caché de Consultas a la Base de Datos

En la misma página de rendimiento, busca la opción "Cache de consultas a la base de datos". Actívala. Esto almacena en memoria los resultados de las consultas SQL más comunes, lo que evita que el servidor de base de datos tenga que trabajar de más.

Nivel 3: Optimización de Contenido (El peso de la página)

Aquí es donde la mayoría de las tiendas fallan. Tienen imágenes de 2MB y no saben por qué van lentas. Esto es un error fatal.

3.1. Comprime y redimensiona las imágenes

Las imágenes son el recurso más pesado de una tienda online. Una imagen de producto debe pesar entre 50KB y 150KB como máximo.

  • Redimensiona las imágenes a la medida exacta que necesitas. Si tu producto se muestra a 800x800 píxeles, no subas una imagen de 2000x2000.
  • Comprime las imágenes usando herramientas como TinyPNG o Squoosh. Puedes hacerlo antes de subirlas, o usar un módulo de PrestaShop que lo haga automáticamente.

3.2. Usa un módulo de Caché de Página Completa

Aunque PrestaShop tiene su caché, no es tan eficiente como un módulo dedicado. Busca en el marketplace módulos como "Page Cache" o "Super Cache". Estos generan versiones HTML estáticas de tus páginas y las sirven al instante.

[TIP] Un buen módulo de caché de página completa puede ser la solución definitiva si tu problema es la lentitud. Son de pago, pero la inversión se recupera en ventas.

3.3. Activa la compresión GZIP

La compresión GZIP reduce el tamaño de los archivos que se envían al navegador. Se puede activar desde el panel de control (en Syspanel, busca "GZIP" o "Compresión") o añadiendo código al archivo .htaccess.

Si lo haces manualmente, añade esto al .htaccess:

<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
</IfModule>

Nivel 4: Técnicas avanzadas de SysAdmin

Si ya has hecho todo lo anterior y sigues buscando más rendimiento, es hora de ponerse técnico.

4.1. Ajusta el TTL del Caché del Navegador

El TTL (Time To Live) le dice al navegador del cliente cuánto tiempo debe guardar los archivos estáticos (imágenes, CSS, JS) en su caché local. Si configuras un TTL largo (por ejemplo, 1 mes), los visitantes que vuelvan a tu tienda no tendrán que descargar esos archivos de nuevo.

Añade esto al .htaccess:

<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>

4.2. Monitoriza los logs del servidor

Un SysAdmin debe vigilar los logs. Si tu tienda va lenta, revisa /var/log/nginx/error.log o /var/log/apache2/error.log. A veces hay errores de PHP que están consumiendo recursos. Busca líneas con "Fatal error" o "Allowed memory size".

4.3. Desactiva módulos innecesarios

Cada módulo activo consume recursos, aunque no lo uses. Revisa la lista de módulos en tu back office y desactiva todos los que no estés usando. PrestaShop viene con muchos módulos preinstalados que no necesitas.

[WARNING] No desactives módulos que sean necesarios para el funcionamiento de la tienda (como el de pago o el de envío). Hazlo de uno en uno y comprueba que la tienda sigue funcionando correctamente.

Preguntas Frecuentes (FAQ)

¿Por qué mi PrestaShop es tan lento a pesar de tener un buen hosting?

Porque el hosting no lo es todo. La configuración del servidor, el peso de las imágenes y la falta de caché son las causas más comunes. Un buen hosting con una mala configuración dará el mismo resultado que un mal hosting.

¿Es mejor usar Nginx o Apache para PrestaShop?

Nginx es generalmente más rápido y eficiente, especialmente con tráfico alto. Si tu panel de control (como Syspanel en el puerto 2106) te permite elegir, opta por Nginx.

¿Qué es el TTFB y por qué es importante?

El TTFB es el tiempo que tarda el servidor en enviar el primer byte de información. Si es alto (más de 500ms), indica que el servidor está tardando en procesar la petición. Esto se soluciona con caché de servidor (Varnish) y una buena configuración de PHP.

¿Puedo optimizar PrestaShop sin acceso al servidor?

Sí, puedes hacer mucho desde el back office: activar el caché, combinar archivos, comprimir imágenes y desactivar módulos. Pero para un rendimiento óptimo, necesitas acceso al servidor para ajustar PHP, MySQL y activar Varnish o Redis.

¿Cada cuánto debo limpiar el caché de PrestaShop?

No hay una regla fija. Si haces cambios frecuentes en el diseño o en los módulos, deberías forzar la compilación y limpiar el caché. Si no haces cambios, el caché se limpia solo según la configuración del TTL.

¿Qué hago si después de todo esto mi tienda sigue lenta?

Revisa los logs del servidor en busca de errores. Si no encuentras nada, es posible que necesites un plan de hosting más potente (más RAM o CPU) o un servidor dedicado. A veces, el problema es un módulo de terceros mal programado. Prueba a desactivar módulos uno por uno para aislar el problema.


Siguiendo estos pasos, en un par de horas deberías ver una mejora sustancial en la velocidad de PrestaShop. No necesitas ser un gurú de la programación, solo seguir el orden lógico: primero el servidor, luego la configuración de la tienda y, por último, el contenido. Tu tienda estará más rápida, tus clientes más contentos y tu posicionamiento en Google mejorará. ¡Manos a la obra!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel