Optimizar la base de datos de PrestaShop
Veamos cómo optimizar la base de datos de PrestaShop de forma sencilla y aplicando varios métodos, podemos hacerlo bien en la base de datos o bien utilizando módulos como pscleaner o de pago.
Es muy importante tener en cuenta que la base de datos a medida que vamos trabajando en nuestra tienda va llenándose de datos innecesarios esto afecta a que sea cada vez más pesada.
Evidentemente si entramos en Phpmyadmin a nuestra base de datos es mucho más rápido, sé que algunos os puede dar pánico meteros en las tripas de la base de datos, si no te quieres arriesgar entonces te recomiendo este módulo de pago
Vamos a optimizar la base de datos de PrestaShop desde el back y luego desde PhpMyAdmin.
Optimizando la base de datos desde el panel de administración
En primer, “Copia de seguridad de la base de datos”
Estos son los apartados que verificaremos:
- Carritos Abandonados
- Correos electrónicos
- Registros
Vamos al back office
- Nos dirigimos a Clientes > Carrito abandonado o Carros de Compra (el nombre depende de la versión no siempre mantienen los mismos nombres)
- Ahora vamos a Parámetros avanzados > Correo electrónico.
Todos los correos que tu tienda envía los encontrarás aquí. Pueden ser útiles por un lado pero por otro lado resultan innecesarios, así que bórralos cuando ya no los necesites.
- Ahora nos quedamos en Parámetros Avanzados > Registros/log
Es importante que de vez en cuando te pases por aquí, para saber si tu tienda tuvo algún fallo en concreto, bueno lo que veas que no te sirve lo borras o todo.
Las estadísticas son buenas, pero acumulan datos, si utilizas Google Analytics para medir los datos es mejor que PrestaShop.
Quita todos los que no necesites esto también optimizará la base de datos de PrestaShop de registros e irá mejor.
Optimizando a través de PhpmyAdmin
A través de PrestaShop hemos limpiado algunos datos y desinstalados módulos pero no es suficiente, nos queda más cosas, la opción es entrar en la base de datos o bien como te indicaba antes comprar un módulo de pago.
Yo te recomiendo el módulo de ST-THEMES de la famosa plantilla transformer y Panda, porque aparte de que tiene buen precio tiene muchas posibilidades de limpiar y optimizar la base de datos de PrestaShop
Utiliza el método MoSCoW (Must-have (Debe-tener) Should-have (Debería-tener) Could-have (podría-tendría) para clasificar los datos viejos e inútiles en 3 categorías.
Se recomienda limpiar los datos que pertenecen a las dos primeras categorías. Además de la función de limpieza, este módulo también proporciona una función de trabajo cron y algunas herramientas de optimización.
Pero veamos cuáles son las tablas que debes de limpiar y las instrucciones necesarias.
Las tablas que más registros van acumulando suelen ser:
- ps_guest
- ps_connections
- ps_connections_page
- ps_connections_source
- ps_page_viewed
Para borrar por ejemplo tablas que afectan a los carritos (donde suelen acumularse carritos consultas de carritos abandonados) son:
- ps_cart_product;
- ps_cart;
- ps_cart_discount;
Es necesario ejecutar a través de una sentencia mysql que es Truncate.
Debes de poner delante de cada una esta sentencia.
Por ejemplo: (OJO, el sufijo puede ser diferente en tu base de datos si no es ps_ el que le hayas puesto en el momento de la instalación)
Esto lo debes de hacer desde la pestaña SQL.
Con esto lo que conseguiremos es que al ahora de importar nuestra base de datos en otro server, sea mucho mejor y pese menos.
Ahora que te he explicado cómo se hace, ¿qué método vas a emplear módulo o hacerlo tu mismo?
Actualizado a 9 de octubre del 2020
3 comentarios
Cuando importes productos has de forzar los id’s si quieres que sean los que esté importando. ¿Has probado esto?
Hola buenas quería preguntarle sabe cómo eliminar productos que ya no están en el frontoffice pero que en la base de datos siguen estando ya que cuando importo productos nuevamente no sigue un id similar al que tengo el último producto en PrestaShop sino que salta a un id totalmente alto ya que he realizado varias importaciones y por ello que el id sea tan distanciado sobre 30000 productos.
Muy bueno el post. La verdad es que acumulaba más de 30000 emails y 20000 carritos abandonados. Ahora el backoffice es mucho más fluido.
Muchas gracias