Como evitar que wc_sessions crezca demasiado en WooCommerce

En algunos casos la tabla wp_options puede que aumente muy rápidamente, sobre todo si usas WooCommerce. Si es así es posible que dicha tabla esté a tope de entradas tipo _wc_session_xxx y _wc_session_expires_xxx. Esto puede ocurrir por dos motivos:

  • Las tareas Cron no funcionan bien en tu sitio
  • Algunos bots estan creando esas sesiones

Para solucionarlo, en WooCommerce hay una opción para eliminar esas sesiones:
Borrar sesiones woocommerce
Puede ocurrir que la base de datos sea tan grande que este proceso falle debido al tiempo de ejecución máximo de PHP o a falta de memoria, en tal caso puedes ir directamente a phpMyAdmin y ejecutar:

DELETE FROM wp_options
WHERE option_name LIKE '_wc_session_%' OR option_name LIKE '_wc_session_expires_%'

Para evitar que wp_options siga creciendo asegúrate que el cron no esta deshabilitado, ve al archivo wp-config.php y asegúrate de que no tienes esta línea, si la tienes, elimínala:

define('DISABLE_WP_CRON', 'true');

Por último, si quieres evitar que los bots creen sesiones añade esto a tu archivo robots.txt:

User-agent: *
Disallow: /*add-to-cart=*