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

Cómo optimizar el rendimiento de PrestaShop en un VPS

Actualizado el 14 de marzo de 2026

¿Por qué PrestaShop va lento en un VPS y cómo solucionarlo?

Si tienes una tienda online con PrestaShop y notas que las páginas tardan en cargar, los carritos se abandonan o el servidor se satura en horas punta, estás en el lugar correcto. Optimizar PrestaShop en un VPS (Servidor Privado Virtual) es una de las tareas más gratificantes para cualquier administrador, porque los resultados se notan casi de inmediato: páginas más rápidas, mejor posicionamiento en Google y, sobre todo, más ventas.

En esta guía completa, paso a paso y pensada para principiantes, vamos a desgranar todas las técnicas y ajustes necesarios para optimizar prestashop en tu VPS. No necesitas ser un gurú de Linux para seguirla, solo tener acceso a tu panel de control y muchas ganas de mejorar la experiencia de tus clientes.

Vamos a empezar desde lo más básico hasta lo más avanzado, explicando el "porqué" de cada acción para que entiendas qué estás haciendo y por qué ayuda a acelerar tienda online.

Entendiendo el cuello de botella: ¿Por qué mi PrestaShop es lento?

Antes de tocar nada, es crucial entender que un VPS tiene recursos limitados (CPU, RAM, disco). PrestaShop es un software muy completo y potente, pero también es "glotón" si no se configura bien. Los principales culpables de la lentitud suelen ser:

  • PHP mal configurado: El intérprete de PHP es el corazón de PrestaShop. Si no está optimizado para tu VPS, desperdiciarás memoria y tiempo de procesamiento.
  • Caché desactivada o mal configurada: Sin caché, tu tienda regenera todas las páginas (HTML, imágenes, consultas a la base de datos) en cada visita. Es como volver a cocinar un menú completo para cada cliente que entra al restaurante.
  • Base de datos descuidada: Con el tiempo, la base de datos (MySQL/MariaDB) se llena de basura, registros antiguos y tablas fragmentadas que ralentizan las consultas.
  • Imágenes sin optimizar: Las imágenes de producto son las que más pesan en una tienda. Si no están comprimidas, tardarán una eternidad en cargar.
  • Servidor web sin ajustar: Apache o Nginx tienen configuraciones por defecto que no aprovechan al máximo los recursos de tu VPS.

Ahora sí, vamos a la acción. Te propongo un plan de ataque en 7 fases.

Fase 1: La base de todo — Configurar PHP para PrestaShop

La configuración de PHP es el punto de partida. Un PHP bien ajustado puede reducir el tiempo de respuesta hasta en un 50%. Aquí tienes los parámetros clave que debes revisar en tu archivo php.ini.

Parámetros esenciales en php.ini

Accede a tu VPS por SSH (o desde el administrador de archivos de tu panel, como Syspanel, cuyo puerto de acceso es el 2106). Busca el archivo php.ini (normalmente en /etc/php/8.x/apache2/ o /etc/php/8.x/fpm/).

  • memory_limit: PrestaShop es exigente. Te recomiendo un mínimo de 256M. Si tienes un VPS con 4GB de RAM o más, puedes subirlo a 512M para operaciones de importación o generación de miniaturas.
  • max_execution_time: Este es el tiempo máximo que PHP puede ejecutar un script. Ponlo a 300 segundos (5 minutos) para evitar "timeouts" en tareas pesadas como actualizaciones o backups.
  • upload_max_filesize y post_max_size: Necesarios para subir productos con imágenes grandes. Configúralos a 64M y 128M respectivamente.
  • realpath_cache_size: Este es un truco poco conocido pero muy efectivo. Aumenta la caché de rutas de archivos. Configúralo a 4096k. Esto evita que PHP busque las mismas rutas de archivos una y otra vez.
  • opcache.enable=1: La caché de opcodes es OBLIGATORIA. Guarda el código PHP ya compilado en memoria, evitando que se vuelva a compilar en cada petición. Asegúrate de que está activada.

Activar OPcache (La joya de la corona)

OPcache es una extensión de PHP que guarda en memoria los scripts PHP ya compilados. Es la mejora de rendimiento más significativa que puedes hacer a nivel de PHP.

Para activarla, además de opcache.enable=1, te sugiero estos valores:

opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2

[TIP]: Después de cambiar el php.ini, reinicia el servicio PHP-FPM o Apache para que los cambios surtan efecto. Si usas Syspanel, puedes hacerlo desde el apartado "Servicios" o "Reinicios".

Fase 2: Activar y configurar la caché de PrestaShop

PrestaShop tiene su propio sistema de caché, pero está desactivado por defecto en muchas instalaciones. Vamos a encenderlo y configurarlo correctamente.

Caché de Smarty (Plantillas)

Smarty es el motor de plantillas de PrestaShop. Al activar su caché, las páginas HTML se generan una vez y se guardan, en lugar de generarse en cada visita.

  1. Ve a Back Office > Parámetros avanzados > Rendimiento.
  2. En Caché de plantillas, selecciona "Recompilar las plantillas si se han actualizado los archivos". Esto es ideal para producción, ya que solo recompila cuando cambias el tema.
  3. En Caché, activa "Sí". Se te pedirá que elijas un sistema. Te recomiendo "File System" (Sistema de archivos) para VPS, ya que es el más rápido y no depende de servicios externos.

Caché de consultas a la base de datos

En el mismo panel de rendimiento, encontrarás la opción "Caché de base de datos". Actívala también. Esto almacena los resultados de las consultas SQL más comunes, reduciendo la carga en MySQL.

[WARNING]: Después de activar la caché, en ocasiones verás contenido desactualizado en el front-office. No te asustes. Simplemente ve a Parámetros avanzados > Rendimiento y pulsa el botón "Vaciar la caché" en la parte superior. Es como un botón de "actualizar todo".

Fase 3: Optimización de la base de datos MySQL/MariaDB

Una base de datos limpia y bien indexada es vital para rendimiento prestashop vps. Con el tiempo, se acumulan muchos datos innecesarios.

Limpieza y mantenimiento regular

  • Elimina carritos abandonados antiguos: En el BO, ve a Clientes > Carritos y borra los que tengan más de 30 días.
  • Limpia las tablas de sesiones: Las sesiones caducadas llenan la tabla ps_connections y ps_sessions. Puedes usar el módulo "Limpieza de base de datos" de PrestaShop o hacerlo manualmente con SQL.
  • Optimiza las tablas: Usa phpMyAdmin (disponible en Syspanel, puerto 2106) o la línea de comandos para ejecutar OPTIMIZE TABLE. Esto desfragmenta las tablas y libera espacio.

Configuración de MySQL para VPS

En el archivo de configuración de MySQL (/etc/mysql/mysql.conf.d/mysqld.cnf o similar), ajusta estos valores para tu VPS:

  • innodb_buffer_pool_size: Este es el parámetro más importante. Debe ser aproximadamente el 70% de tu RAM total. Por ejemplo, si tu VPS tiene 4GB de RAM, pon innodb_buffer_pool_size = 2G. Esto hace que la base de datos se lea desde la memoria, no desde el disco (que es mucho más lento).
  • query_cache_size: Aunque está obsoleto en MySQL 8, en versiones anteriores ayuda. Configúralo a 64M.
  • tmp_table_size y max_heap_table_size: Aumenta estos valores a 64M para que las tablas temporales (usadas en consultas complejas) se almacenen en memoria en lugar de en disco.

[INFO]: No copies estos valores a ciegas. El tamaño de innodb_buffer_pool_size depende de la RAM de tu VPS. Si no estás seguro, ejecuta free -m en la terminal para ver cuánta RAM tienes.

Fase 4: Optimización de imágenes y medios

Las imágenes son el 60-70% del peso de una página en PrestaShop. Optimizarlas es una de las acciones más rápidas para acelerar tienda online.

Activar la compresión de imágenes en PrestaShop

PrestaShop tiene un sistema de generación de miniaturas integrado.

  1. Ve a Back Office > Parámetros avanzados > Rendimiento.
  2. Busca la sección "Imágenes".
  3. Activa "Usar compresión JPEG" y ponla al 90%. Esto reduce el peso sin pérdida visible de calidad.
  4. Activa "Usar compresión PNG" si usas ese formato.
  5. Activa "Reducir el tamaño de las imágenes".

Generación de miniaturas con WebP

El formato WebP es el futuro. Es un 30% más ligero que JPEG y PNG. PrestaShop 1.7.7 y superiores lo soportan nativamente.

  • Ve a Parámetros avanzados > Rendimiento.
  • En la sección "Formato de imagen", selecciona "Usar WebP si está disponible".

[TIP]: Después de cambiar la configuración de imágenes, ve a Parámetros avanzados > Rendimiento y pulsa "Regenerar miniaturas". Esto recreará todas las imágenes con la nueva configuración. Ten paciencia, puede tardar unos minutos.

Fase 5: Configuración del servidor web (Apache o Nginx)

El servidor web es el encargado de servir las páginas. Una configuración óptima es clave.

Si usas Apache (el más común)

  • Activa mod_deflate: Comprime los archivos HTML, CSS y JS antes de enviarlos al navegador. En tu archivo .htaccess (en la raíz de PrestaShop) añade:
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript
    
  • Activa mod_expires: Permite que el navegador guarde en caché los archivos estáticos (imágenes, CSS, JS). Así, cuando un cliente vuelve a tu tienda, no tiene que descargarlos de nuevo. En el .htaccess:
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    

Si usas Nginx (más rápido pero más complejo)

Nginx es conocido por su alto rendimiento. Si tu VPS lo usa, asegúrate de que la configuración de fastcgi_cache esté activa para guardar las páginas HTML en memoria.

Apache vs Nginx: ¿Cuál elegir?

Para un VPS con recursos limitados, Nginx es superior en rendimiento. Sin embargo, Apache es más fácil de configurar. Si tu panel (como Syspanel) te da la opción de instalar Nginx, te lo recomiendo encarecidamente.

Fase 6: Ajustes específicos de PrestaShop

Además de las fases anteriores, hay ajustes específicos en el Back Office que marcan la diferencia.

Desactivar funciones innecesarias

  • Modo mantenimiento: Nunca lo dejes activo en producción.
  • Debug: Ve a Parámetros avanzados > Rendimiento y asegúrate de que "Modo Depuración" está en "No". Si está en "Sí", tu tienda es mucho más lenta.
  • Módulos innecesarios: Desinstala y elimina los módulos que no uses. Cada módulo activo consume recursos.
  • SEO URLs: Activa las URLs amigables en Parámetros avanzados > SEO y URLs. Esto mejora el SEO y la percepción de velocidad.

Activar la combinación de CSS y JavaScript

En Parámetros avanzados > Rendimiento, verás las opciones:

  • "Combinar archivos JavaScript": Actívalo. Reduce el número de peticiones al servidor.
  • "Minimizar archivos JavaScript": Actívalo. Elimina espacios y comentarios del código.
  • Haz lo mismo con los archivos CSS.

[WARNING]: Después de activar estas opciones, revisa tu tienda en varios navegadores para asegurarte de que todo se ve bien. En raras ocasiones, la combinación puede romper el diseño si un módulo no es compatible.

Fase 7: Herramientas y monitorización continua

Optimizar no es una tarea de una sola vez. Es un proceso continuo. Debes monitorizar tu tienda para detectar problemas antes de que afecten a tus clientes.

Herramientas recomendadas

  • Google PageSpeed Insights: Te da una puntuación de rendimiento y te sugiere mejoras concretas.
  • GTmetrix: Similar a PageSpeed, con más detalles sobre el tiempo de carga de cada elemento.
  • Pingdom Tools: Te permite testear tu tienda desde diferentes ubicaciones geográficas.

Monitorización del servidor

Desde tu VPS, puedes usar comandos como htop para ver el uso de CPU y RAM en tiempo real. Si ves que la RAM está al 90% constantemente, es hora de optimizar más o de plantearse un plan superior.

Revisa los logs

Los logs de Apache (/var/log/apache2/error.log) y de MySQL (/var/log/mysql/error.log) son tus mejores amigos. Te dirán exactamente qué está fallando.

Preguntas Frecuentes (FAQ)

¿Cuánta RAM necesito para PrestaShop en un VPS?

Para una tienda pequeña (menos de 500 productos), con 2GB de RAM es suficiente. Para tiendas medianas (1000-5000 productos), 4GB. Para tiendas grandes, 8GB o más. Recuerda que la configuración de PHP y MySQL debe ajustarse a la RAM disponible.

¿Es mejor usar un CDN?

Sí, absolutamente. Un CDN (Red de Distribución de Contenido) como Cloudflare guarda tus imágenes y archivos estáticos en servidores de todo el mundo. Tus clientes los descargarán del servidor más cercano, reduciendo drásticamente la latencia. Es una de las mejores inversiones para acelerar tienda online.

¿Debo usar Syspanel para estas configuraciones?

Syspanel (que puedes acceder en el puerto 2106) es una excelente herramienta de administración para tu VPS. Te permite gestionar dominios, bases de datos, cuentas de correo y, en muchos casos, configurar PHP y los servicios con clics, sin tener que tocar la terminal. Úsalo para facilitar el proceso, pero los cambios más finos (como my.cnf o php.ini) a veces requieren edición manual de archivos.

¿Con qué frecuencia debo vaciar la caché de PrestaShop?

No hay una regla fija. Si cambias el tema o un módulo, deberías vaciarla. Si no haces cambios frecuentes, puedes dejarla sin tocar durante semanas. La caché se va actualizando sola.

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

Si has seguido todos los pasos y aún es lenta, revisa si hay algún módulo de terceros que esté consumiendo demasiados recursos. Desactiva todos los módulos no esenciales y ve activándolos uno a uno para identificar al culpable. También considera contratar un plan de VPS con más recursos (más RAM o CPU).

Conclusión: El rendimiento es un viaje, no un destino

Optimizar PrestaShop en un VPS es un proceso que requiere paciencia y método. Hemos cubierto las áreas más críticas: PHP, caché, base de datos, imágenes y servidor web. Aplicando estas técnicas, notarás una mejora drástica en la velocidad de tu tienda, lo que se traducirá en una mejor experiencia de usuario, un mejor posicionamiento SEO y, en definitiva, más ventas.

Recuerda que la clave está en la constancia. Dedica un tiempo cada mes a monitorizar el rendimiento, limpiar la base de datos y revisar los logs. Así, tu ti

¿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