---
title: "Scheduled Testing"
url: "https://docs.speedinchinaplugin.com/features/scheduled-testing/"
---
**PRO plan and above.** Scheduled testing requires a PRO or Agency plan. Personal plans include weekly speed tests but not configurable scheduling. Free users see a grayed-out preview with an upgrade prompt.

## Setting Up Scheduled Tests

Navigate to **Speed in China → Schedule** in your WordPress admin.

Select your desired **Test Frequency** from the dropdown.

Check the **Enable Scheduled Tests** checkbox.

Click **Save Settings**.

## Frequency Options by Plan

The available test frequencies depend on your plan:

| Plan | Available Frequencies |
| --- | --- |
| **Free** | Monthly (manual only) |
| **Personal** | Monthly, Weekly |
| **PRO** | Monthly, Weekly, Daily |
| **Agency** | Monthly, Weekly, Daily, Hourly |

**Hourly testing is Agency-only.** If you select a frequency that exceeds your plan's allowance, the plugin will show an upgrade notice and revert to your plan's maximum allowed frequency.

## How It Works

Scheduled tests use **WordPress Cron (WP-Cron)**. When you save a schedule:

1.  The plugin registers a cron event (`sic_scheduled_speed_test`) with WordPress at your chosen interval.
2.  At each interval, WordPress triggers the cron callback which runs a full speed test with the same parameters as a manual test.
3.  Results are saved to the test history log automatically.
4.  Optimization suggestions are updated based on the latest scheduled test results.

### Custom Cron Intervals

The plugin registers a custom `monthly` WP-Cron interval (30 days) since WordPress only includes `hourly`, `twicedaily`, and `daily` by default. The `weekly` interval uses WordPress's built-in `weekly` schedule.

## WP-Cron Reliability

WP-Cron only runs when someone visits your site. On low-traffic sites, scheduled tests may not fire exactly on time.

For reliable scheduling, set up a system-level cron job:

```
*/15 * * * * wget -q -O /dev/null https://yourdomain.com/wp-cron.php?doing_wp_cron
```

Then disable WordPress's built-in cron by adding this to `wp-config.php`:

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

## Disabling Scheduled Tests

To stop scheduled testing:

1.  Go to **Speed in China → Schedule**.
2.  Uncheck **Enable Scheduled Tests**.
3.  Click **Save Settings**.

The cron event is immediately unscheduled. Existing test history is preserved.
