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?

  • 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

TablaDescripción
ps_cartCarritos abandonados
ps_connectionsSesiones de usuario
ps_guestDatos de visitantes sin registro
ps_logRegistros de actividad
ps_smarty_cacheCaché 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.

Ir al contenido