Optimizar la base de datos de PrestaShop desde cPanel
¿Por qué es importante optimizar la base de datos de PrestaShop?
Si tu tienda online va lenta, tardas mucho en cargar el catálogo o notas que el panel de administración se congela, el problema más probable no es tu conexión, sino la base de datos. Con el tiempo, tu base de datos de PrestaShop acumula información basura: carritos abandonados, sesiones caducadas, mensajes antiguos, revisiones de pedidos o tablas que ya no se usan. Todo esto pesa y hace que cada consulta tarde más.
Optimizar la base de datos no es una tarea exclusiva para programadores. Desde cPanel, cualquier persona puede hacer una limpieza profunda y mejorar el rendimiento de PrestaShop en menos de 30 minutos. En esta guía te explico, paso a paso, cómo hacerlo sin romper nada y con total seguridad.
¿Qué necesitas antes de empezar?
Antes de tocar nada, asegúrate de tener lo siguiente:
- Acceso a cPanel de tu hosting (el usuario y contraseña que te dio tu proveedor).
- Una copia de seguridad reciente de tu tienda y, sobre todo, de la base de datos.
- Tiempo suficiente para hacerlo con calma. No corras, especialmente si nunca lo has hecho.
[!WARNING]
Haz siempre una copia de seguridad antes de optimizar. Si algo sale mal, podrás restaurar tu tienda sin perder pedidos, clientes ni productos.
Paso 1: Accede a cPanel y localiza phpMyAdmin
Para empezar a optimizar MySQL PrestaShop, el primer paso es entrar en tu panel de control.
- Escribe tu dominio seguido de
/cpanelen el navegador. Por ejemplo:tutienda.com/cpanel. - Introduce tu usuario y contraseña de cPanel.
- Busca la sección Bases de Datos. Ahí verás la herramienta phpMyAdmin. Haz clic en ella.
[!TIP]
Si no encuentras phpMyAdmin, usa el buscador de cPanel (arriba a la derecha) y escribe "phpMyAdmin". Te aparecerá al instante.
Paso 2: Selecciona la base de datos correcta
Dentro de phpMyAdmin PrestaShop, verás una lista de bases de datos a la izquierda. Normalmente, el nombre de la base de datos de PrestaShop empieza con un prefijo que te dio tu hosting (por ejemplo, tusitio_bd_prestashop).
- Haz clic en el nombre de tu base de datos para seleccionarla.
- Se cargarán todas las tablas de tu tienda. No te asustes si ves decenas de tablas; es normal.
[!INFO]
Si tienes varias tiendas, asegúrate de elegir la base de datos correcta. Puedes identificarla porque contiene tablas con nombres comops_orders,ps_products,ps_customers, etc.
Paso 3: Revisa el estado de las tablas
Antes de optimizar, es buena idea ver el estado actual de las tablas. Esto te dirá qué tablas están fragmentadas o dañadas.
- En la parte superior de phpMyAdmin, haz clic en la pestaña "Estructura" o "Structure".
- Verás una lista con todas las tablas y un enlace que dice "Comprobar tablas" o "Check tables". Haz clic ahí.
- phpMyAdmin analizará cada tabla y te mostrará si hay errores o si están en buen estado.
Este paso no modifica nada, solo diagnostica. Si ves algún error, no te preocupes: el siguiente paso lo solucionará.
Paso 4: Optimiza las tablas de tu base de datos
Ahora sí, vamos a lo importante: optimizar la base de datos PrestaShop. Este proceso reordena los datos internos de las tablas, libera espacio y mejora la velocidad de lectura.
- En la misma vista de estructura, marca la casilla "Seleccionar todo" o haz clic en "Marcar todos".
- En el desplegable que aparece abajo (donde pone "Con seleccionados:"), elige la opción "Optimizar tablas".
- Haz clic en el botón "Continuar" o "Go".
phpMyAdmin ejecutará el comando OPTIMIZE TABLE en cada tabla. Verás una lista de resultados con el estado "OK" o "Table is already up to date". Esto significa que la optimización se ha completado correctamente.
[!TIP]
Si tu base de datos es muy grande, este proceso puede tardar un par de minutos. No cierres la pestaña ni recargues la página.
Paso 5: Repara las tablas dañadas (si las hay)
Si en el paso 3 detectaste alguna tabla con errores, ahora es el momento de repararla.
- Vuelve a seleccionar todas las tablas (o solo las que fallaron).
- En el desplegable, elige "Reparar tablas".
- Haz clic en "Continuar".
Esto ejecutará el comando REPAIR TABLE, que corrige errores internos y recupera datos dañados. Es especialmente útil si tu tienda se cayó por un corte de luz o un fallo del servidor.
Paso 6: Elimina datos basura de PrestaShop
Optimizar la estructura es solo la mitad del trabajo. La otra mitad es limpiar la información que ya no sirve. Esto reducirá el peso total de la base de datos y acelerará las consultas.
Desde phpMyAdmin PrestaShop, puedes ejecutar consultas SQL para borrar datos innecesarios. Te dejo las más útiles:
6.1. Eliminar carritos abandonados
DELETE FROM ps_cart WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
Esto borra carritos que llevan más de 30 días sin actividad.
6.2. Limpiar sesiones caducadas
DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_connections_page WHERE time_start < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));
DELETE FROM ps_guest WHERE id_guest NOT IN (SELECT id_guest FROM ps_connections);
6.3. Borrar mensajes antiguos del contact form
DELETE FROM ps_contact_message WHERE date_add < DATE_SUB(NOW(), INTERVAL 90 DAY);
6.4. Vaciar la tabla de búsquedas
TRUNCATE TABLE ps_search_word;
TRUNCATE TABLE ps_search_index;
[!WARNING]
Antes de ejecutar cualquierDELETEoTRUNCATE, asegúrate de que el prefijo de tus tablas esps_. Si no, cámbialo por el tuyo (por ejemplo,prestashop_orders). Si no lo sabes, mira el nombre de las tablas en la lista de la izquierda.
Paso 7: Activa el modo mantenimiento de PrestaShop (opcional pero recomendado)
Si tu tienda tiene mucho tráfico, te recomiendo activar el modo mantenimiento mientras haces la limpieza. Así evitarás que un cliente realice un pedido justo en el momento en que borras datos.
- Entra en el panel de administración de PrestaShop.
- Ve a Parámetros avanzados > Mantenimiento.
- Activa el modo mantenimiento y guarda los cambios.
Cuando termines, desactívalo.
Paso 8: Optimiza la configuración de MySQL desde cPanel
Además de limpiar, puedes ajustar algunos parámetros de MySQL para mejorar el rendimiento de PrestaShop. Esto se hace desde cPanel, en la sección "MultiPHP INI Editor" o "Configuración de MySQL".
Algunos valores recomendados son:
- max_allowed_packet: súbelo a 64M o 128M para evitar errores con imágenes o importaciones grandes.
- query_cache_size: actívalo y ponlo en 64M si tu hosting lo permite.
- innodb_buffer_pool_size: si tienes MySQL 5.7 o superior, puedes subirlo a 128M o 256M.
[!INFO]
No todos los hostings permiten modificar estos valores. Si no ves la opción, contacta con tu proveedor o déjalo como está. No es imprescindible, pero ayuda.
Paso 9: Programa limpiezas periódicas
Optimizar una vez no basta. Para mantener tu tienda rápida, te recomiendo hacer esta limpieza al menos una vez al mes. Puedes programarla manualmente o usar un módulo de PrestaShop que automatice la limpieza de la base de datos.
Algunas opciones populares son:
- PS Cleaner (gratuito)
- Advanced Database Cleaner (de pago)
- DB Cleaner (gratuito)
Estos módulos hacen exactamente lo que hemos hecho a mano, pero con un solo clic.
Preguntas frecuentes (FAQ)
¿Puedo optimizar la base de datos sin phpMyAdmin?
Sí. Puedes usar módulos de PrestaShop que hacen la limpieza automáticamente. Sin embargo, para una optimización profunda de MySQL, phpMyAdmin desde cPanel es la mejor opción porque te da control total.
¿Cuánto tarda en optimizar una base de datos de PrestaShop?
Depende del tamaño. Una tienda pequeña (menos de 500 MB) tarda entre 1 y 3 minutos. Una tienda grande (varios GB) puede tardar de 5 a 15 minutos.
¿Es seguro borrar carritos abandonados?
Sí. Los carritos abandonados no afectan a pedidos ya realizados. Solo borras registros de visitas que no se convirtieron en ventas. Eso sí, si usas módulos de recuperación de carritos, guarda esos datos antes de borrarlos.
¿Qué pasa si me equivoco al ejecutar una consulta SQL?
Si has hecho una copia de seguridad, puedes restaurarla desde cPanel en la sección "Copias de seguridad". Si no la tienes, contacta con tu hosting para ver si tienen una copia reciente.
¿Cada cuánto debo optimizar la base de datos?
Idealmente, una vez al mes. Si tu tienda tiene mucho tráfico o muchos pedidos, hazlo cada dos semanas.
Conclusión
Optimizar la base de datos de PrestaShop desde cPanel es una tarea sencilla que mejora notablemente la velocidad de tu tienda y la experiencia de tus clientes. Con las herramientas que te he mostrado, no necesitas ser un experto en bases de datos para mantener tu tienda ágil y estable.
Recuerda siempre: copia de seguridad antes de tocar nada, y si usas Syspanel (antes llamado HestiaCP) en lugar de cPanel, el acceso a phpMyAdmin se hace a través del puerto 2106 con la misma lógica: busca la sección de bases de datos y entra en phpMyAdmin.
Si sigues estos pasos cada mes, notarás la diferencia en el tiempo de carga, en la administración y en la satisfacción de tus clientes. ¡Tu tienda te lo agradecerá!
