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

Optimizar la velocidad de PrestaShop en tu servidor (DirectAdmin)

Actualizado el 2 de noviembre de 2025

Introducción: ¿Por qué tu PrestaShop va lento y cómo lo arreglamos?

¿Tu tienda online tarda una eternidad en cargar? ¿Los clientes se van antes de ver los productos? Si tienes PrestaShop alojado en un servidor con panel DirectAdmin, este artículo es para ti. Te prometo que no necesitas ser un experto en Linux para aplicar estos consejos. Vamos a desgranar, paso a paso, cómo optimizar la velocidad de tu PrestaShop desde el servidor, sin necesidad de tocar código complejo.

La velocidad no es un lujo, es una necesidad. Google penaliza las tiendas lentas en el ranking, y los usuarios abandonan cualquier página que tarde más de 3 segundos en cargar. Si vendes online, cada segundo cuenta. Vamos a convertir tu servidor DirectAdmin en una máquina veloz para que tu PrestaShop vuele.


1. Diagnóstico inicial: ¿Cuál es el cuello de botella?

Antes de tocar nada, necesitas saber desde dónde partes. No sirve de nada activar caché si el problema es tu conexión o un plugin mal configurado. Vamos a hacer un diagnóstico rápido.

1.1. Herramientas online para medir velocidad

Usa herramientas como GTmetrix o Google PageSpeed Insights. Solo tienes que meter la URL de tu tienda y esperar unos segundos. Estas herramientas te darán una nota del 0 al 100. No te obsesiones con el 100, pero intenta superar el 70 en móvil y el 80 en escritorio.

[TIP] Ejecuta el test 3 veces en horas diferentes. Si los resultados varían mucho, el problema puede ser el servidor compartido o la hora punta de tráfico.

1.2. Revisa el panel de DirectAdmin

Entra en tu panel DirectAdmin (normalmente en tudominio.com:2222). Ve a la sección de Estadísticas o Monitor de recursos. Aquí verás el uso de CPU, RAM y disco. Si el servidor está al 90% de CPU constantemente, el problema es de potencia, no de configuración.


2. Activa el Caché de PrestaShop (el primer gran paso)

PrestaShop trae un sistema de caché integrado, pero viene desactivado por defecto en muchas instalaciones. Activar esto es el cambio más rápido y efectivo que puedes hacer.

2.1. Cómo activar el Caché en el Back Office

  1. Entra en tu administración de PrestaShop (normalmente en tudominio.com/admin).
  2. Ve al menú Parámetros avanzadosRendimiento.
  3. En la sección Caché, selecciona .
  4. En Sistema de caché, elige Caché de archivos (File Cache). Es el más compatible con DirectAdmin.
  5. Guarda los cambios.

2.2. Activar Caché de Smarty (Plantillas)

En el mismo menú de Rendimiento, busca Caché de plantillas. Actívala y selecciona Recompilar plantillasNunca (solo para producción). Esto hará que las plantillas no se regeneren en cada visita, ahorrando muchísimo tiempo de procesamiento.

[WARNING] Si activas "Recompilar nunca", los cambios que hagas en el diseño (CSS, TPL) no se verán hasta que limpies la caché manualmente. Guárdate esta opción para cuando tu tienda esté estable.

2.3. Combinar y minimizar archivos CSS y JavaScript

En el mismo menú de Rendimiento, activa las opciones:

  • Combinar archivos CSS → Sí.
  • Minimizar archivos CSS → Sí.
  • Combinar archivos JavaScript → Sí.
  • Minimizar archivos JavaScript → Sí.

Esto reduce el número de peticiones al servidor. En lugar de cargar 20 archivos de estilos, carga solo 1 o 2. Ojo: si tu plantilla no es compatible, la web se puede romper visualmente. Si ves algo raro, desactiva la minimización de JS.


3. Configuración de PHP y DirectAdmin para PrestaShop

PrestaShop es una aplicación PHP, así que la configuración de PHP es crítica. DirectAdmin nos permite ajustar esto fácilmente.

3.1. PHP-FPM vs Apache

DirectAdmin te permite elegir entre varios modos de ejecutar PHP. El más rápido es PHP-FPM. Si tu servidor lo permite, cámbialo.

  1. En DirectAdmin, ve a Gestión de dominios → selecciona tu dominio.
  2. Busca la sección PHP o Configuración de PHP.
  3. Cambia el modo a PHP-FPM (o php-fpm con socket).
  4. Guarda y espera a que se aplique.

PHP-FPM es mucho más eficiente que el clásico mod_php de Apache, especialmente para aplicaciones con mucha lógica como PrestaShop.

3.2. Aumentar el límite de memoria (memory_limit)

PrestaShop es un "glotón" de memoria. Si el límite es bajo, verás errores de "Memoria agotada". Vamos a subirlo.

  1. En DirectAdmin, ve a Configuración de PHP (o CustomBuild).
  2. Busca el valor memory_limit.
  3. Cámbialo a 256M o 512M (si tienes RAM suficiente).
  4. También sube max_execution_time a 300 y max_input_vars a 5000.

[INFO] Si tu servidor es compartido y el proveedor limita esto, contacta con soporte. No te recomendamos usar más de 512M a menos que tu tienda sea muy grande.


4. Optimización a nivel de Base de Datos (MySQL/MariaDB)

La base de datos es el corazón de PrestaShop. Si está desordenada, todo va lento.

4.1. Tablas en MyISAM vs InnoDB

PrestaShop moderno usa InnoDB, que es más robusto. Puedes verificarlo en phpMyAdmin (desde DirectAdmin). Si tienes tablas en MyISAM, conviértelas a InnoDB. Es un clic en phpMyAdmin:

  1. Selecciona la tabla.
  2. Ve a la pestaña Operaciones.
  3. En Motor de almacenamiento, elige InnoDB y confirma.

4.2. Optimizar tablas regularmente

Ejecuta la consulta OPTIMIZE TABLE en todas las tablas. Puedes hacerlo desde phpMyAdmin seleccionando todas las tablas y en el menú desplegable elegir Optimizar. Esto es como desfragmentar un disco duro, pero para datos.

4.3. Activar el Caché de Consultas (Query Cache)

Esto se hace en el archivo de configuración de MySQL, pero DirectAdmin te da una opción más fácil si usas MySQL Manager. Si no, puedes añadir esto al archivo my.cnf (vía SSH):

[mysqld]
query_cache_type = 1
query_cache_size = 128M

[WARNING] El Query Cache está obsoleto en MySQL 8.0+. Si tu servidor usa MariaDB 10.1+ o MySQL 8, no lo actives. En su lugar, usa MariaDB 10.6+ que tiene mejor rendimiento por defecto.


5. Caché de aplicaciones: Instala un módulo de caché (APCu o Redis)

PrestaShop puede guardar resultados en memoria para no recalcularlos. Esto es un gran salto de rendimiento.

5.1. Instalar APCu (fácil)

APCu es una caché de PHP en memoria. Es más fácil de instalar que Redis.

  1. En DirectAdmin, ve a Configuración de PHPExtensiones.
  2. Busca APCu y actívala.
  3. Guarda y reinicia PHP.

Luego, en el Back Office de PrestaShop, en Rendimiento, cambia el Sistema de caché a APCu.

5.2. Instalar Redis (avanzado)

Redis es la opción profesional. Guarda caché y sesiones. En DirectAdmin, a veces tienes que instalarlo vía SSH:

apt install redis-server

Después, instala la extensión PHP para Redis en DirectAdmin y selecciona Redis como sistema de caché en PrestaShop. Es más complejo, pero el resultado es brutal.


6. Configuración de DirectAdmin: GZIP y Expires Headers

Vamos a comprimir los archivos que se envían al navegador y a decirle al navegador que los guarde en su caché.

6.1. Habilitar compresión GZIP

Añade esto al archivo .htaccess en la raíz de tu PrestaShop (se puede editar desde el Administrador de archivos de DirectAdmin):

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/json
</IfModule>

6.2. Activar Expires Headers

En el mismo .htaccess, añade:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Esto le dice al navegador del cliente que guarde las imágenes y estilos en su caché local. Cuando vuelvan a tu tienda, no se descargan de nuevo.

[TIP] Si no tienes acceso al .htaccess, puedes usar los módulos de PrestaShop para esto, pero el .htaccess es más limpio y no consume recursos.


7. El componente que casi nadie revisa: Las imágenes

Las imágenes son el 60% del peso de una página. Si tus fotos pesan 2MB, da igual lo rápido que sea el servidor, la web irá lenta.

7.1. Redimensionar y comprimir

Antes de subir una imagen a PrestaShop, pásala por un compresor online (TinyPNG, Compressor.io). Debe pesar menos de 200KB.

7.2. Activar la generación de WebP

PrestaShop 8+ puede generar WebP automáticamente. Ve a Parámetros avanzadosImágenes y activa la generación de WebP. Es un formato que pesa un 30% menos que JPG.

7.3. Usar un CDN (Red de Distribución de Contenidos)

Un CDN como Cloudflare (gratis) sirve tus imágenes desde servidores cercanos al cliente. No sustituye la optimización del servidor, pero ayuda muchísimo a nivel global.


8. Cron Tasks (Tareas Programadas) en DirectAdmin

PrestaShop necesita ejecutar tareas en segundo plano (como actualizar precios o limpiar caché). Si las haces mal, ralentizan tu tienda.

8.1. Configurar el cron correctamente

  1. En DirectAdmin, ve a Tareas Cron.
  2. Añade una tarea para ejecutar el cron de PrestaShop cada 15 minutos:
    /usr/bin/php /home/USUARIO/domains/TUDOMINIO/public_html/app/console prestashop:cron
    
    (Ajusta la ruta a tu instalación).

8.2. No uses el cron de PrestaShop en el Back Office

Desactiva el cron interno de PrestaShop (en Parámetros avanzados → E-mail o Mantenimiento) y usa el del servidor. El cron interno se dispara cuando un usuario visita la web, lo que ralentiza esa visita. El del servidor es independiente y más fiable.


9. Optimización avanzada: MariaDB y config del servidor

Si te atreves con SSH, puedes afinar el servidor.

9.1. Cambiar a MariaDB

Si tu DirectAdmin usa MySQL, considera migrar a MariaDB. Es un reemplazo directo (mismo comando, misma estructura) pero es más rápido.

9.2. Ajustar my.cnf para PrestaShop

Añade estos valores al archivo /etc/my.cnf:

[mysqld]
innodb_buffer_pool_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
max_connections = 150

[WARNING] El innodb_buffer_pool_size debe ser el 70% de tu RAM total. Si tienes 2GB de RAM, no pongas 1G. Ajusta el valor a tu hardware o puedes provocar un fallo del servidor.

9.3. Activar opcache

Verifica que OPcache está activado en tu PHP. En DirectAdmin, en la configuración de PHP, busca opcache.enable=1. Esto guarda los scripts PHP compilados en memoria, evitando recompilarlos en cada petición.


10. Monitorización y mantenimiento continuo

No basta con optimizar una vez. El rendimiento se degrada con el tiempo.

10.1. Limpieza de caché semanal

En el Back Office de PrestaShop, limpia la caché (menú Parámetros avanzadosRendimientoVaciar la caché). Hazlo cada semana.

10.2. Revisar el log de errores

En DirectAdmin, revisa los logs de error (/home/usuario/domains/dominio/logs/error.log). Si ves errores de PHP, soluciónalos. Los errores no solo son feos, ralentizan la web.

10.3. Mantén PrestaShop actualizado

Cada actualización incluye mejoras de rendimiento. No te quedes en versiones antiguas.


Preguntas Frecuentes (FAQ)

¿Cuánto tiempo tardaré en ver los cambios?

Las mejoras de caché (punto 2) son inmediatas. El cambio a PHP-FPM (punto 3) se nota en minutos. La optimización de imágenes (punto 7) se nota cuando las regeneras.

¿Qué hago si rompo la tienda?

No entres en pánico. En DirectAdmin, ve a Backups y restaura la copia del día anterior. Siempre haz un backup antes de tocar configuraciones.

¿Puedo hacer todo esto en un hosting compartido?

La mayoría de los puntos son aplicables. Sin embargo, en hosting compartido no podrás cambiar a MariaDB ni tocar my.cnf. El proveedor lo controla. Sí puedes activar caché, PHP-FPM (si lo permite) y configurar .htaccess.

¿Es mejor usar un módulo de caché de terceros?

Los módulos de caché como "Advanced EU Cookie" o "Pagespeed" pueden ayudar, pero primero domina la configuración nativa. Un módulo mal configurado puede ser peor que no tener caché.

¿DirectAdmin es mejor que cPanel para PrestaShop?

No es cuestión de mejor o peor. DirectAdmin es más ligero y rápido que cPanel, lo que suele dar un pequeño plus de rendimiento. Pero la configuración es similar.

¿Qué pasa si no uso DirectAdmin sino otro panel como Syspanel?

Si usas Syspanel (antiguo HestiaCP), los conceptos son los mismos. La única diferencia es que el acceso a tu panel de administración del servidor es a través del puerto 2106 (por ejemplo, tudominio.com:2106). La estructura de archivos y las opciones de PHP son casi idénticas a las que hemos visto aquí, solo cambia la interfaz.


Conclusión: Resumen de acciones para una tienda rápida

Hemos visto muchas cosas, pero no te abrumes. Sigue este orden de prioridad:

  1. Activa el caché de PrestaShop (el cambio más grande).
  2. Cambia a PHP-FPM en DirectAdmin.
  3. Sube el límite de memoria a 256M.
  4. Instala APCu como sistema de caché.
  5. Comprime y redimensiona imágenes.
  6. Configura GZIP y Expires en el .htaccess.
  7. Configura el cron en DirectAdmin.

Con estos 7 pasos, tu tienda PrestaShop cargará en menos de 2 segundos en un servidor decente. Después, puedes ir avanzando con Redis, CDN y ajustes de base de datos.

Recuerda que la velocidad es un proceso continuo. Dedica 30 minutos al mes a revisar el rendimiento

¿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