Cómo optimizar la base de datos de PrestaShop desde cPanel (phpMyAdmin)
¿Por qué es importante optimizar la base de datos de PrestaShop?
Si tu tienda online va lenta, tardas en gestionar pedidos o las páginas cargan con retraso, el problema casi nunca está en tu conexión a internet. En la gran mayoría de los casos, la causa está en una base de datos hinchada y llena de basura digital. Con el tiempo, PrestaShop acumula:
- Carritos abandonados que nunca se limpian.
- Conexiones antiguas (sesiones) de visitantes que ya no vuelven.
- Tablas fragmentadas que ralentizan las consultas SQL.
- Registros de búsquedas internas que no aportan valor.
- Versiones antiguas de productos y combinaciones que ya no usas.
Optimizar la base de datos de PrestaShop desde cPanel y phpMyAdmin es una de las tareas de mantenimiento más efectivas y económicas para acelerar PrestaShop sin necesidad de comprar un servidor más potente. En esta guía, paso a paso y sin tecnicismos, te enseñaré a hacerlo tú mismo, incluso si nunca has tocado una base de datos en tu vida.
Antes de empezar: prepara el terreno (y tu tranquilidad)
1. Haz una copia de seguridad completa
Este es el paso más importante de todo el artículo. No lo omitas jamás. Una mala consulta SQL o un borrado accidental pueden dejar tu tienda inaccesible. Necesitas una copia de seguridad tanto de los archivos como de la base de datos.
Desde cPanel:
- Entra en Archivos > Administrador de copias de seguridad.
- Descarga una copia completa de tu directorio home (o al menos de la carpeta
public_html). - Ve a Bases de datos > Copias de seguridad MySQL y descarga un backup de la base de datos de tu PrestaShop.
[!WARNING]
Guarda la copia en tu ordenador y, si puedes, también en la nube. Nunca la guardes en el mismo servidor donde está tu tienda.
2. Pon tu tienda en modo mantenimiento
Para evitar que clientes reales accedan mientras trabajas, activa el modo mantenimiento desde el panel de administración de PrestaShop: Parámetros avanzados > Mantenimiento > Activar modo mantenimiento. Pon un mensaje bonito como "Estamos mejorando la tienda, ¡vuelve en un momento!".
3. Identifica el nombre de tu base de datos
En cPanel, ve a Bases de datos > Bases de datos MySQL. Ahí verás el nombre completo de tu base (normalmente empieza con tu nombre de usuario de cPanel, por ejemplo usuario_prestashop). Anótalo junto con el usuario y la contraseña si no los recuerdas.
Accediendo a phpMyAdmin desde cPanel
- En cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin.
- En la columna de la izquierda, verás todas tus bases de datos. Haz clic en el nombre de la de tu PrestaShop.
- Se abrirá una pantalla con un montón de tablas. No te asustes: es normal que haya más de 200. Solo vamos a tocar unas pocas.
[!INFO]
Si tu hosting no tiene cPanel sino que usa otro panel como Syspanel, el acceso es similar: busca "Bases de datos" o "phpMyAdmin". Recuerda que Syspanel se accede por el puerto 2106 y tiene una interfaz parecida. El proceso de optimización es idéntico.
Paso 1: Limpiar la base de datos de PrestaShop (borrar la basura)
Ahora toca la parte divertida. Vamos a eliminar los datos que no sirven para nada. Ten mucho cuidado con lo que borras. No toques tablas que no estén en esta lista.
1.1. Vaciar carritos abandonados
Los carritos abandonados ocupan espacio y ralentizan las consultas de la tabla ps_cart. Vamos a vaciarla por completo.
- En phpMyAdmin, busca la tabla que empieza por
ps_cart(el prefijo puede ser diferente si lo cambiaste, normalmente esps_). - Haz clic en ella y luego en la pestaña Vaciar (o "Empty").
- Confirma la operación.
Esto eliminará todos los carritos sin pedido. No te preocupes: los pedidos ya completados no se borran, se guardan en otra tabla.
1.2. Limpiar sesiones antiguas
Las sesiones guardan la actividad de los visitantes. Si tienes mucho tráfico, esta tabla puede tener miles de filas inútiles.
- Busca la tabla
ps_connectionsyps_connections_source. Estas guardan las estadísticas de conexión. - También busca
ps_sessions(ops_session). - Ejecuta un Vaciar en cada una de ellas.
[!TIP]
Si no ves la tablaps_sessions, es porque PrestaShop guarda las sesiones en archivos en lugar de en la base de datos. No pasa nada, simplemente omítela.
1.3. Borrar registros de búsquedas internas
La tabla ps_search_word y ps_search_index acumulan miles de registros de búsquedas que hacen tus clientes. Son útiles para el buscador, pero con el tiempo se vuelven gigantes.
- Ve a la tabla
ps_search_word. - Haz clic en Vaciar.
- Haz lo mismo con
ps_search_indexsi existe.
No borres la tabla ps_search_engine porque es la que contiene la lista de motores de búsqueda (Google, Bing, etc.) y la necesitas.
1.4. Eliminar registros de navegación y estadísticas antiguas
PrestaShop guarda cada visita, cada página vista y cada clic en la tabla ps_connections. Con el tiempo, esto pesa muchísimo.
- Vacía las tablas
ps_connections,ps_connections_pageyps_connections_source. - También puedes vaciar
ps_page_viewedsi existe.
Si quieres conservar las estadísticas pero no las antiguas, puedes ejecutar una consulta SQL para borrar solo las de hace más de 30 días. Pero para simplificar, vaciarlas es lo más efectivo.
Paso 2: Optimizar las tablas restantes
Una vez limpiada la basura, es hora de desfragmentar las tablas que quedan. La fragmentación ocurre cuando se borran datos y los espacios no se reutilizan bien, lo que hace que las consultas sean más lentas.
2.1. Optimización masiva con un solo clic
- En la columna de la izquierda de phpMyAdmin, haz clic en el nombre de tu base de datos.
- Abajo del todo, verás una casilla que dice Marcar todas (o "Check all").
- Haz clic en el desplegable que dice Con seleccionados: y elige Optimizar tablas (o "Optimize tables").
- Confirma.
Esto hará una optimización completa de todas las tablas de tu base de datos. Verás un mensaje de éxito con el resultado de cada tabla.
[!TIP]
Repite este proceso de optimización una vez al mes como parte de tu mantenimiento habitual. Es la forma más fácil de acelerar PrestaShop sin tocar código.
2.2. Optimizar solo las tablas pesadas
Si quieres ser más quirúrgico, puedes optimizar solo las tablas más grandes. Para saber cuáles son:
- Haz clic en el nombre de tu base de datos en la columna izquierda.
- Arriba, verás una pestaña llamada Tamaño o Size. Haz clic en ella para ordenar las tablas por tamaño.
- Las más grandes (normalmente
ps_product_attribute,ps_stock_available,ps_order_detail) son las que más se benefician de la optimización. - Marca solo esas y elige Optimizar tablas en el desplegable.
Paso 3: Reparar tablas corruptas (si las hay)
A veces, por caídas del servidor o cortes de luz, algunas tablas se corrompen. Los síntomas son errores como "MySQL server has gone away" o "Table is marked as crashed".
- En phpMyAdmin, haz clic en el nombre de la base de datos.
- Marca todas las tablas (casilla "Marcar todas").
- En el desplegable, elige Reparar tablas (o "Repair tables").
- Espera a que termine. Si hay alguna tabla corrupta, se arreglará automáticamente.
[!WARNING]
Si la reparación falla, no intentes arreglarla tú con consultas avanzadas. Contacta con tu proveedor de hosting o con un técnico especializado. Forzar la reparación puede causar pérdida de datos.
Paso 4: Ajustes adicionales para acelerar PrestaShop
La optimización de la base de datos es solo una parte. Estos ajustes complementarios te ayudarán a que tu tienda vuele.
4.1. Activar el caché de MySQL
- En phpMyAdmin, haz clic en la pestaña Variables (arriba).
- Busca
query_cache_sizeyquery_cache_type. - Si
query_cache_typeestá enOFF, cámbialo aONy establece un tamaño de caché de al menos 64 MB (por ejemplo,67108864bytes).
[!INFO]
Si estás en un hosting compartido, puede que no tengas permisos para cambiar estas variables. En ese caso, contacta con tu proveedor y pídele que active el query cache. En servidores VPS o dedicados con Syspanel, puedes hacerlo desde el gestor de MySQL.
4.2. Limpiar la caché de PrestaShop
Después de optimizar la base de datos, es recomendable limpiar la caché de PrestaShop:
- Entra en el panel de administración.
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en Vaciar la caché (botón verde).
4.3. Activar el modo de mantenimiento inteligente
En esa misma pantalla de Rendimiento, activa:
- Caché de plantillas: Sí.
- Caché combinada (CCC): Sí para CSS y JavaScript.
- Caché de consultas MySQL: Sí.
Esto reducirá drásticamente el número de consultas a la base de datos.
Preguntas frecuentes (FAQ)
¿Con qué frecuencia debo optimizar la base de datos de PrestaShop?
Depende del tamaño de tu tienda y del tráfico. Como regla general:
- Tiendas pequeñas (menos de 100 productos): una vez al mes.
- Tiendas medianas (100-1000 productos): cada 2-3 semanas.
- Tiendas grandes (más de 1000 productos): semanalmente.
También te recomiendo hacer una limpieza después de campañas de marketing o épocas de altas ventas (Navidad, Black Friday, etc.).
¿Puedo romper mi tienda si me equivoco?
Sí, existe ese riesgo. Por eso es imprescindible hacer una copia de seguridad antes de empezar. Si sigues esta guía al pie de la letra y solo tocas las tablas mencionadas, el riesgo es mínimo.
¿Qué pasa si mi base de datos tiene un prefijo diferente a ps_?
No hay problema. En lugar de ps_cart, busca [tu_prefijo]_cart. El prefijo se configuró al instalar PrestaShop y puedes verlo en el archivo config/settings.inc.php de tu instalación.
¿La optimización afecta a mis pedidos o clientes?
No. Los pedidos completados, clientes registrados y facturas se guardan en tablas que no tocamos. Solo eliminamos datos temporales o sin valor.
¿Necesito conocimientos de SQL para hacer esto?
No. Todo lo que hemos hecho se puede hacer con clics y menús desplegables en phpMyAdmin. Solo si quieres ser más avanzado necesitarías escribir consultas SQL.
Resumen final: tu checklist de optimización
Para que te quede claro, este es el proceso completo que debes seguir cada vez:
- Copia de seguridad completa (archivos y base de datos).
- Activa el modo mantenimiento.
- Vacía las tablas de carritos abandonados, sesiones, búsquedas y conexiones.
- Optimiza todas las tablas desde phpMyAdmin.
- Repara tablas si encuentras errores.
- Vacía la caché de PrestaShop.
- Desactiva el modo mantenimiento y comprueba que todo funciona.
Con este proceso, notarás una mejora de rendimiento casi inmediata. Y lo mejor: es 100% gratuito y no necesitas contratar a un técnico. Si lo haces con regularidad, tu tienda será más rápida, tus clientes estarán más contentos y Google te recompensará con mejores posiciones en los resultados de búsqueda. Optimizar la base de datos de PrestaShop desde cPanel y phpMyAdmin es, sin duda, una de las mejores inversiones de tiempo que puedes hacer por tu negocio online.
