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

Cómo optimizar la base de datos de PrestaShop en DirectAdmin

Actualizado el 13 de enero de 2026

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

La base de datos es el corazón de tu tienda PrestaShop. Almacena productos, clientes, pedidos, configuraciones y todo el historial de tu negocio. Con el tiempo, esta base de datos acumula registros temporales, cachés obsoletas, tablas fragmentadas y datos de sesiones que ya no sirven. Esto provoca que las consultas sean más lentas, el panel de administración tarde en cargar y, lo peor de todo, que la experiencia de compra de tus clientes se vea afectada.

Optimizar la base de datos de PrestaShop en DirectAdmin no solo mejora la velocidad de carga de tu tienda, sino que también reduce el consumo de recursos del servidor, evita errores de conexión y prolonga la vida útil de tu instalación. En esta guía, aprenderás paso a paso cómo realizar esta optimización de forma segura y efectiva, incluso si no eres un experto técnico.

[INFO] Antes de empezar, recuerda que siempre debes hacer una copia de seguridad de tu base de datos. Cualquier cambio mal aplicado puede dañar tu tienda. En DirectAdmin, puedes hacer una copia desde la sección "MySQL Management" o usando phpMyAdmin.


## Requisitos previos para la optimización

Antes de lanzarte a modificar la base de datos, asegúrate de tener acceso a tu panel de control DirectAdmin y a las herramientas necesarias. Aquí tienes lo que necesitas:

  • Acceso a DirectAdmin: con tus credenciales de usuario (no necesitas ser root).
  • phpMyAdmin: instalado y funcionando en tu servidor. DirectAdmin lo incluye por defecto.
  • Credenciales de la base de datos: las encuentras en el archivo /config/settings.inc.php de tu PrestaShop.
  • PrestaShop actualizado: es recomendable tener la última versión estable para evitar incompatibilidades.
  • Conexión SSH opcional: si quieres usar comandos avanzados, pero no es obligatorio.

[WARNING] No realices cambios directamente en la base de datos sin hacer una copia de seguridad previa. Un error puede borrar toda tu tienda. Siempre exporta primero un archivo .sql.


## Paso 1: Acceder a la base de datos desde DirectAdmin

DirectAdmin te permite gestionar bases de datos MySQL de forma sencilla. Sigue estos pasos:

  1. Inicia sesión en DirectAdmin con tu usuario y contraseña.
  2. Busca la sección "MySQL Management" (o "Administración de MySQL").
  3. Verás una lista de todas las bases de datos que tienes. Localiza la de tu PrestaShop (normalmente tiene un nombre como tuusuario_prestashop).
  4. Haz clic en el icono de phpMyAdmin al lado de la base de datos. Esto abrirá la herramienta en una nueva pestaña.

[TIP] Si no ves el icono de phpMyAdmin, verifica que esté instalado. En algunos planes de hosting, puede estar deshabilitado. Pide a tu proveedor que lo active.

Una vez en phpMyAdmin, selecciona tu base de datos en la columna de la izquierda. Verás todas las tablas de PrestaShop. Aquí es donde trabajaremos.


## Paso 2: Identificar tablas que se pueden optimizar

PrestaShop tiene muchas tablas, pero no todas necesitan mantenimiento. Las más importantes para optimizar son:

  • ps_connections y ps_connections_page: almacenan estadísticas de visitas.
  • ps_guest: datos de navegación de usuarios anónimos.
  • ps_log: registros de actividad del sistema.
  • ps_sessions: sesiones de clientes y administradores.
  • ps_cart y ps_cart_product: carritos abandonados.
  • ps_search_index y ps_search_word: índices de búsqueda.
  • ps_mail: historial de correos enviados.

Estas tablas tienden a acumular muchos registros innecesarios. También debes revisar tablas como ps_product_comment si usas comentarios de productos, o ps_customer_message si tienes muchos mensajes.

[INFO] Las tablas con prefijo ps_ son las predeterminadas. Si cambiaste el prefijo durante la instalación, búscalo en tu archivo settings.inc.php.


## Paso 3: Limpiar datos obsoletos manualmente

Una vez identificadas las tablas, puedes eliminar los registros viejos. Hazlo con cuidado:

  1. En phpMyAdmin, haz clic en la tabla que quieres limpiar (por ejemplo, ps_connections).
  2. Ve a la pestaña "Operations" (Operaciones).
  3. Busca la opción "Empty the table (TRUNCATE)" (Vaciar la tabla). Esto borrará todos los registros, pero la estructura de la tabla se mantiene.
  4. Confirma la acción.

Recomendación: No vacíes tablas críticas como ps_product, ps_customer o ps_orders. Solo limpia tablas de sesiones, logs y estadísticas.

Para una limpieza más selectiva, usa la pestaña "SQL" y ejecuta consultas como:

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

Esto elimina conexiones de más de 30 días. Ajusta el intervalo según tus necesidades.

[WARNING] Si no estás seguro de qué borrar, mejor no lo hagas. Pide ayuda a un técnico o usa herramientas automáticas.


## Paso 4: Optimizar tablas con el comando OPTIMIZE

Después de limpiar, es hora de optimizar la estructura de las tablas. Esto reorganiza el almacenamiento y libera espacio. Sigue estos pasos:

  1. En phpMyAdmin, selecciona todas las tablas de tu base de datos (marca la casilla de arriba).
  2. En el menú desplegable "With selected:" (Con seleccionadas), elige "Optimize table" (Optimizar tabla).
  3. Confirma la operación.

Alternativamente, puedes ejecutar el comando SQL directamente:

OPTIMIZE TABLE ps_connections, ps_guest, ps_sessions, ps_log;

Repite esto para todas las tablas que consideres importantes. El proceso puede tardar unos segundos si la base de datos es grande.

[TIP] La optimización no debe hacerse a diario. Una vez al mes es suficiente para la mayoría de tiendas.


## Paso 5: Usar el módulo nativo de PrestaShop

PrestaShop incluye un módulo de mantenimiento que automatiza parte de la optimización. Actívalo así:

  1. Ve al Back Office de tu tienda (el panel de administración).
  2. Ve a Módulos > Gestor de módulos.
  3. Busca "Limpieza de la base de datos" o "DB Maintenance" (depende de la versión).
  4. Actívalo y configúralo. Puedes elegir limpiar sesiones, logs, carritos abandonados, etc.
  5. Ejecuta el mantenimiento manualmente o programa una tarea cron.

Este módulo es seguro y no borra datos importantes. Es ideal para principiantes.

[INFO] En versiones recientes de PrestaShop, el módulo se llama "PrestaShop Cleaner" o "Database Cleaner". Si no lo encuentras, descárgalo desde Addons.


## Paso 6: Programar optimizaciones automáticas con cron jobs

Para mantener tu base de datos optimizada sin esfuerzo, puedes programar tareas automáticas desde DirectAdmin. Así se hace:

  1. En DirectAdmin, ve a "Cron Jobs" (Tareas programadas).
  2. Haz clic en "Create Cron Job" (Crear tarea).
  3. Configura la frecuencia (por ejemplo, una vez al mes, el día 1 a las 3:00 AM).
  4. En el campo de comando, escribe algo como:
    mysqlcheck -u TU_USUARIO -pTU_CONTRASEÑA --optimize --all-databases
    
    Importante: Reemplaza TU_USUARIO y TU_CONTRASEÑA con los datos de tu base de datos. No uses espacios después de -p.
  5. Guarda la tarea.

Si prefieres no exponer la contraseña en el comando, puedes crear un script PHP que ejecute la optimización desde el servidor. Pero para usuarios básicos, el comando directo es suficiente.

[WARNING] No compartas tus credenciales de base de datos. Si usas cron jobs, asegúrate de que el archivo de comandos tenga permisos restringidos (chmod 600).


## Paso 7: Monitorear el rendimiento después de la optimización

Una vez optimizada la base de datos, verifica que todo funcione correctamente:

  • Velocidad de carga: usa herramientas como Google PageSpeed Insights o GTmetrix para medir tu tienda.
  • Panel de administración: comprueba que las páginas carguen más rápido.
  • Errores: revisa los logs de PrestaShop (en Parámetros Avanzados > Logs) para ver si hay fallos.
  • Base de datos: desde phpMyAdmin, mira el tamaño de las tablas. Debería haber disminuido.

Si notas algún problema, restaura tu copia de seguridad y repite el proceso con más cuidado.

[TIP] La optimización de la base de datos es solo una parte del rendimiento. También debes optimizar imágenes, usar caché y tener un buen hosting.


## Preguntas frecuentes (FAQ)

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

Depende del tráfico de tu tienda. Para tiendas pequeñas, una vez al mes es suficiente. Para tiendas con muchos visitantes, cada semana o quince días.

¿Puedo dañar mi tienda al optimizar la base de datos?

Sí, si borras tablas incorrectas o ejecutas comandos sin cuidado. Siempre haz una copia de seguridad antes.

¿Qué hago si no encuentro phpMyAdmin en DirectAdmin?

Pide a tu proveedor de hosting que lo active. También puedes usar herramientas como Adminer o conectarte vía SSH con MySQL.

¿El módulo de PrestaShop limpia también las tablas de estadísticas?

Sí, el módulo de limpieza de base de datos permite eliminar estadísticas antiguas, sesiones y carritos abandonados.

¿Optimizar la base de datos mejora el SEO?

Sí, porque una tienda más rápida ofrece mejor experiencia de usuario, lo que Google premia con mejor posicionamiento.

¿Qué pasa si tengo HestiaCP en lugar de DirectAdmin?

Si usas Syspanel (antes llamado HestiaCP), el acceso es por el puerto 2106. La gestión de bases de datos es similar: ve a Bases de datos y usa phpMyAdmin o los comandos MySQL.


## Conclusión

Optimizar la base de datos de PrestaShop en DirectAdmin es un proceso sencillo pero poderoso para mejorar el rendimiento de tu tienda. Siguiendo los pasos de esta guía –desde la limpieza de tablas obsoletas hasta la programación de tareas automáticas– lograrás que tu tienda cargue más rápido, consuma menos recursos y ofrezca una mejor experiencia a tus clientes.

Recuerda siempre hacer copias de seguridad, empezar con las tablas menos críticas y monitorear los resultados. Con un mantenimiento regular, tu PrestaShop se mantendrá ágil y eficiente durante mucho tiempo.

[INFO] Si tienes dudas o problemas, contacta a tu proveedor de hosting o a un técnico especializado. La optimización de bases de datos es una tarea de mantenimiento que, bien hecha, marca la diferencia en el éxito de tu tienda online.

¿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