Introducción
Con el tiempo, una tienda PrestaShop acumula datos temporales como transients caducados, carritos abandonados o logs viejos. Estos registros huérfanos ocupan espacio, ralentizan la base de datos y pueden afectar el rendimiento.
En esta guía aprenderás a automatizar la limpieza de datos huérfanos en PrestaShop usando SQL y un script PHP para programarlo como tarea cron.
Índice
- 1. ¿Qué son los datos huérfanos?
- 2. Tablas y registros más comunes
- 3. Consultas SQL para localizarlos
- 4. Script PHP para automatizar la limpieza
- 5. Cómo programar la tarea cron
- 6. Buenas prácticas y backups
- 7. Conclusión
1. ¿Qué son los datos huérfanos?
- ⏳ Transients caducados: datos temporales de caché.
- 🛒 Carritos abandonados: carritos no finalizados sin actividad en X días.
- 🗂️ Logs obsoletos: registros de errores y actividad que ya no necesitas.
2. Tablas más afectadas
Tabla | Descripción |
---|---|
ps_cart | Carritos abandonados |
ps_connections | Sesiones de usuario |
ps_guest | Datos de visitantes sin registro |
ps_log | Registros de actividad |
ps_smarty_cache | Caché de plantillas |
3. SQL para localizarlos
-- Carritos abandonados (30 días sin actualizar) SELECT * FROM ps_cart WHERE date_upd < NOW() - INTERVAL 30 DAY; -- Logs antiguos (más de 90 días) SELECT * FROM ps_log WHERE date_add < NOW() - INTERVAL 90 DAY;
4. Script PHP para limpieza
<?php $mysqli = new mysqli('localhost','usuario','clave','base_prestashop'); // Eliminar carritos abandonados $mysqli->query("DELETE FROM ps_cart WHERE date_upd < NOW() - INTERVAL 30 DAY"); // Eliminar logs antiguos $mysqli->query("DELETE FROM ps_log WHERE date_add < NOW() - INTERVAL 90 DAY"); // Vaciar caché smarty $mysqli->query("TRUNCATE TABLE ps_smarty_cache"); $mysqli->close(); ?>
5. Programar cron
Añade en tu servidor:
0 3 * * 0 /usr/bin/php /ruta/del/script/limpiar_prestashop.php
Esto ejecuta la limpieza cada domingo a las 3:00 AM.
6. Buenas prácticas
- 💾 Haz backup antes de eliminar registros.
- ⚙️ Prueba primero en un entorno staging.
- 🔒 Ajusta los intervalos según el volumen de tu tienda.
7. Conclusión
Automatizar la limpieza de datos huérfanos mejora la velocidad y reduce el tamaño de la base de datos sin plugins externos.
📩 ¿Quieres que lo configuremos para tu tienda? Contáctanos.