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.

