> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mainwp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Disable WP Cron

> Configure custom cron jobs for MainWP Dashboard and extensions including Cost Tracker Assistant, Domain Monitor, Lighthouse, Maintenance, Patchstack, Pro Reports, Regression Testing, Sucuri, SSL Monitor, and Vulnerability Checker.

WordPress WP-Cron relies on site visits to trigger scheduled tasks, which can be unreliable for low-traffic sites. You can disable WP-Cron and use your server's cron system for more consistent task execution.

## What You'll Learn

* How to disable WP-Cron for MainWP
* How to set up server cron jobs
* Cron commands for each extension

## Prerequisites

* Access to your server's cron system (cPanel, Plesk, or SSH)
* Knowledge of your WordPress installation path
* PHP binary location on your server

***

## Disable WP-Cron

Once you disable WP-Cron via **MainWP > Settings > Advanced Settings**, MainWP removes its schedules and you'll need to set up manual cron jobs through your hosting provider.

<Note>
  Need help setting up cron jobs? Check your hosting provider's documentation for [cPanel](https://docs.cpanel.net/cpanel/advanced/cron-jobs/) or [Plesk](https://docs.plesk.com/en-US/obsidian/customer-guide/websites-and-domains/scheduling-tasks-cron-jobs.html).
</Note>

***

## Commands to Use in Crontab

**Two command options are available:**

**Preferred method** (direct PHP call - eliminates HTTP timeout issues):

```bash theme={null}
/usr/bin/php /path/to/public_html/wp-content/plugins/mainwp/cron/FILE > /dev/null 2>&1
```

**Alternative method** (HTTP call):

```bash theme={null}
wget -O /dev/null http://example.com/wp-content/plugins/mainwp/cron/FILE > /dev/null 2>&1
```

Replace `FILE` with the specific cron file for each job listed below.

***

## Cron Jobs by Extension

<Tabs>
  <Tab title="Core">
    #### Check for available updates

    **Frequency:** \*every minute (crontab schedule: \* \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/updatescheck.php > /dev/null 2>&1
    ```

    This cron job will perform two actions. First, it will first synchronize the Dashboard and then perform auto-updates if any exist.

    #### Ping Child Sites

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/pingchilds.php > /dev/null 2>&1
    ```

    #### Check Sites Status

    **Frequency:** \*every minute (crontab schedule: \* \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/checkstatuschilds.php > /dev/null 2>&1
    ```

    This cron also controls built-in [Uptime Monitoring](/sites/management/uptime-monitoring).

    #### Deactivated License Alert

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/deactivatedlicensesalert.php > /dev/null 2>&1
    ```

    Sends extension license deactivation notification emails when MainWP detects deactivated MainWP Add-on licenses and the `deactivated_license_alert` notification is enabled.

    #### General Schedules

    **Frequency:** \*every minute (crontab schedule: \* \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/generalschedules.php > /dev/null 2>&1
    ```

    Runs registered regular sequence processes. In current MainWP Dashboard source, built-in uptime monitoring notification processing registers with this sequence process.

    #### Check Sites Health

    **Frequency:** \*every hour (crontab schedule: 0 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/sitehealthmonitoring.php > /dev/null 2>&1
    ```

    #### Reconnect Sites

    **Frequency:** \*every hour (crontab schedule: 0 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/stats.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="Cost Tracker Assistant">
    #### Cost Tracker Alert

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-cost-tracker-assistant-extension/cron/cost-tracker-assistant-alert.php > /dev/null 2>&1
    ```

    Checks active Cost Tracker Assistant subscriptions and sends configured renewal alert emails when a subscription is within the notification window.

    <Note>
      This job only sends alerts when Cost Tracker Assistant is enabled. Email notification settings must be enabled for `cost_tracker_notification_email`, and the Cost Tracker Assistant notification option must also be enabled.
    </Note>
  </Tab>

  <Tab title="Domain Monitor">
    #### Check Domains

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    **Frequency:** *every week, on Sunday 00:00 (crontab schedule: 0 0 \* \* 0)*

    **Frequency:** \*twice a month (crontab schedule: 0 0 1,15 \* \* *)*

    **Frequency:** \*every month (crontab schedule: 0 0 1 \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-domain-monitor-extension/cron/domain_monitor_cron_start.php > /dev/null 2>&1
    ```

    #### Check Domains - Continue

    **Frequency:** \*every 5 minutes (crontab schedule: \*/5 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-domain-monitor-extension/cron/domain_monitor_cron_continue_run.php > /dev/null 2>&1
    ```

    Continues Domain Monitor lookup batches after the start job has queued domains for checking. When lookup batches finish, the same continue flow starts and continues domain expiration notification processing.
  </Tab>

  <Tab title="Lighthouse">
    #### Audit Sites

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    **Frequency:** *every week, on Sunday 00:00 (crontab schedule: 0 0 \* \* 0)*

    **Frequency:** \*twice a month (crontab schedule: 0 0 1,15 \* \* *)*

    **Frequency:** \*every month (crontab schedule: 0 0 1 \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-lighthouse-extension/cron/lighthouse_cron_start.php > /dev/null 2>&1
    ```

    #### Audit Sites - Continue

    **Frequency:** \*every 5 minutes (crontab schedule: \*/5 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-lighthouse-extension/cron/lighthouse_cron_sync.php > /dev/null 2>&1
    ```

    #### Send Notifications

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    **Frequency:** *every week, on Sunday 00:00 (crontab schedule: 0 0 \* \* 0)*

    **Frequency:** \*twice a month (crontab schedule: 0 0 1,15 \* \* *)*

    **Frequency:** \*every month (crontab schedule: 0 0 1 \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-lighthouse-extension/cron/lighthouse_cron.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="Maintenance">
    #### Start Maintenance

    **Frequency:** \*every hour (crontab schedule: 0 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-maintenance-extension/cron/cron_job_start.php > /dev/null 2>&1
    ```

    #### Continue Maintenance

    **Frequency:** \*every minute (crontab schedule: \* \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-maintenance-extension/cron/cron_job_continue.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="Patchstack">
    #### Patchstack Start

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-patchstack-extension/cron/cron_start.php > /dev/null 2>&1
    ```

    #### Patchstack Continue

    **Frequency:** \*every 5 minutes (crontab schedule: \*/5 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-patchstack-extension/cron/cron_continue.php > /dev/null 2>&1
    ```

    #### Patchstack Sync Dashboard

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-patchstack-extension/cron/cron_sync_dashboard.php > /dev/null 2>&1
    ```

    <Note>
      These jobs respect the Patchstack API sync frequency setting in the Patchstack Add-on settings. Run the daily jobs even when the Add-on is set to weekly or monthly sync; the Add-on skips work until it is due.
    </Note>
  </Tab>

  <Tab title="Post Dripper">
    #### Drip Articles

    **Frequency:** \*every hour (crontab schedule: 0 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-post-dripper-extension/cron/post_dripper.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="Pro Reports">
    #### Send Report Notifications

    **Frequency:** \*every hour (crontab schedule: 0 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-pro-reports-extension/cron/notice_reports.php > /dev/null 2>&1
    ```

    #### Send Reports

    **Frequency:** \*every 5 minutes (crontab schedule: \*/5 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-pro-reports-extension/cron/send_reports.php > /dev/null 2>&1
    ```

    #### Send Reports - Continue

    **Frequency:** \*every minute (crontab schedule: \* \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-pro-reports-extension/cron/continue_reports.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="Regression Testing">
    #### Start Regression Testing

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-regression-testing-extension/cron/html-regression-cron-start.php > /dev/null 2>&1
    ```

    Starts the scheduled Regression Testing process and marks eligible sites for automatic checking.

    #### Continue Regression Testing

    **Frequency:** \*every 5 minutes (crontab schedule: \*/5 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-regression-testing-extension/cron/html-regression-cron-continue-run.php > /dev/null 2>&1
    ```

    Continues scheduled Regression Testing in batches, processes pending site/page checks, and handles follow-up tasks such as tracking CSS/JavaScript changes and notification scheduling.
  </Tab>

  <Tab title="Sucuri">
    #### Send Notifications

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-sucuri-extension/cron/securityscan_notification.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="SSL Monitor">
    #### Start Monitor

    **Frequency:** \*every day (crontab schedule: 0 0 \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-ssl-monitor-extension/cron/ssl_monitor_cron_start.php > /dev/null 2>&1
    ```

    #### Continue Monitor

    **Frequency:** \*every 5 minute (crontab schedule: \*/5 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-ssl-monitor-extension/cron/ssl_monitor_cron_continue_run.php > /dev/null 2>&1
    ```
  </Tab>

  <Tab title="Vulnerability Checker">
    #### Vulnerability Check

    **Frequency:** \*every ten minutes (crontab schedule: \*/10 \* \* \* *)*

    ```bash theme={null}
    wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-vulnerability-checker-extension/cron/vulnercheck.php > /dev/null 2>&1
    ```
  </Tab>
</Tabs>

<Warning>
  Replace `/path/to/` with your actual WordPress installation path. The PHP binary location (`/usr/bin/php`) may also vary depending on your server configuration.
</Warning>

***

## Self-Check Checklist

* [ ] WP-Cron disabled in Dashboard Advanced Settings
* [ ] Server cron jobs created for required tasks
* [ ] Paths updated to match your installation
* [ ] Cron jobs tested and running

***

## Related Resources

* [MainWP System Requirements](/advanced/miscellaneous/mainwp-system-requirements) - Server requirements
* [How to Change Update Frequency](/sites/updates/how-to-change-daily-update-and-sync-frequency) - Update scheduling
