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

Cómo optimizar tu base de datos en PrestaShop desde el panel de control

Actualizado el 24 de octubre de 2025

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

Si tu tienda online va lenta, tardan en cargar las páginas o el panel de administración se congela, el problema casi siempre está en la base de datos. Con el tiempo, PrestaShop acumula registros de sesiones antiguas, pedidos cancelados, mensajes temporales y versiones de productos que ya no usas. Todo ese peso extra hace que cada consulta a optimizar base de datos prestashop sea más lenta de lo necesario.

Piensa en tu base de datos como en un armario. Si lo llenas de cosas que no usas, cada vez que busques algo tardarás más. Lo mismo ocurre con MySQL: cuantos más datos inservibles tenga, más tiempo tarda en encontrar lo que realmente necesitas. Optimizarla no solo acelera tu tienda, sino que también mejora la experiencia de tus clientes y tu posicionamiento en Google, porque la velocidad de carga es un factor clave en el SEO.

Además, una base de datos limpia reduce el riesgo de errores críticos y facilita las copias de seguridad. Si alguna vez necesitas restaurar tu tienda, un archivo más ligero se restaura mucho más rápido. En este artículo te enseñaré paso a paso cómo hacerlo desde tu panel de control, sin necesidad de ser un experto en programación.

¿Qué necesitas antes de empezar?

Antes de tocar nada, es fundamental que hagas una copia de seguridad completa de tu base de datos. Aunque los procesos que te voy a mostrar son seguros, siempre existe un pequeño margen de error. Si algo sale mal, podrás restaurar todo sin perder información valiosa.

Para hacer la copia, entra en tu panel de control de hosting. En la mayoría de los casos, tendrás acceso a Syspanel (el antiguo HestiaCP). Para acceder a este panel, escribe en tu navegador la dirección de tu dominio seguida del puerto 2106, por ejemplo: tudominio.com:2106. Una vez dentro, busca la sección de bases de datos o MySQL y utiliza la herramienta de exportación. También puedes usar PrestaShop phpMyAdmin optimizar desde el propio panel, pero te recomiendo que primero hagas la copia de seguridad.

Otra cosa que necesitas es acceso a tu panel de administración de PrestaShop. Si no lo tienes, pídelo a tu agencia o a la persona que gestiona tu web. Con estos dos accesos (hosting y administración), podrás realizar todos los pasos que te explico a continuación.

Paso 1: Activa el modo mantenimiento de tu tienda

Mientras trabajas en la base de datos, es recomendable que pongas tu tienda en modo mantenimiento. Así evitas que un cliente realice un pedido justo en el momento en que estás limpiando tablas, lo que podría provocar errores o pérdidas de datos.

Para activarlo, ve a tu panel de administración de PrestaShop, en el menú lateral busca "Parámetros avanzados" y luego "Mantenimiento". Activa la opción "Activar el modo mantenimiento" y guarda los cambios. Si quieres, puedes añadir una IP de excepción para que tú puedas seguir viendo la tienda mientras trabajas en ella.

Este paso es rápido y te dará tranquilidad. No lo omitas, porque aunque las operaciones que vamos a hacer son seguras, es mejor prevenir que curar.

Paso 2: Limpia las tablas más problemáticas desde el administrador

PrestaShop tiene una herramienta integrada para limpiar ciertos datos temporales. No es tan completa como hacerlo manualmente con SQL, pero es un buen punto de partida y muy fácil de usar.

En tu administración, ve a "Parámetros avanzados" y luego "Rendimiento". Dentro de esta sección, busca la pestaña "Base de datos" o "Limpieza". Verás varias opciones como "Eliminar sesiones antiguas", "Eliminar carritos abandonados" o "Eliminar mensajes antiguos". Selecciona las que te interesen y pulsa el botón de ejecutar.

Esta opción es ideal para los que buscan limpiar base datos prestashop sin tocar código. Eso sí, ten en cuenta que no llega a las tablas más pesadas, como las de versiones de productos o logs. Para eso necesitamos pasar al siguiente nivel.

Paso 3: Accede a phpMyAdmin desde tu panel de control

Para una limpieza más profunda, vamos a usar PrestaShop phpMyAdmin optimizar. Esta herramienta es el estándar para gestionar bases de datos MySQL y está disponible en casi todos los paneles de control.

Entra en tu panel de hosting (Syspanel en el puerto 2106) y busca la sección de "Bases de datos" o "MySQL". Ahí encontrarás un botón que dice "phpMyAdmin" o "Administrar". Haz clic y se abrirá una nueva pestaña en tu navegador.

Una vez dentro de phpMyAdmin, selecciona la base de datos de tu PrestaShop en el menú lateral izquierdo. Verás una lista enorme de tablas con nombres como ps_orders, ps_customer, ps_product... No te asustes, no necesitas entender todas. Solo vamos a trabajar con unas pocas.

Paso 4: Las tablas que puedes limpiar sin miedo

Aquí tienes una lista de las tablas más comunes que acumulan basura y que puedes vaciar por completo sin afectar a tu tienda. Te explico qué contiene cada una para que sepas por qué es seguro borrarla:

  • ps_connections: Registra las visitas de los usuarios. Es útil para estadísticas, pero si tienes muchos visitantes, esta tabla crece muy rápido. Puedes vaciarla si no dependes de los informes históricos de conexiones.
  • ps_connections_page: Complementa a la anterior con las páginas visitadas. Mismo tratamiento.
  • ps_guest: Guarda información de visitantes anónimos. No la necesitas para nada crítico.
  • ps_log: Aquí se guardan los logs del sistema. Son archivos de registro que pueden ser útiles para depurar errores, pero una vez que ya has resuelto los problemas, puedes vaciarla.
  • ps_sendemail: Registro de emails enviados. Si no necesitas un histórico de correos, puedes limpiarla.
  • ps_mail: Similar a la anterior, guarda copias de los correos. Vaciar esta tabla acelera mucho las consultas.
  • ps_search_index: Es el índice de búsqueda. No la vacíes entera, pero puedes regenerarla desde el administrador en "Parámetros avanzados > Buscar". Eso sí, no la borres manualmente.

Para vaciar una tabla, en phpMyAdmin haz clic en su nombre y luego en la pestaña "Operaciones". Busca la opción "Vaciar la tabla (TRUNCATE)" y confirma. También puedes usar la pestaña "SQL" y escribir TRUNCATE TABLE ps_connections;. Es muy sencillo.

Paso 5: Optimiza tablas con la herramienta de mantenimiento

Además de vaciar tablas, también puedes optimizarlas sin borrar nada. Esto es como desfragmentar un disco duro: reorganiza los datos para que las consultas sean más rápidas.

En phpMyAdmin, selecciona todas las tablas de tu base de datos. Para ello, haz clic en la casilla superior que selecciona todas, o mantén pulsado Ctrl y ve haciendo clic en las que quieras. Una vez seleccionadas, busca el desplegable que dice "Con seleccionadas" y elige la opción "Optimizar tabla".

Esta acción ejecuta el comando OPTIMIZE TABLE en todas las seleccionadas. Es completamente seguro y no borra ningún dato. Puedes hacerlo siempre que quieras, incluso a diario si tu tienda es muy activa. Es una de las mejores maneras de acelerar prestashop desde el servidor.

Paso 6: Elimina versiones antiguas de productos y combinaciones

Uno de los mayores lastres para el prestashop rendimiento mysql son las tablas ps_product y ps_product_attribute. Con el tiempo, si has editado muchos productos, se acumulan versiones antiguas que ya no se usan. PrestaShop no las limpia automáticamente.

Para limpiarlas, puedes usar un módulo específico como "Advanced MySQL" o hacerlo manualmente con SQL. Te explico la opción manual:

En la pestaña SQL de phpMyAdmin, ejecuta esta consulta (cambia el prefijo ps_ por el tuyo si es diferente):

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

Esta consulta elimina productos que no están asociados a ninguna tienda. Es un poco avanzada, así que si no te sientes seguro, puedes omitir este paso. Pero ten en cuenta que es una de las mayores mejoras de rendimiento.

Otra opción es usar el módulo "PrestaShop Cleaner" que automatiza este proceso. Búscalo en el marketplace oficial de PrestaShop.

Paso 7: Configura el sistema de caché de MySQL

Una vez que has limpiado y optimizado las tablas, es hora de configurar el sistema de caché de MySQL para que las consultas se repitan menos veces. Esto se hace desde el archivo de configuración de PrestaShop, config/settings.inc.php.

Abre ese archivo con un editor de texto plano (no uses Word) y busca la línea que define el tipo de caché. Si no aparece, puedes añadirla al final. Cambia el valor a CacheMemcache o CacheMemcached si tu servidor lo soporta. Si no tienes Memcached, puedes usar CacheAPC o CacheXcache.

Si esto te parece muy técnico, no te preocupes. La mayoría de los hostings ya tienen configurada una caché por defecto. Puedes verificar si funciona desde el administrador de PrestaShop, en "Parámetros avanzados > Rendimiento > Caché". Si está activada, dale a "Vaciar la caché" después de hacer los cambios en la base de datos.

Paso 8: Programa limpiezas periódicas

Optimizar la base de datos no es algo que se hace una vez y ya. Es un mantenimiento que deberías realizar al menos una vez al mes, o incluso cada semana si tu tienda tiene mucho tráfico.

Para facilitarte la vida, puedes programar tareas automáticas con cron jobs desde tu panel de control. En Syspanel (puerto 2106), busca la sección de "Cron Jobs" y crea uno que ejecute un script de limpieza. Puedes usar un script simple que vacíe las tablas temporales que mencionamos antes.

También puedes activar el modo "mantenimiento automático" de PrestaShop, que limpia las sesiones de forma periódica. Está en "Parámetros avanzados > Rendimiento > Base de datos". Ahí encontrarás la opción de "Eliminar sesiones cada X días". Pon un valor entre 3 y 7 días.

Paso 9: Vigila el tamaño de tu base de datos

Después de hacer toda esta limpieza, es bueno que compruebes cuánto has reducido el tamaño. En phpMyAdmin, verás el tamaño total de la base de datos en la parte superior. Anótalo antes y después para ver la diferencia.

Si la reducción ha sido significativa, notarás una mejora inmediata en la velocidad de carga de tu tienda. Si no es así, quizás el problema no está en la base de datos, sino en el servidor o en el tema que usas. En ese caso, te recomiendo revisar el hosting.

Preguntas frecuentes sobre optimización de base de datos en PrestaShop

¿Es seguro vaciar la tabla de conexiones?

Sí, es completamente seguro. Solo perderás los datos de visitas para tus informes estadísticos. Si usas Google Analytics, no te afectará en nada.

¿Cada cuánto debo hacer esta limpieza?

Depende del tamaño de tu tienda. Como mínimo, una vez al mes. Si tienes mucho tráfico, cada semana. La clave es hacerlo de forma regular para que no se acumule demasiada basura.

¿Qué pasa si borro algo importante por error?

Por eso es fundamental la copia de seguridad. Si te equivocas, restaura la base de datos desde la copia y listo. No pierdes nada.

¿Puedo optimizar la base de datos sin phpMyAdmin?

Sí, puedes usar módulos como "PrestaShop Cleaner" o contratar un servicio técnico. Pero phpMyAdmin es gratuito y está disponible en casi todos los hostings.

¿Esta optimización afecta al SEO?

Sí, y de forma positiva. Google penaliza las webs lentas, así que acelerar prestashop con una base de datos limpia mejora tu posicionamiento. Además, una mejor experiencia de usuario reduce el porcentaje de rebote, otro factor SEO.

Conclusión

Optimizar la base de datos de PrestaShop es una tarea que cualquier persona puede hacer siguiendo estos pasos. No necesitas ser un desarrollador ni saber programar. Solo necesitas un poco de paciencia y las herramientas adecuadas.

Recuerda que la clave está en la constancia. No basta con hacerlo una vez. Programa limpiezas periódicas y vigila el tamaño de tu base de datos. Así tu tienda irá siempre rápida y tus clientes estarán contentos.

Si te ha quedado alguna duda, déjala en los comentarios y te ayudaré a resolverla. Y si prefieres que lo haga un profesional, no dudes en contratar un servicio de mantenimiento especializado. ¡Tu tienda te lo agradecerá!

¿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