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

Optimización de bases de datos en PrestaShop: guía práctica

Actualizado el 19 de diciembre de 2025

¿Tu tienda PrestaShop va lenta? ¿Las páginas tardan una eternidad en cargar y los clientes se van antes de comprar? El problema, en la mayoría de los casos, no está en el hosting ni en el tema, sino en un aspecto crítico que muchos olvidan: la base de datos. Con el tiempo, las tablas de PrestaShop se llenan de registros basura, sesiones caducadas, pedidos antiguos y cachés obsoletos. Esto lastra el rendimiento de forma brutal.

En esta guía práctica te voy a enseñar, paso a paso, cómo optimizar base de datos en PrestaShop para que tu tienda vuele. No necesitas ser un experto en MySQL ni tener conocimientos avanzados de programación. Con herramientas como phpMyAdmin, cPanel o Plesk, y siguiendo estos consejos, lograrás una mejora notable en la velocidad de tu tienda.

Vamos a ello.

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

PrestaShop es un gestor de contenido (CMS) muy potente, pero también es muy exigente con la base de datos. Cada vez que un usuario visita tu tienda, se generan cientos de consultas SQL para mostrar productos, categorías, precios, stocks, etc. Si la base de datos está hinchada con datos innecesarios, esas consultas tardan más en ejecutarse.

El resultado: tiempos de carga largos, servidores sobrecargados y, lo peor, una mala experiencia de usuario que mata tus conversiones.

Beneficios directos de optimizar base de datos:

  • Reducción drástica del tiempo de carga de páginas.
  • Menor consumo de recursos del servidor (CPU y RAM).
  • Mejor experiencia de navegación para tus clientes.
  • Posicionamiento SEO más alto (Google penaliza las webs lentas).
  • Menos errores y caídas del sistema.

¿Cuándo deberías optimizar la base de datos?

No esperes a que tu tienda esté al borde del colapso. Establece una rutina. Lo ideal es realizar una limpieza y optimización cada 1 o 3 meses, dependiendo del volumen de tráfico y pedidos.

Señales de que tu base de datos necesita una optimización urgente:

  • El panel de administración de PrestaShop va muy lento.
  • Las páginas de producto tardan más de 3 segundos en cargar.
  • Recibes errores de "base de datos demasiado lenta" o "timeout".
  • El tamaño de la base de datos ha crecido desmesuradamente (más de 500 MB sin razón aparente).
  • Notas que las búsquedas en tu tienda son lentas.

Preparación: Antes de tocar nada, haz una copia de seguridad

Este es el paso más importante de todos. Cualquier error en la manipulación de la base de datos puede dejar tu tienda inservible. Siempre, siempre, siempre haz una copia de seguridad completa antes de empezar.

Cómo hacer una copia de seguridad desde cPanel

  1. Accede a tu panel de control cPanel (normalmente en tudominio.com/cpanel).
  2. Busca la sección Archivos y haz clic en phpMyAdmin.
  3. Dentro de phpMyAdmin, selecciona la base de datos de tu PrestaShop (la que aparece en la lista izquierda).
  4. Haz clic en la pestaña Exportar.
  5. Elige el método Rápido y formato SQL.
  6. Haz clic en Continuar y descarga el archivo .sql a tu ordenador.

Cómo hacer una copia de seguridad desde Plesk

  1. Inicia sesión en Plesk (normalmente en tudominio.com:8443).
  2. Ve a Bases de datos y localiza la de tu tienda.
  3. Haz clic en el nombre de la base de datos y luego en Exportar volcado.
  4. Descarga el archivo .sql.

[WARNING] Guarda esa copia en un lugar seguro (tu PC, Dropbox, Google Drive). Si algo sale mal, podrás restaurar tu tienda en minutos.

Herramientas necesarias para optimizar base de datos

Para seguir esta guía, vas a necesitar acceso a una de estas herramientas:

  • phpMyAdmin: viene incluido en casi todos los paneles de hosting (cPanel, Plesk, Syspanel, etc.). Es la más común y la que usaremos en los ejemplos.
  • cPanel o Plesk: para acceder a phpMyAdmin y a otras herramientas de gestión de bases de datos.
  • Syspanel (HestiaCP): si tu hosting usa este panel, accede a través de tudominio.com:2106 y busca la sección de bases de datos. Desde allí puedes abrir phpMyAdmin.

Paso 1: Limpiar tablas basura en PrestaShop

PrestaShop almacena mucha información que no necesitas. Vamos a eliminar los datos obsoletos directamente desde el panel de administración. Es la forma más segura para principiantes.

Desde el back office de PrestaShop

  1. Ve a Parámetros de la tienda > Rendimiento.
  2. En la sección Caché, haz clic en Limpiar la caché.
  3. Ve a Parámetros avanzados > Base de datos.
  4. Aquí encontrarás la opción Optimizar las tablas de la base de datos. Haz clic en ella. PrestaShop analizará las tablas y te mostrará las que están fragmentadas.
  5. Marca todas las tablas y haz clic en Optimizar.

Eliminar sesiones caducadas

Las sesiones de usuarios que no han vuelto en meses ocupan espacio. Ve a Parámetros avanzados > Base de datos y busca la opción Eliminar las sesiones caducadas. Actívala y confirma.

Limpiar pedidos y carritos abandonados

Los pedidos en estado "cancelado" o "fallido" y los carritos abandonados de hace más de 30 días son basura. Puedes eliminarlos manualmente desde Pedidos > Pedidos y filtrando por estado, o usar un módulo como "Cleaner" para hacerlo masivamente.

[TIP] Si tienes muchos pedidos, usa la opción de exportar primero los que quieras conservar (por si los necesitas para contabilidad) y luego elimina el resto.

Paso 2: Optimizar tablas desde phpMyAdmin (más avanzado)

Si quieres ir un paso más allá, puedes optimizar las tablas directamente desde phpMyAdmin. Esto es más rápido y efectivo que la opción del back office.

Pasos en phpMyAdmin

  1. Abre phpMyAdmin desde cPanel, Plesk o Syspanel (puerto 2106).
  2. Selecciona tu base de datos de PrestaShop en la columna izquierda.
  3. Verás una lista de todas las tablas (ps_cart, ps_product, ps_orders, etc.).
  4. Marca la casilla Seleccionar todo en la parte inferior de la lista.
  5. En el menú desplegable Con seleccionados:, elige Optimizar tabla.
  6. phpMyAdmin ejecutará el comando OPTIMIZE TABLE en cada tabla. Esto desfragmenta los archivos y recupera espacio.

[INFO] Este proceso es seguro y no borra datos. Solo reorganiza la información para que las consultas sean más rápidas.

Tablas que más se benefician de la optimización

  • ps_connections: registra cada visita. Puede crecer mucho.
  • ps_connections_source: origen del tráfico.
  • ps_guest: datos de visitantes anónimos.
  • ps_cart: carritos de compra.
  • ps_cart_product: productos en carritos.
  • ps_search_index: índice de búsqueda. Si tienes muchos productos, esta tabla se fragmenta rápido.
  • ps_log: registros de actividad del sistema.

Paso 3: Eliminar registros innecesarios con consultas SQL

Si te sientes cómodo con SQL, puedes ejecutar consultas directamente en phpMyAdmin para eliminar datos basura. Ojo: esto es más peligroso. Asegúrate de tener la copia de seguridad.

Eliminar conexiones antiguas (más de 30 días)

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

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

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

Eliminar sesiones caducadas

DELETE FROM ps_guest WHERE id_guest NOT IN (SELECT id_guest FROM ps_connections);
DELETE FROM ps_connections WHERE id_guest NOT IN (SELECT id_guest FROM ps_guest);

Limpiar logs antiguos

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

[WARNING] Ejecuta estas consultas una por una y revisa el número de filas afectadas. Si no estás seguro, no lo hagas. Siempre puedes pedir ayuda a tu soporte técnico.

Paso 4: Mantener la base de datos optimizada a largo plazo

Optimizar una vez no basta. Tienes que crear un hábito. Aquí tienes algunas buenas prácticas:

Programa tareas automáticas (cron jobs)

Puedes programar la optimización de tablas y la limpieza de sesiones mediante un cron job. Pide a tu hosting que te active esta opción o hazlo desde cPanel/Plesk.

Ejemplo de comando para cron (ajusta la ruta a tu PrestaShop):

php /ruta/a/tu/tienda/admin/autoupgrade/cli-cron.php

O más sencillo: usa un módulo como "PrestaShop Cleaner" o "Advanced Database Cleaner" que automatiza estas tareas.

Desactiva logs innecesarios

En Parámetros avanzados > Rendimiento, desactiva los logs de depuración y las estadísticas detalladas si no las usas. Esto reduce la escritura en la base de datos.

Usa índices correctamente

Si notas que las consultas de búsqueda son lentas, revisa los índices de las tablas ps_product y ps_category. Un buen hosting o un desarrollador puede ayudarte a añadir índices compuestos para acelerar las búsquedas.

Paso 5: Preguntas frecuentes (FAQ)

¿Cada cuánto tiempo debo optimizar la base de datos?

Depende del tráfico. Para una tienda pequeña (menos de 500 visitas/día), cada 3 meses basta. Para tiendas grandes (más de 5000 visitas/día), una vez al mes.

¿Puedo optimizar la base de datos sin perder datos?

Sí, la optimización de tablas (OPTIMIZE TABLE) no borra datos. Solo reorganiza el almacenamiento. La eliminación de registros sí borra datos, pero solo los que tú decides (sesiones, carritos abandonados, etc.).

¿Qué hago si mi base de datos es muy grande (más de 1 GB)?

Además de limpiar registros, considera:

  • Migrar a un hosting con mejor rendimiento (SSD, más RAM).
  • Usar un plugin de caché (como Varnish o Redis).
  • Archivar pedidos antiguos en una base de datos separada (consulta a un desarrollador).

¿Es seguro usar phpMyAdmin?

Sí, siempre que no borres tablas completas ni modifiques estructuras sin saber lo que haces. Limítate a las opciones de optimización y a las consultas de limpieza que te he mostrado.

¿Puedo optimizar desde Syspanel (HestiaCP)?

Sí. Accede a tudominio.com:2106, ve a Bases de datos, selecciona tu base de datos y haz clic en phpMyAdmin. Desde allí sigue los pasos que te he explicado.

Conclusión

Optimizar base de datos en PrestaShop no es complicado, pero requiere constancia. Siguiendo esta guía práctica, podrás reducir el tamaño de tu base de datos, acelerar las consultas y ofrecer una experiencia de compra mucho más fluida a tus clientes.

Recuerda:

  • Siempre haz copia de seguridad antes de cualquier cambio.
  • Empieza por lo básico: limpia desde el back office.
  • Si te atreves, usa phpMyAdmin para optimizar tablas y eliminar registros antiguos.
  • Automatiza con módulos o cron jobs para mantenerlo todo en orden.

Tu tienda te lo agradecerá con mejores posiciones en Google, más ventas y menos dolores de cabeza. ¡Manos a la obra!

[TIP] Si después de optimizar la base de datos tu tienda sigue lenta, revisa el hosting, el tema y los módulos instalados. A veces el cuello de botella está en otro lado. Pero la base de datos es siempre el primer lugar donde mirar.

¿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