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

Cómo optimizar la base de datos de PrestaShop (cPanel, Plesk, DirectAdmin)

Actualizado el 13 de diciembre de 2025

¿Por qué es clave optimizar la base de datos de PrestaShop?

Si tu tienda online va lenta, el culpable más común no es tu hosting ni tu conexión, sino una base de datos desordenada y llena de basura digital. Cada vez que un cliente visita tu tienda, PrestaShop realiza cientos de consultas a MySQL para mostrar productos, precios, carritos y sesiones. Si esa base de datos está inflada con registros obsoletos, tablas corruptas o cachés antiguas, el rendimiento se desploma.

Optimizar base de datos PrestaShop no es un lujo, es una necesidad para cualquier negocio online que quiera ofrecer una buena experiencia de usuario y mejorar su posicionamiento en Google. Una base de datos ligera y bien indexada reduce el tiempo de carga, disminuye el uso de CPU del servidor y evita errores de conexión en momentos de mucho tráfico.

En este artículo te voy a enseñar, paso a paso y sin tecnicismos complicados, cómo optimizar la base de datos de PrestaShop usando los paneles de control más habituales: cPanel, Plesk y DirectAdmin. También hablaremos de alternativas como Syspanel, que es el nombre que recibe HestiaCP en algunos entornos, y que se accede por el puerto 2106.


Entender qué es MySQL y por qué PrestaShop depende de él

PrestaShop está construido sobre PHP y MySQL. La base de datos es el "cerebro" donde se guardan todos los datos: productos, clientes, pedidos, módulos, configuraciones, sesiones, etc. Cada vez que haces clic en un producto, PrestaShop lanza una consulta a MySQL para recuperar la información.

Con el tiempo, esa base de datos acumula:

  • Sesiones de usuarios que ya no existen.
  • Carritos abandonados que nunca se limpiaron.
  • Tablas temporales de módulos desinstalados.
  • Registros de logs y de errores.
  • Versiones antiguas de productos o combinaciones.
  • Datos de pedidos cancelados o incompletos.

Todo esto hace que MySQL tenga que leer más datos de los necesarios, lo que ralentiza cada consulta. Por eso, optimizar DB PrestaShop es tan importante como limpiar el disco duro de tu ordenador.


Antes de empezar: prepara un plan de acción seguro

Optimizar una base de datos no es peligroso si se hace con cuidado, pero un fallo puede dejarte la tienda sin funcionar. Por eso, antes de tocar nada, sigue estos pasos:

1. Haz una copia de seguridad completa

Este es el paso más importante de todos. Aunque solo vayas a hacer tareas de limpieza, una copia de seguridad te dará tranquilidad.

  • Si usas cPanel, ve a "Copias de seguridad" y descarga la copia completa de la base de datos.
  • En Plesk, busca la sección "Administrador de bases de datos" y exporta la base de datos a un archivo SQL.
  • En DirectAdmin, usa la opción "MySQL Management" y selecciona "Backup" o exporta desde phpMyAdmin.
  • Si usas Syspanel (HestiaCP), accede por el puerto 2106 (por ejemplo, https://tudominio.com:2106), entra en "Bases de datos" y descarga el backup desde la opción correspondiente.

[WARNING] No optimices nunca la base de datos sin tener una copia de seguridad reciente. Un solo comando mal ejecutado puede borrar tablas enteras.

2. Activa el modo mantenimiento

Mientras trabajas en la base de datos, es recomendable poner la tienda en mantenimiento para evitar que usuarios realicen acciones que generen datos nuevos mientras limpias.

En el panel de administración de PrestaShop, ve a "Parámetros avanzados" > "Rendimiento" y activa el modo mantenimiento. O más rápido, desde el archivo config/settings.inc.php (versiones antiguas) o .env (versiones nuevas).

3. Identifica el panel de control que usas

No es lo mismo trabajar en cPanel que en Plesk. Aunque la herramienta principal (phpMyAdmin) es la misma, la forma de acceder cambia. A continuación te explico cada caso.


Optimizar base de datos PrestaShop desde cPanel

cPanel es el panel de control más popular en el mundo del hosting compartido. Si tu hosting usa cPanel, sigue estos pasos:

Accede a phpMyAdmin

  1. Entra en tu cPanel con tus credenciales.
  2. Busca la sección "Bases de datos" y haz clic en "phpMyAdmin".
  3. Se abrirá una nueva pestaña con todas tus bases de datos. Selecciona la que corresponda a tu PrestaShop (normalmente empieza con el prefijo de tu usuario, por ejemplo usuario_prestashop).

Optimiza todas las tablas de una sola vez

Dentro de phpMyAdmin, en la parte inferior de la lista de tablas, verás un enlace que dice "Marcar todas". Haz clic en él y luego, en el desplegable "Con seleccionados", elige la opción "Optimizar tablas".

Esto ejecutará un comando OPTIMIZE TABLE sobre todas las tablas de la base de datos. Este comando reorganiza el almacenamiento físico de los datos, libera espacio y desfragmenta las tablas.

[TIP] Si tienes muchas tablas (más de 100), este proceso puede tardar unos minutos. No cierres la pestaña del navegador hasta que termine.

Repara tablas corruptas

A veces, una tabla se corrompe por cortes de luz o caídas del servidor. En phpMyAdmin, puedes marcarlas y elegir "Reparar tabla" en el mismo desplegable. Es una operación segura y muy efectiva.

Elimina datos innecesarios con comandos SQL

Aquí es donde realmente limpias la base de datos PrestaShop. No basta con optimizar; hay que borrar lo que sobra. Ve a la pestaña "SQL" y ejecuta estos comandos de forma manual:

Limpiar sesiones caducadas

DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_connections_page WHERE time_start < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_guest WHERE id_guest NOT IN (SELECT id_guest FROM ps_connections);

Limpiar carritos abandonados (más de 30 días)

DELETE FROM ps_cart WHERE id_cart NOT IN (SELECT id_cart FROM ps_orders) AND date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);

Limpiar logs y mensajes antiguos

DELETE FROM ps_log WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_mail WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);

Limpiar versiones antiguas de productos

PrestaShop guarda un historial de cada modificación de producto. Si no lo necesitas, puedes borrarlo:

DELETE FROM ps_product_shop WHERE id_product NOT IN (SELECT id_product FROM ps_product);

[WARNING] Los nombres de las tablas pueden variar según el prefijo que uses. Si tu tienda usa un prefijo distinto a ps_, cámbialo en los comandos. Puedes ver el prefijo en el archivo config/settings.inc.php o en el propio phpMyAdmin.


Optimizar DB PrestaShop desde Plesk

Plesk es otro panel de control muy usado, sobre todo en servidores dedicados y VPS. El proceso es similar pero con algunas diferencias de acceso.

Entra en la base de datos

  1. Accede a Plesk con tu usuario administrador.
  2. En el menú lateral, busca "Bases de datos".
  3. Localiza la base de datos de tu PrestaShop y haz clic en el icono de "phpMyAdmin" (suele ser un icono con un elefante, el logo de MySQL).

Optimiza desde la interfaz de phpMyAdmin

Una vez dentro, el proceso es idéntico al de cPanel:

  • Marca todas las tablas y elige "Optimizar tablas".
  • Repara las que estén corruptas.
  • Ejecuta los comandos SQL de limpieza que te he mostrado antes.

Usa la herramienta de análisis de Plesk (opcional)

Plesk tiene una herramienta llamada "Health Monitor" o "Monitor de salud" que te muestra el estado del servidor y de las bases de datos. Puedes usarla para detectar tablas que consumen demasiados recursos antes de optimizarlas.

[TIP] Si tu base de datos es muy grande (más de 1 GB), optimizarla desde phpMyAdmin puede dar error de tiempo de espera. En ese caso, usa la línea de comandos SSH con el comando mysqlcheck -u usuario -p --optimize nombre_base_datos o contacta con tu proveedor de hosting.


Optimizar base de datos PrestaShop desde DirectAdmin

DirectAdmin es menos común pero igual de eficiente. El proceso es muy parecido:

Acceso a phpMyAdmin desde DirectAdmin

  1. Inicia sesión en DirectAdmin.
  2. Busca el apartado "MySQL Management" o "Base de datos MySQL".
  3. Verás la lista de bases de datos. Junto a la tuya, haz clic en "phpMyAdmin".

Optimiza y limpia

Dentro de phpMyAdmin, repite los mismos pasos: seleccionar todas las tablas, optimizar, reparar y ejecutar los comandos SQL de limpieza.

Configura el auto-optimizado (opcional)

En DirectAdmin, puedes programar tareas CRON para que la base de datos se optimice automáticamente cada semana. Esto es muy útil si no quieres hacerlo manualmente.

Puedes crear un cron desde "Cron Jobs" en DirectAdmin con el comando:

mysqlcheck -u usuario -pcontraseña --optimize nombre_base_datos

[INFO] Asegúrate de que la contraseña no tenga caracteres especiales que el cron pueda interpretar mal. Mejor usa comillas simples alrededor de la contraseña.


Optimizar base de datos PrestaShop desde Syspanel (HestiaCP)

Si tu hosting usa Syspanel (que como hemos dicho, es el nombre que recibe HestiaCP en ciertos entornos), el acceso es un poco distinto.

Accede a Syspanel

  1. Abre tu navegador y escribe https://tudominio.com:2106 (el puerto 2106 es el que usa Syspanel para el panel de control).
  2. Inicia sesión con tu usuario y contraseña.
  3. En el menú lateral, busca "Bases de datos" o "Databases".

Usa phpMyAdmin desde Syspanel

  1. En la lista de bases de datos, localiza la tuya.
  2. Haz clic en el icono de "phpMyAdmin" que aparece junto a ella.
  3. Se abrirá phpMyAdmin en una pestaña nueva.

Una vez dentro, el proceso es exactamente igual que en los otros paneles: optimiza, repara y limpia con los comandos SQL.

[TIP] Syspanel es muy ligero y rápido, pero si tu base de datos es enorme, te recomiendo hacer la optimización desde la terminal SSH usando los comandos de mysqlcheck que te mostré antes.


Herramientas y módulos para optimizar PrestaShop automáticamente

Además de hacerlo manualmente, existen módulos de PrestaShop que te ayudan a optimizar DB PrestaShop de forma automática. Algunos de los más recomendados son:

Módulo "Cleaner" (gratuito)

Este módulo limpia archivos temporales, logs, sesiones y carritos antiguos con un solo clic. Es muy fácil de usar y perfecto para principiantes.

Módulo "Advanced Database Optimizer" (de pago)

Permite optimizar tablas, reparar tablas corruptas, y programar limpiezas automáticas semanales. Muy completo pero requiere un pequeño pago.

Módulo "Prestashop Cleaner & Optimizer"

Combina limpieza de base de datos con limpieza de archivos caché. Ideal para quienes quieren una solución todo-en-uno.

[INFO] Antes de instalar cualquier módulo, verifica que sea compatible con tu versión de PrestaShop y que tenga buenas valoraciones. Un módulo mal codificado puede ralentizar aún más tu tienda.


Mantenimiento preventivo: evita que la base de datos vuelva a llenarse

Una vez que hayas optimizado la base de datos, es fundamental que establezcas una rutina de mantenimiento para que no vuelva a degradarse en pocas semanas.

Programa limpiezas automáticas

PrestaShop tiene opciones nativas para limpiar sesiones y carritos antiguos. Ve a "Parámetros avanzados" > "Rendimiento" y configura:

  • Duración de sesiones: 30 días como máximo.
  • Duración de carritos: 30 días.
  • Duración de logs: 30 días.

Desactiva módulos que no uses

Cada módulo activo crea sus propias tablas y escribe datos constantemente. Desinstala los que no uses (no solo los desactives) para eliminar sus tablas.

Usa un plugin de caché

La caché reduce las consultas a MySQL. Activa la caché de PrestaShop (en "Parámetros avanzados" > "Rendimiento") y considera instalar un módulo de caché como Memcached o Redis si tu hosting lo permite.

Revisa los logs de errores

Los logs de errores se acumulan rápidamente. Revisa periódicamente "Informes" > "Logs" y vacíalos si son demasiados.


Preguntas frecuentes sobre optimización de base de datos PrestaShop

¿Con qué frecuencia debo optimizar la base de datos?

Depende del tráfico de tu tienda. Para una tienda pequeña o mediana, una vez al mes es suficiente. Para tiendas grandes con mucho tráfico, se recomienda hacerlo cada semana.

¿Es seguro ejecutar comandos SQL en phpMyAdmin?

Sí, siempre que sepas lo que estás haciendo. Los comandos que te he mostrado son seguros y solo borran datos obsoletos. Eso sí, haz siempre una copia de seguridad antes.

¿Qué hago si la optimización da error?

Si phpMyAdmin da error de tiempo de espera, prueba a optimizar tabla por tabla en lugar de todas a la vez. También puedes usar la terminal SSH con mysqlcheck.

¿Puedo optimizar la base de datos sin acceso a phpMyAdmin?

Sí, si tienes acceso SSH puedes usar comandos como mysqlcheck o mysql directamente. También puedes usar la interfaz de PrestaShop con algunos módulos.

¿Afecta la optimización a mi SEO?

Sí, indirectamente. Una base de datos optimizada hace que tu tienda cargue más rápido, y la velocidad de carga es un factor de posicionamiento en Google. Además, reduces la tasa de rebote porque los usuarios no se cansan de esperar.


Conclusión final

Optimizar la base de datos de PrestaShop es una tarea imprescindible para mantener tu tienda rápida, estable y bien posicionada. Ya sea que uses cPanel, Plesk, DirectAdmin o Syspanel (HestiaCP), el proceso es similar: haz una copia de seguridad, accede a phpMyAdmin, optimiza y repara tablas, y elimina datos obsoletos con comandos SQL.

No olvides establecer una rutina de mantenimiento preventivo y, si no te sientes cómodo con SQL, usar módulos específicos que hagan el trabajo por ti.

[TIP] Si después de optimizar la base de datos tu tienda sigue lenta, revisa también el tamaño de las imágenes, el uso de módulos de caché y la configuración de tu hosting. A veces el problema no está solo en MySQL, sino en otros recursos del servidor.

Recuerda: una base de datos limpia no solo mejora el rendimiento PrestaShop, sino que también te ahorra dinero en recursos de hosting y evita sustos en momentos de mucho tráfico como el Black Friday o las rebajas.

¿Te ha resultado útil esta guía? Si tienes dudas o tu caso es especial, déjame un comentario y te ayudaré en lo que pueda.

¿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