Tickera sessions not deleted automatically after finished order

FAQ & Troubleshooting · 3 min read · Updated May 21, 2026

Tickera sessions are piling up in the database after orders complete instead of being auto-deleted — and you’ve noticed it as significant page-load lag, occasional Server Error 500s, or just an ever-growing wp_options table.

The default behaviour

Normally, Tickera clears session data after each order completes. The cleanup runs via WordPress’s wp-cron — a scheduled task that fires when traffic hits your site. On a busy site, cron fires constantly; on a quiet site or a host that has disabled WP-Cron, it might not fire often enough (or at all).

The fix: ensure real cron is running

The most reliable fix is to set up a real OS-level cron job hitting your site’s wp-cron.php, rather than relying on traffic-triggered WordPress cron. On most managed WordPress hosts (SiteGround, Kinsta, WP Engine), this is already configured. On budget shared hosting, it usually isn’t.

How to check if WP-Cron is firing

  1. Install the free WP Crontrol plugin temporarily.
  2. Go to Tools → Cron Events.
  3. Look at when scheduled events last ran. If “Next due” is in the past for several events, your cron isn’t firing.

How to set up a system cron job

On hosts that allow SSH or cPanel cron access, add a system cron that hits wp-cron.php every 5–15 minutes:

*/5 * * * * curl -s https://yoursite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Then disable WordPress’s built-in cron-on-traffic mode by adding this to wp-config.php:

define( 'DISABLE_WP_CRON', true );

Now WordPress cron runs predictably every 5 minutes — no traffic dependency, no missed runs.

If your host won’t let you set up real cron

External cron-as-a-service options exist if your host doesn’t allow OS cron jobs: cron-job.org (free), EasyCron, similar services. They hit your wp-cron.php URL on a schedule for you.

Server-level session file cleanup

PHP also writes its own session files to disk separately from WordPress. If your server doesn’t clean those automatically (the session.gc_* PHP settings control this), they can accumulate independently. Contact your hosting provider and ask them to ensure session garbage collection is enabled — most managed hosts handle this, but budget shared hosting sometimes doesn’t.

Why this matters

Each abandoned session takes up a row in wp_options (or wherever your session storage lives). Over a busy event with thousands of checkout starts, the table grows fast. Queries against a huge wp_options table get slow — page loads lag, the dashboard slows down, eventually you hit memory limits and see 500 errors.

Related

Was this article helpful?

Yes — great. No or partially? Tell us what was missing — we read every message and use it to improve these docs.

Tickera
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.