> For the complete documentation index, see [llms.txt](https://ctracker-docs.keywordrush.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ctracker-docs.keywordrush.com/running-your-site/scheduled-tasks.md).

# Scheduled tasks

Most of what Cashback Tracker does, it does quietly in the background: fetching shop lists, importing coupons, downloading new orders, expiring coupons that have run out, refreshing currency rates, and keeping the sorting on your shop directory correct.

None of that happens while you watch. It happens on a schedule.

### Why this page exists

WordPress does not have a real clock. Its scheduler only runs when somebody visits your site, and many hosts switch it off entirely and replace it with a proper server cron job.

When that arrangement breaks — and it does break — WordPress says nothing. Your site keeps working, pages keep loading, and in the background absolutely nothing runs. The first sign is usually data quietly going stale: no new orders for a fortnight, a shop list that has not moved for a month.

Cashback Tracker now notices and tells you.

### The warning

If scheduled tasks stop running, a warning appears at the top of every admin page:

> **Cashback Tracker: scheduled tasks are not running on this site.**

It is not an emergency. Your site and the data you already have are unaffected — nothing is lost, nothing is broken, and visitors see no difference. What has stopped is everything that updates on a schedule.

You can dismiss it for a day. If the problem is still there tomorrow, it comes back.

### The two causes

Almost always one of these.

**1. WordPress' own scheduler has been switched off.** Look in `wp-config.php` for:

```php
define( 'DISABLE_WP_CRON', true );
```

That line is not a problem in itself — it is the recommended setup on busy sites — but it is only half of it. The other half is a server cron job that runs the scheduler on a timer. If that was never set up, or was removed, nothing runs.

**2. The server cron job has stopped.** It was set up once, and something changed: the hosting plan, the server, the path to PHP. Your host's support can tell you whether it is still running, and this is the fastest way to find out.

### Fixing it

If you have shell access, a cron job every five minutes is the standard arrangement:

```
*/5 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
```

Replace `example.com` with your own domain. Many hosts offer this as a "Cron jobs" panel in their control panel, and some set it up for you on request.

If you do not have `DISABLE_WP_CRON` set and the warning still appears, the likely cause is a site with very little traffic — WordPress' scheduler needs visitors to run. A real cron job fixes that too, and is worth setting up regardless.

### Checking what has and has not run

* **Networks** shows each network's last shop refresh and how it went, per network.
* **Coupons** shows when coupons were last imported.
* `Cashback Tracker` → `Logs` records what the background jobs did, and what they complained about.
* WordPress' own `Tools` → `Scheduled Actions` screen lists every queued and completed background job, newest first. It is technical, but it answers "did anything run at all" definitively.

### What runs, and how often

| Task                                      | How often                                                         |
| ----------------------------------------- | ----------------------------------------------------------------- |
| Checking your networks for new orders     | Your choice in Settings → General, from every 15 minutes to daily |
| Re-checking orders that are still waiting | Daily                                                             |
| Refreshing shop lists                     | Daily or weekly — your choice, in Settings → General              |
| Importing coupons                         | Hourly, if coupon import is on                                    |
| Expiring coupons that have run out        | Daily                                                             |
| Refreshing currency rates                 | Daily                                                             |
| Tidying the postback log                  | Daily                                                             |
| Tidying the plugin log                    | Daily                                                             |

Work you start by hand — **Refresh shops** on a network, a bulk AI run, creating shop pages in bulk — also goes through the same schedule. That is why those jobs need it working too.

### Related

* [Loading shops from a network](/affiliate-networks/loading-shops.md)
* [Logs and alerts](/running-your-site/logs-and-alerts.md)
* [Troubleshooting](/running-your-site/troubleshooting.md)
