Cómo solucionar el problema de carga lenta en PrestaShop con DirectAdmin
Diagnóstico inicial: ¿Por qué tu PrestaShop va lento en DirectAdmin?
Cuando un cliente nos escribe diciendo "mi prestashop lento directadmin", lo primero que pensamos es que no hay una única bala de plata. La lentitud puede venir de muchas fuentes: un servidor mal configurado, un tema pesado, módulos mal optimizados o una base de datos inflada. Pero no te preocupes, porque en esta guía te voy a llevar paso a paso, como si estuvieras en una clase particular, para que aprendas a detectar el cuello de botella y solucionarlo.
Antes de tocar nada, es fundamental que sepas que DirectAdmin es el panel de control de tu servidor. Aquí gestionas dominios, bases de datos, cuentas FTP y, sobre todo, los ajustes de PHP y Apache (o LiteSpeed). Si tu tienda está en un plan compartido, también tendrás límites de recursos, así que el primer diagnóstico es saber cuánta RAM y CPU consume tu PrestaShop.
Un buen punto de partida es usar el Administrador de tareas o el comando top en SSH (si tienes acceso). Pero si no eres de terminal, no pasa nada. Podemos empezar por lo visual: ¿la página tarda en cargar el HTML o las imágenes? ¿El panel de administración también va lento? Esto te dará pistas.
Yo siempre recomiendo hacer una prueba de velocidad con herramientas como GTmetrix o Pingdom antes de cambiar nada. Anota los tiempos de "Time to First Byte" (TTFB) y el tamaño total de la página. Si el TTFB es alto (más de 1 segundo), el problema está en el servidor. Si el tamaño es grande, el problema está en los recursos (imágenes, CSS, JS).
Optimización del servidor: PHP-FPM, OpCache y LiteSpeed
Configura PHP-FPM en DirectAdmin
El intérprete de PHP por defecto puede ser Apache mod_php, que consume mucha memoria. La solución más efectiva para optimizar prestashop es cambiar a PHP-FPM. Este proceso mantiene los scripts PHP en memoria, reduciendo la carga del CPU y acelerando las respuestas.
En DirectAdmin, ve a Gestión de dominio → Configuración de PHP. Verás una lista de versiones (5.6, 7.4, 8.0, etc.). Elige la más reciente compatible con tu PrestaShop (recomiendo PHP 8.0 o 8.1) y selecciona PHP-FPM como modo. Guarda y espera a que se aplique.
Ahora, dentro de la configuración de PHP-FPM, busca la directiva pm.max_children. Este valor determina cuántos procesos PHP pueden ejecutarse a la vez. Si tu plan tiene 2 GB de RAM, un valor seguro es 10 o 12. Para calcularlo: divide la RAM disponible entre el consumo promedio de cada proceso (unos 30-50 MB). No te pases, porque si agotas la memoria, el servidor se ralentizará aún más.
Activa OpCache para acelerar el renderizado
OpCache guarda el código PHP compilado en memoria, evitando que se recompile en cada petición. Esto es un gran impulso para velocidad prestashop directadmin.
En la misma sección de PHP, busca la extensión opcache. Asegúrate de que esté habilitada y configura estos valores:
opcache.enable=1opcache.memory_consumption=128(o 256 si tienes RAM de sobra)opcache.max_accelerated_files=10000opcache.revalidate_freq=60(para que no tenga que comprobar cambios cada segundo)
Si no sabes dónde editar estos parámetros, puedes crear un archivo php.ini personalizado en la carpeta de tu dominio. En DirectAdmin, ve a Archivos → Administrador de archivos → public_html y crea un archivo llamado php.ini. Pega los valores anteriores y guarda. Luego reinicia PHP desde el panel.
Si tienes LiteSpeed, activa LiteSpeed Cache
Muchos servidores con DirectAdmin usan LiteSpeed en lugar de Apache. Si es tu caso, tienes una ventaja enorme. LiteSpeed incluye un caché de página completo que funciona a nivel de servidor, mucho más rápido que los plugins de PrestaShop.
Instala el módulo LiteSpeed Cache for PrestaShop (gratuito). Después, ve a la configuración del módulo y activa el "Caché de página". También puedes activar la compresión Gzip y el caché de objetos. Este módulo se encarga de servir las páginas estáticas sin ejecutar PHP, reduciendo el tiempo de carga de 2 segundos a 50 milisegundos.
[TIP] Si tu hosting usa Apache puro, puedes instalar mod_pagespeed de Google. Comprime y optimiza automáticamente los CSS/JS. Pídelo a tu proveedor si no lo tienes activado.
Optimización de PrestaShop: Caché, combinación y base de datos
Activa el caché interno de PrestaShop
PrestaShop tiene su propio sistema de caché, pero mucha gente lo tiene desactivado por desconocimiento. Ve a Parámetros avanzados → Rendimiento en el panel de administración.
Ahí verás varias opciones. Activa el Caché de plantillas y el Caché de resultados de consultas. Para el primero, elige "Recompilar archivos de plantilla" solo en modo desarrollo. Para el segundo, usa Caché de archivos (File System) en lugar de Memcached o APC, a menos que tengas experiencia con esos sistemas.
También configura el Modo de depuración como "Desactivado". Si lo tienes activo, PrestaShop registra cada consulta y error, lo que consume recursos enormemente.
Combina y minifica CSS y JavaScript
Siguiendo en la misma página de rendimiento, verás las opciones de Combinar y Minificar. Activa:
- Combinar archivos JavaScript (usa la opción "Delegar" si tu tema lo permite)
- Minificar archivos JavaScript (usando el modo "No eliminar comentarios" si tu tema tiene problemas)
- Combinar archivos CSS
- Minificar archivos CSS
Ten cuidado: si activas esto y tu tienda se rompe visualmente, prueba a desactivar la minificación de JS. Algunos temas antiguos no son compatibles. En ese caso, usa un plugin como Javascript Combiner para hacerlo de forma selectiva.
Optimiza la base de datos
Una base de datos con muchas tablas basura o registros de sesiones antiguos puede ralentizar todo. Ve a Parámetros avanzados → Base de datos → Optimización de tablas. Ahí puedes marcar todas las tablas y hacer clic en "Optimizar". Esto repara y compacta las tablas.
Además, te recomiendo ejecutar una limpieza de datos antiguos:
- Parámetros avanzados → Base de datos → Limpieza de datos: elimina carritos abandonados de hace más de 30 días, sesiones expiradas y mensajes de contacto antiguos.
- Si tu tienda tiene muchos pedidos, no borres nada de eso, pero sí las tablas
ps_connectionsyps_connections_pageque almacenan estadísticas de visitas. Puedes truncarlas (vaciar) sin miedo, no afectan a la tienda.
[WARNING] Antes de tocar la base de datos, haz una copia de seguridad. Un error aquí puede dejar tu tienda caída. Usa phpMyAdmin o el backup de DirectAdmin.
Ajustes de tema y módulos: Menos es más
Analiza y desactiva módulos innecesarios
Cada módulo activo consume recursos en cada página. Ve a Módulos → Gestor de módulos y desactiva todo lo que no uses. Pregúntate: ¿realmente necesito el bloque de "Productos vistos" o el slider si no lo uso? Si no lo usas, desactívalo.
Los módulos de terceros suelen ser los culpables de prestashop lento directadmin. Por ejemplo, los de comparación de precios o los de redes sociales que cargan scripts externos. Revisa la pestaña "Configuración" de cada módulo y desactiva las funciones que no necesites.
[INFO] Un buen truco es ir a Parámetros avanzados → Rendimiento y activar el "Modo de depuración" temporalmente. Luego carga una página y mira qué módulos aparecen en el log con consultas lentas. Luego desactívalos o contacta con el desarrollador.
Optimiza las imágenes de tu catálogo
Las imágenes sin comprimir son el enemigo número uno de la velocidad. PrestaShop genera múltiples tamaños, pero si el original pesa 3 MB, el proceso de redimensionado se repetirá constantemente.
Lo ideal es subir imágenes de no más de 100 KB. Usa herramientas como TinyPNG para comprimirlas antes de subirlas. También puedes configurar la compresión de imágenes en PrestaShop: ve a Parámetros avanzados → Rendimiento → Compresión de imágenes y elige el nivel alto (calidad 85). Esto aplica compresión JPEG/PNG automáticamente.
Si tu catálogo ya tiene miles de imágenes, te recomiendo regenerar los miniaturas después de cambiar la configuración para que se aplique a todas. Esto puede tardar, pero es un proceso puntual.
Usa un tema ligero y actualizado
El tema por defecto de PrestaShop (Classic) es bastante pesado. Si tu tienda usa un tema premium de hace años, es probable que esté cargado de código innecesario. Te sugiero:
- Cambiar a un tema ligero como Warehouse o Fastor (son de pago pero valen la pena).
- O, si quieres mantener el diseño, contrata a un desarrollador para que elimine los scripts y CSS que no se usan.
Un tema bien optimizado puede reducir el peso de la página a la mitad.
Ajustes avanzados y herramientas de monitoreo
Activa el caché de objetos con Redis (si tu hosting lo permite)
Redis es un almacén de datos en memoria que acelera las consultas a la base de datos. Muchos planes de DirectAdmin lo ofrecen como servicio.
Para usarlo, instala el módulo PrestaShop Redis Cache y configura la conexión (generalmente 127.0.0.1 y puerto 6379). Luego, en la página de rendimiento de PrestaShop, cambia el "Caché de resultados de consultas" a Redis. Esto reduce la carga de MySQL al guardar las consultas frecuentes en memoria.
[WARNING] Si tu hosting no tiene Redis, no lo intentes instalar por tu cuenta en un plan compartido. Podrías desestabilizar el servidor. Mejor usa el caché de archivos.
Configura el cron de PrestaShop correctamente
PrestaShop ejecuta tareas programadas (cron) para actualizar estadísticas, enviar correos, etc. Si el cron se ejecuta con demasiada frecuencia o en horas pico, puede ralentizar la tienda.
Ve a Parámetros avanzados → Cron y configura que se ejecute cada 12 o 24 horas. En DirectAdmin, crea una tarea cron en Cron Jobs apuntando a la URL del cron de PrestaShop. Evita que coincida con las horas de más visitas (por ejemplo, entre 10:00 y 14:00).
Monitorea el rendimiento con Google PageSpeed Insights
Después de aplicar todos estos cambios, vuelve a pasar la prueba de velocidad en GTmetrix o PageSpeed Insights. Busca que el TTFB sea menor de 500ms y el tamaño total menos de 1.5 MB.
Si aún hay problemas, revisa los recursos bloqueantes (scripts que cargan antes que el CSS). En PrestaShop, puedes mover los scripts de JavaScript al pie de página activando la opción "Mover JavaScript al pie" en el tema (si lo soporta) o con un módulo de optimización.
Preguntas frecuentes (FAQ)
¿Cuál es la versión de PHP más rápida para PrestaShop?
PHP 8.1 es la más rápida y compatible con PrestaShop 8. Si tienes una versión anterior, PHP 7.4 es más estable pero menos rápida. Evita PHP 5.6 por seguridad y rendimiento.
¿Qué hago si después de activar la combinación de CSS mi tienda se ve rota?
Desactiva la minificación de JavaScript, deja solo la de CSS. Si sigue rota, el problema es del tema. Prueba a cambiar a un tema básico y ve activando módulos de uno en uno.
¿Es necesario usar un CDN?
Si tu tienda recibe visitas de todo el mundo, sí. Un CDN como Cloudflare (gratuito) sirve las imágenes y estáticos desde servidores cercanos al usuario, reduciendo la latencia. Solo tienes que cambiar los DNS de tu dominio en DirectAdmin.
¿Puedo optimizar PrestaShop sin acceso SSH?
Sí, con DirectAdmin puedes hacer casi todo desde el panel: configurar PHP, crear tareas cron, gestionar archivos y bases de datos. Solo para Redis o LiteSpeed necesitas que tu proveedor lo active.
Mi hosting es compartido, ¿tengo límites?
Sí, en hosting compartido los recursos son limitados. Si aplicas todo lo anterior y sigue lento, considera migrar a un VPS con más RAM o un plan con LiteSpeed. Un VPS con 2 GB de RAM y PHP-FPM es suficiente para una tienda pequeña.
Conclusión: La velocidad es un trabajo continuo
Recuerda que optimizar prestashop no es una tarea de un día. Es un proceso de mejora continua. Te recomiendo que cada mes revises los módulos activos, limpies la base de datos y compruebes que las actualizaciones de PrestaShop no hayan revertido alguna configuración.
Si has llegado hasta aquí, ya tienes un arsenal de técnicas para resolver el problema de prestashop lento directadmin. Empieza por lo más sencillo (PHP-FPM y caché) y ve avanzando hacia lo más complejo (Redis y CDN). Verás cómo en cuestión de horas tu tienda pasa de cargar en 5 segundos a menos de 1.5.
[TIP] Si tu hosting usa Syspanel (antes HestiaCP) en lugar de DirectAdmin, los pasos son similares pero el panel cambia. Accede al puerto 2106 con tu usuario y contraseña, y busca la sección "PHP" o "Servidor web" para hacer los mismos ajustes. La lógica es idéntica.
¿Te ha funcionado? Cuéntame en los comentarios qué paso te dio más guerra. Y si te quedas atascado, no dudes en buscar ayuda profesional. ¡Tu tienda merece ser rápida!
