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

Cómo optimizar la base de datos de PrestaShop para que tu tienda vaya más rápida

Actualizado el 13 de noviembre de 2025

¿Tu tienda PrestaShop va lenta? No te preocupes, no eres el único. Uno de los motivos más comunes de que un ecommerce vaya pesado no es el hosting ni el tema, sino la base de datos. Con el tiempo, tu tienda acumula cachés, pedidos antiguos, conexiones muertas y registros que ya no sirven para nada. Eso hace que cada consulta tarde más y que tus páginas tarden en cargar.

En esta guía te voy a explicar, paso a paso y sin tecnicismos, cómo optimizar PrestaShop desde su base de datos para que tu tienda vuele. No necesitas ser un experto en programación, solo seguir las instrucciones con calma.

¿Por qué mi PrestaShop va tan lento?

Antes de ponernos manos a la obra, es importante que entiendas qué está pasando. Cada vez que un cliente entra en tu tienda, PrestaShop hace consultas a la base de datos para mostrar productos, precios, stock, etc.

Si esa base de datos está llena de basura, el servidor tiene que trabajar el doble. Los principales culpables son:

  • Tablas con registros obsoletos: como carritos abandonados de hace meses o sesiones de visitantes que ya no existen.
  • Caché acumulada: PrestaShop guarda información temporal para ir más rápido, pero si no se limpia, se vuelve un lastre.
  • Registros de errores y logs: cada error que se produce se guarda, y a veces son miles.
  • Tablas sin optimizar: con el tiempo, los datos se fragmentan y ocupan más espacio del necesario.

Vamos a solucionarlo todo con acciones concretas.

Antes de empezar: haz una copia de seguridad

Este es el paso más importante. Si tocas algo mal en la base de datos, podrías perder información de pedidos o clientes. No lo saltes.

Puedes hacer la copia desde el panel de control de tu hosting (cPanel, Plesk o similar) o desde phpMyAdmin. Si usas Syspanel (el panel que tienes en el puerto 2106), busca la sección de bases de datos y exporta la base de datos de tu tienda.

[WARNING] No continúes si no tienes una copia de seguridad reciente. Mejor prevenir que lamentar.

Activa el modo mantenimiento

Mientras haces los cambios, es mejor que los clientes no vean tu tienda a medias. Ve a Parámetros avanzados > Mantenimiento y activa el modo mantenimiento. Así, si algo falla, nadie se dará cuenta.

Limpiar las tablas de PrestaShop: qué puedes borrar sin miedo

PrestaShop tiene decenas de tablas en su base de datos, pero no todas son críticas. Algunas se pueden vaciar por completo sin que pase nada. Estas son las más seguras:

1. Tabla ps_connections

Esta tabla guarda las conexiones de los visitantes. Es útil para estadísticas, pero si ya usas Google Analytics, no la necesitas.

Puedes vaciarla con esta consulta SQL desde phpMyAdmin:

TRUNCATE TABLE ps_connections;

2. Tabla ps_connections_page

Relacionada con la anterior, guarda qué páginas visitó cada usuario. También se puede vaciar:

TRUNCATE TABLE ps_connections_page;

3. Tabla ps_guest

Registra visitas de usuarios no registrados. Si no usas el módulo de estadísticas nativo, puedes vaciarla:

TRUNCATE TABLE ps_guest;

4. Tabla ps_cart (cuidado aquí)

Esta tabla guarda los carritos de compra. No la vacíes entera, porque perderías carritos en curso de clientes reales. Lo que puedes hacer es borrar solo los carritos que tengan más de 30 días y que no se hayan convertido en pedido:

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

5. Tabla ps_sessions

Guarda las sesiones de los usuarios. Es de las que más crece. Puedes vaciarla sin miedo:

TRUNCATE TABLE ps_sessions;

6. Tabla ps_log

Registra errores y mensajes del sistema. A nadie le sirve tener miles de errores de hace un año. Vacíala:

TRUNCATE TABLE ps_log;

7. Tabla ps_search_index y ps_search_word

Son el índice de búsqueda. Si las vacías, PrestaShop lo regenerará automáticamente. Esto puede acelerar las búsquedas porque se reconstruye limpio:

TRUNCATE TABLE ps_search_index;
TRUNCATE TABLE ps_search_word;

[TIP] Después de truncar estas dos tablas, ve a Parámetros avanzados > Rendimiento y haz clic en "Rebuild index" para que se regenere.

Optimizar las tablas restantes

Una vez limpiadas las tablas que no sirven, toca optimizar las que sí se usan. Esto es como desfragmentar un disco duro: se reordenan los datos y se libera espacio.

Desde phpMyAdmin, selecciona todas las tablas de tu base de datos y en el menú desplegable elige Optimizar tabla. Esto hará un OPTIMIZE TABLE en todas.

Si prefieres hacerlo con una consulta SQL, puedes ejecutar:

OPTIMIZE TABLE ps_product, ps_product_lang, ps_stock_available, ps_orders, ps_order_detail;

Pero lo más cómodo es hacerlo desde la interfaz de phpMyAdmin, marcando todas las tablas y aplicando la optimización.

[INFO] Este proceso no borra datos, solo reorganiza la información. Es 100% seguro.

Usa el mantenimiento automático de PrestaShop

PrestaShop tiene una herramienta integrada para limpiar la base de datos. Ve a Parámetros avanzados > Base de datos y ahí encontrarás la opción de Mantenimiento de la base de datos.

Puedes seleccionar:

  • Borrar registros de más de X días (por ejemplo, 30 días).
  • Vaciar tablas específicas.

Te recomiendo configurarlo para que se ejecute una vez al mes. Así mantienes tu base datos PrestaShop limpia sin tener que acordarte.

Activa el caché de PrestaShop

Una base de datos optimizada funciona mejor si además activas el caché. Ve a Parámetros avanzados > Rendimiento y en "Caché" elige:

  • Sistema de archivos (recomendado para la mayoría).
  • Memcached (si tu hosting lo soporta).

Esto hará que las consultas repetitivas no se ejecuten cada vez, sino que se guarden en caché. Notarás una mejora inmediata de velocidad.

[WARNING] Si activas el caché y haces cambios en productos o precios, recuerda vaciarlo desde el mismo panel para que los clientes vean los cambios.

Reduce el número de módulos activos

Esto no es directamente de base de datos, pero cada módulo activo hace consultas y ralentiza la tienda. Desactiva los que no uses. Menos carga en la base de datos = acelerar tienda de forma notable.

Programa limpiezas periódicas

No basta con hacerlo una vez. Si tu tienda tiene movimiento, la base de datos se vuelve a ensuciar. Te recomiendo:

  • Una vez al mes: limpiar sesiones, conexiones y logs.
  • Cada 3 meses: optimizar tablas y reconstruir índices.
  • Cada 6 meses: revisar módulos y eliminar los que no uses.

Puedes automatizar las limpiezas con un cron job. Si usas Syspanel, en el puerto 2106 tienes la sección de "Tareas programadas" donde puedes crear un cron que ejecute las consultas SQL que te he dado.

Errores comunes al optimizar (y cómo evitarlos)

1. Borrar tablas que no debes

Algunas tablas como ps_orders, ps_customer o ps_product son críticas. Nunca las trunques. Solo las optimizas.

2. No hacer backup

Ya lo dije al principio, pero lo repito: sin copia de seguridad no toques nada. Si algo falla, podrías perder tu negocio entero.

3. Optimizar en horas punta

Si tu tienda tiene mucho tráfico, no optimices a las 3 de la tarde. Hazlo de madrugada o cuando haya menos visitas. Así evitas que los clientes vean errores.

4. No vaciar el caché después

Después de limpiar la base de datos, ve a Parámetros avanzados > Rendimiento y vacía el caché. Si no, PrestaShop seguirá usando datos antiguos y no notarás la mejora.

Preguntas frecuentes

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

Depende del tamaño de tu tienda. Si tienes pocos pedidos al mes, una vez al mes es suficiente. Si es una tienda grande con mucho tráfico, cada semana o cada dos semanas.

¿Es seguro truncar la tabla de sesiones?

Sí, totalmente. Las sesiones se regeneran automáticamente cuando un usuario visita la tienda. Solo se desconectarán los usuarios que estén logueados en ese momento, pero es algo puntual y sin importancia.

¿Puedo optimizar PrestaShop sin acceso a phpMyAdmin?

Sí, con el módulo "Base de datos" de PrestaShop puedes hacer limpiezas básicas. Pero para una optimización profunda, necesitas phpMyAdmin o acceso SSH.

¿Qué hago si después de optimizar la tienda sigue lenta?

Entonces el problema puede estar en el hosting, en el tema o en módulos mal configurados. Te recomiendo usar herramientas como GTmetrix o PageSpeed Insights para ver qué está fallando.

¿Syspanel sirve para gestionar la base de datos?

Sí, dentro de Syspanel (accesible en el puerto 2106) tienes la sección de bases de datos donde puedes acceder a phpMyAdmin y gestionar tus tablas desde un entorno cómodo y seguro.

Conclusión

Optimizar la base de datos de PrestaShop no es complicado si sigues estos pasos. Dedica 30 minutos al mes a limpiar y optimizar, y notarás cómo tu tienda carga mucho más rápido. Esto no solo mejora la experiencia de tus clientes, sino que también ayuda al SEO, ya que Google valora positivamente las páginas rápidas.

Recuerda: siempre con copia de seguridad, con calma y sin borrar lo que no toca. Si tienes dudas, empieza por lo más seguro (sesiones y logs) y ve subiendo el nivel.

Tu tienda te lo agradecerá, y tus clientes también. ¡Manos a la obra!

¿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