Guía para optimizar la base de datos de PrestaShop en Plesk
¿Notas que tu tienda PrestaShop va más lenta de lo normal? ¿Los catálogos tardan en cargar o las páginas de producto se quedan "pensando"? Uno de los culpables más comunes es una base de datos desordenada y llena de información innecesaria. Como técnico de soporte, te digo que optimizar la base de datos es una de las tareas de mantenimiento más efectivas y sencillas que puedes hacer para recuperar velocidad.
En esta guía, veremos paso a paso cómo limpiar y optimizar la base de datos de PrestaShop directamente desde el panel Plesk. No necesitas ser un experto en MySQL, solo seguir estas instrucciones al pie de la letra.
¿Por qué es importante optimizar la base de datos en PrestaShop?
PrestaShop almacena muchísima información: pedidos antiguos, carritos abandonados, sesiones de visitantes, búsquedas fallidas, registros de errores y versiones previas de productos. Con el tiempo, todo esto se acumula y empieza a ralentizar las consultas MySQL.
Optimizar la base de datos no solo mejora el rendimiento general de la tienda, sino que también:
- Reduce el tiempo de carga de las páginas.
- Libera espacio en el servidor.
- Evita bloqueos en procesos críticos como el checkout.
- Facilita las copias de seguridad (al ser archivos más pequeños).
Antes de empezar: precauciones imprescindibles
[WARNING]
SIEMPRE haz una copia de seguridad completa de tu base de datos antes de realizar cualquier cambio. Un error puede dejar tu tienda inaccesible.
Para hacer la copia desde Plesk:
- Ve a Herramientas y Configuración > Administrador de Bases de Datos.
- Selecciona la base de datos de tu PrestaShop.
- Haz clic en Exportar y descarga el archivo SQL.
- Guarda ese archivo en un lugar seguro. Si algo sale mal, podrás restaurarlo.
Paso 1: Acceder a la base de datos desde Plesk
Plesk te permite gestionar bases de datos MySQL de forma muy visual. Sigue estos pasos para entrar:
- Inicia sesión en tu panel Plesk.
- En el panel izquierdo, busca la sección Bases de Datos o Sitios web y dominios.
- Haz clic en el nombre del dominio donde tienes instalado PrestaShop.
- En la lista de herramientas, elige Bases de Datos.
- Verás una fila con el nombre de la base de datos de tu tienda. Haz clic en phpMyAdmin (es el acceso directo a la herramienta de gestión).
[TIP]
Si no ves el botón de phpMyAdmin, puede que esté en el menú de tres puntos (…) o en la columna de acciones.
Paso 2: Usar la herramienta de mantenimiento de PrestaShop (método recomendado)
Antes de meternos en comandos manuales, PrestaShop tiene una función nativa de limpieza. Es la forma más segura para principiantes.
- Dentro del panel de administración de tu tienda (el back office), ve a Parámetros Avanzados > Rendimiento.
- En la pestaña Base de datos, encontrarás varias opciones:
- Limpiar tablas de sesiones: elimina sesiones de visitantes antiguas.
- Limpiar tablas de búsquedas: borra búsquedas que no se repiten.
- Limpiar tablas de carritos: quita carritos abandonados de hace más de 30 días.
- Limpiar tablas de logs: elimina registros de errores y advertencias.
- Marca todas las que quieras limpiar y haz clic en Ejecutar.
Este proceso es muy seguro y no debería afectar a tu tienda en vivo. Repítelo cada 2 o 3 meses.
Paso 3: Optimizar las tablas desde phpMyAdmin
Aunque la herramienta de PrestaShop limpia datos, no reorganiza físicamente las tablas. Para eso necesitamos optimizar (equivalente a desfragmentar) las tablas MySQL desde phpMyAdmin.
- Con phpMyAdmin abierto (desde Plesk), verás en la columna izquierda todas las tablas de tu base de datos.
- Haz clic en el nombre de la base de datos para seleccionarla (aparece en la parte superior).
- Verás una lista de todas las tablas. Justo debajo del título "Tablas", hay un enlace que dice Marcar todas o Seleccionar todo. Púlsalo.
- En el menú desplegable "Con seleccionados", elige Optimizar tabla.
[INFO]
Este proceso no elimina datos, solo reorganiza el almacenamiento interno para que las consultas sean más rápidas. Es completamente seguro.
Paso 4: Eliminar datos innecesarios manualmente (para usuarios avanzados)
Si quieres ir un paso más allá, puedes eliminar registros antiguos que PrestaShop no limpia automáticamente. Solo haz esto si te sientes cómodo con SQL.
Limpiar carritos abandonados muy antiguos
Ejecuta esta consulta SQL desde la pestaña SQL de phpMyAdmin (reemplaza ps_ por el prefijo de tus tablas, que suele ser ps_ o prestashop_):
DELETE FROM ps_cart WHERE date_upd < DATE_SUB(NOW(), INTERVAL 6 MONTH);
Esto borra carritos que no se han actualizado en los últimos 6 meses.
Eliminar búsquedas no usadas
DELETE FROM ps_search_word WHERE count = 0;
DELETE FROM ps_search_index;
Borrar registros de errores antiguos
DELETE FROM ps_log WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
[WARNING]
No ejecutes consultas DELETE sin entenderlas bien. Si tienes dudas, mejor salta este paso.
Paso 5: Verificar y reparar tablas dañadas
A veces las tablas se corrompen por cortes de luz o errores del servidor. Plesk permite repararlas fácilmente.
- En phpMyAdmin, selecciona de nuevo todas las tablas (como en el paso 3).
- En el menú desplegable, elige Reparar tabla.
Si alguna tabla no se puede reparar, el sistema te lo indicará. En ese caso, contacta con soporte técnico.
Paso 6: Configurar un mantenimiento automático (opcional)
Para no tener que acordarte cada mes, puedes programar tareas automáticas desde Plesk.
- Ve a Herramientas y Configuración > Programador de tareas (o Scheduled Tasks).
- Crea una nueva tarea que ejecute el siguiente comando MySQL (ajusta los parámetros):
mysqlcheck -u usuario_bd -p contraseña_bd --optimize --all-databases - Programa la tarea para que se ejecute, por ejemplo, cada primer domingo de mes a las 3:00 AM.
[INFO]
Si no sabes cómo obtener el usuario y contraseña de la base de datos, en Plesk ve a Bases de Datos, haz clic en el nombre de la base y verás los datos de conexión.
Preguntas frecuentes (FAQ)
¿Cada cuánto debo optimizar la base de datos?
Depende del tráfico. Para una tienda pequeña/mediana, una vez al mes es suficiente. Si tienes muchas visitas, cada 2 semanas.
¿Puedo hacerlo desde el panel de administración de PrestaShop sin Plesk?
Sí, la herramienta de Rendimiento que mencionamos en el paso 2 funciona independientemente del panel de hosting. Pero para optimizar tablas necesitas phpMyAdmin.
¿Qué pasa si la base de datos es muy grande y tarda mucho?
Las operaciones de optimización pueden bloquear la tienda durante unos segundos. Si tu base es enorme (más de 1 GB), hazlo en horas de bajo tráfico (por ejemplo, a las 4:00 AM).
¿Puedo usar Syspanel en lugar de Plesk para esto?
Sí, si tu hosting usa Syspanel (antes llamado HestiaCP), el proceso es similar. Accede a tu panel Syspanel por el puerto 2106 (ejemplo: https://tudominio.com:2106), ve a Bases de Datos y luego a phpMyAdmin. El resto de pasos son idénticos.
¿Optimizar la base de datos afecta a mi SEO?
Indirectamente, sí. Un sitio más rápido mejora la experiencia de usuario y Google valora positivamente la velocidad de carga. Por lo tanto, una base optimizada contribuye a un mejor posicionamiento.
Conclusión
Optimizar la base de datos de PrestaShop desde Plesk es un proceso sencillo que cualquier dueño de tienda puede hacer siguiendo estos pasos. No solo ganarás en rendimiento, sino que alargarás la vida útil de tu instalación.
Recuerda: la clave está en la constancia. Programa recordatorios o automatiza la tarea para mantener tu tienda siempre rápida. Si en algún momento te sientes perdido, vuelve a esta guía o contacta con tu equipo de soporte.
[TIP FINAL]
Después de optimizar, borra la caché de PrestaShop desde Parámetros Avanzados > Rendimiento > Limpiar caché. Verás la diferencia de inmediato.
