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

# Advanced Uptime Monitor

> This Advanced Uptime Monitor for WordPress is a free MainWP integration that extends your ability to monitor the uptime of all your connected Child Sites at once on one screen.

## What You'll Learn

* Creating and managing uptime monitors
* Connecting supported monitoring services
* Understanding monitor fields and actions
* Creating monitors for connected child sites

***

<div id="addon-data" style={{display: 'none'}} data-title="Advanced Uptime Monitor" data-purchase-url="https://mainwp.com/extension/advanced-uptime-monitor/" data-pricing-tier="free" data-bundle="Essentials" data-addon-type="integration" data-version="5.3.5" data-developer="MainWP" data-changelog-url="https://mainwp.com/changelog/mainwp-advanced-uptime-monitor-extension/" data-owned-by="Jestart LLC" data-privacy-url="https://mainwp.com/mainwp-plugin-privacy-policy/" />

<Info>
  **Integration Add-on** - This add-on connects MainWP Dashboard to supported uptime monitoring services. No third-party WordPress plugin is required.
</Info>

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/3PIsyNM3OM0" title="Advanced Uptime Monitor - Video Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

The MainWP Advanced Uptime Monitor Integration allows you to monitor your websites' uptime by integrating with uptime monitoring services through their APIs. This add-on enables you to create, edit, display, start, pause, or delete your monitors directly from the MainWP Dashboard.

The integration currently supports these uptime monitoring services:

* Uptime Robot
* Better Uptime
* NodePing
* Site24x7

The integration itself does not check for uptime, nor does it notify in case of some event. Both of these actions are performed by third-party uptime monitoring services.

## Create New Monitor

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Monitors tab" />

  <Step title="Click the Create New Monitor button">
    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/BdcomfJgc2_PDXAi/images/add-ons/12b13b1f88cc.png?fit=max&auto=format&n=BdcomfJgc2_PDXAi&q=85&s=5cf5da4450e83e856b645336d9341bbf" alt="Click the Create New Monitor button" width="1720" height="493" data-path="images/add-ons/12b13b1f88cc.png" />
    </Frame>
  </Step>

  <Step title="A popup screen will appear">
    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/ZH24mRK7Uliy46cr/images/add-ons/uptime-monitor-create-dialog.png?fit=max&auto=format&n=ZH24mRK7Uliy46cr&q=85&s=836237eb8418241efc6334b77b200f17" alt="A popup screen will appear" width="1028" height="805" data-path="images/add-ons/uptime-monitor-create-dialog.png" />
    </Frame>

    1. Select **Monitor types**
    2. Set **Friendly name**
    3. Add the **URL (or IP)** address of your website
    4. Set **Monitoring interval (in minutes)**
    5. Select **alert contacts to notify**
  </Step>
</Steps>

### Monitor Types

* **http(s):** Perfect for website monitoring. The service regularly sends requests (which are the same as if a visitor is browsing your website) to the URL and decides if it is up or down depending on the HTTP statuses returned from the website (200-success, 404-not found, etc.)
* **ping:** Good for monitoring a server. Ping (ICMP) requests are sent, and up/down status is decided according to whether responses are received. Ping is not a good fit for monitoring websites as a website (its IP) can respond to ping requests while it is down (which means that the site is down but the server hosting the site is up)
* **keyword:** Checks if a keyword exists or does not exist on a web page
* **port:** Good for monitoring services like SMTP, DNS, POP as all these services run from a specific port, and Uptime Robot decides their statuses based on whether they respond to the requests

## Edit Monitor

<Frame>
  <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/ZH24mRK7Uliy46cr/images/add-ons/uptime-monitor-list-edit.png?fit=max&auto=format&n=ZH24mRK7Uliy46cr&q=85&s=ed92994e03eadfd471639e67af21a7c2" alt="Edit monitor button" width="1720" height="493" data-path="images/add-ons/uptime-monitor-list-edit.png" />
</Frame>

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Monitors tab" />

  <Step title="Locate the Monitor that you want to Edit" />

  <Step title="Click the Edit button in the corresponding row" />

  <Step title="Once the popup screen opens">
    Once the popup screen opens:

    1. Edit monitor data
    2. Click the **Save Monitor** button
  </Step>
</Steps>

## Start-Pause Monitor

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Monitors tab" />

  <Step title="Locate the Monitor that you want to Start / Pause" />

  <Step title="Click the Start / Pause button in the corresponding row" />
</Steps>

<Frame>
  <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/BdcomfJgc2_PDXAi/images/add-ons/11cf45ae833e.png?fit=max&auto=format&n=BdcomfJgc2_PDXAi&q=85&s=b8ef31c9f5527aad3f87187ea14d4f66" alt="Pause monitor button" width="1720" height="493" data-path="images/add-ons/11cf45ae833e.png" />
</Frame>

## Monitor Statistics

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Monitors tab" />

  <Step title="Locate the Monitor that you want to check" />

  <Step title="Click the Info action in the corresponding row" />
</Steps>

<Frame>
  <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/ZH24mRK7Uliy46cr/images/add-ons/uptime-monitor-list-details.png?fit=max&auto=format&n=ZH24mRK7Uliy46cr&q=85&s=b043433c89435472be433e1db059d829" alt="Monitor details view" width="1720" height="493" data-path="images/add-ons/uptime-monitor-list-details.png" />
</Frame>

## Delete Monitor

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Monitors tab" />

  <Step title="Locate the Monitor that you want to Delete" />

  <Step title="Click the Delete button in the corresponding row" />
</Steps>

<Frame>
  <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/ZH24mRK7Uliy46cr/images/add-ons/uptime-monitor-delete-button.png?fit=max&auto=format&n=ZH24mRK7Uliy46cr&q=85&s=9ad2a100f55b2f7bff535bbbe8222560" alt="Delete monitor button" width="1720" height="493" data-path="images/add-ons/uptime-monitor-delete-button.png" />
</Frame>

## Create Monitors for All Child Sites

To automatically create monitors for all child sites that don't have corresponding monitors:

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Monitors tab" />

  <Step title="Click the Create Monitors for All Sites button" />

  <Step title="The integration will create monitors for child sites without existing monitors" />
</Steps>

## Connect Your Uptime Robot Account

To get your Uptime Robot API Key to use the [MainWP Advanced Uptime Monitor Integration](https://mainwp.com/extension/advanced-uptime-monitor/), visit the [Uptime Robot Webpage.](http://uptimerobot.com/)

<Steps>
  <Step title="Click the Sign-Up button (If you already have an account, proceed to step 4)">
    Click the **Sign-Up** button *(If you already have an account, proceed to step 4)*

    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/ZH24mRK7Uliy46cr/images/add-ons/uptime-robot-homepage-signup.jpg?fit=max&auto=format&n=ZH24mRK7Uliy46cr&q=85&s=7e0db712e8cc667af8d3dbee72307abf" alt="Uptime Robot - Signup" width="1345" height="276" data-path="images/add-ons/uptime-robot-homepage-signup.jpg" />
    </Frame>
  </Step>

  <Step title="Fill up the registration form and check your email to activate your account">
    Fill up the registration form and check your email to activate your account. Follow the link in the email. You will get the confirmation note.
  </Step>

  <Step title="After confirmation, you are successfully registered">
    After confirmation, you are successfully registered. Next, you need to log in and generate an API Key.
  </Step>

  <Step title="Click the Login button" />

  <Step title="When you type in your email address and password and click the Login button, you will be prompted to the Account Dashboard page">
    When you type in your email address and password and click the **Login** button, you will be prompted to the **Account Dashboard** page
  </Step>

  <Step title="Proceed to the My Settings page">
    Proceed to the **My Settings** page

    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/84pxMSpVYjnopf4I/images/add-ons/83b42e1d1e46.jpg?fit=max&auto=format&n=84pxMSpVYjnopf4I&q=85&s=ee08f20ae78a27aac9afa2004e4d3fef" alt="Uptime Robot - My Settings" width="1345" height="180" data-path="images/add-ons/83b42e1d1e46.jpg" />
    </Frame>
  </Step>

  <Step title="Scroll down to the API Information area and click the Create the main API key link">
    Scroll down to the API Information area and click the **Create the main API key** link
  </Step>

  <Step title="Then it will show you the Create the main API key button, click that button">
    Then it will show you the **Create the main API key** button, click that button

    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/ZH24mRK7Uliy46cr/images/add-ons/uptime-robot-create-api-key.jpg?fit=max&auto=format&n=ZH24mRK7Uliy46cr&q=85&s=5a8b251155e9c426a559ee028d305970" alt="Uptime Robot - Create the Main API Key" width="736" height="387" data-path="images/add-ons/uptime-robot-create-api-key.jpg" />
    </Frame>
  </Step>

  <Step title="And your API Key will appear." />
</Steps>

Before being able to create, display, or manage Uptime Robot monitors, you need to add your [Uptime Robot API key](/add-ons/monitoring/advanced-uptime-monitor-extension#connect-your-uptime-robot-account) to your Advanced Uptime Monitor Integration.

<Steps>
  <Step title="Log in to your MainWP Dashboard" />

  <Step title="Go to MainWP > Add-ons > Monitoring > Advanced Uptime Monitor" />

  <Step title="Go to the Settings tab">
    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/BdcomfJgc2_PDXAi/images/add-ons/1a931013f05d.png?fit=max&auto=format&n=BdcomfJgc2_PDXAi&q=85&s=b6dda32b1e82205809dd7b3a1c0faec8" alt="Go to the Settings tab" width="1720" height="493" data-path="images/add-ons/1a931013f05d.png" />
    </Frame>

    1. Select **Uptime Robot** as the monitoring service
    2. Enter your **Uptime Robot API Key** in the provided field
    3. Select a **Default alert contact** after contacts are available
    4. Click the **Save Settings** button
  </Step>
</Steps>

After you connect your account, you can set the default alert contact.

The integration validates the API key when you click **Save Settings**. If Uptime Robot rejects the key, the integration keeps your previous key and shows the validation error. When you save a different API key, the integration clears stored uptime data and synchronizes monitors from the new account.

### Uptime Robot API key permissions

The integration connects to the Uptime Robot REST API v3 and detects the permission level of your API key:

* A key with **write access** allows all monitor actions from the MainWP Dashboard.
* A **read-only** key lets you view monitors and uptime statistics only. The Settings tab shows a **Connected — read-only** notice, and the Create New Monitor, Edit, Delete, Start/Pause, and bulk action controls are disabled.
* If Uptime Robot rejects the key entirely, the Settings tab shows **Authentication failed — the API key must be replaced**. Create a new API key in your Uptime Robot account and save it in the Settings tab.

### Uptime ratio refresh

The integration stores uptime ratios for each Uptime Robot monitor and refreshes them in the background:

* The monitor list shows the all-time uptime ratio. If the all-time ratio is not available yet, the last 24-hour ratio displays instead.
* When monitors are missing their 24-hour ratio, opening the Monitors tab starts a synchronization dialog. The dialog refreshes each monitor and reports progress as it goes. If Uptime Robot rate limits the requests, the dialog shows a retry countdown and continues automatically after the wait period.
* A scheduled job named **MainWP AUM UptimeRobot refresh** runs once hourly. Each run refreshes the 24-hour ratio for a small batch of monitors, rotating through all monitors across successive runs, and synchronizes recent incidents from your Uptime Robot account.
* To reload monitor data from Uptime Robot on demand, click the **Reload Uptime Robot data** button on the Monitors tab.

If you run your MainWP Dashboard with WP-Cron disabled, schedule the direct worker file for the hourly refresh as described in [Disable WP-Cron](/customization/disable-wp-cron).

## Connect Other Monitoring Services

The Settings tab also supports:

* **Site24x7** - Select the data center, enter the Client ID and Client Secret, then complete the Administrator, Reports, and Operations authorization steps.
* **NodePing** - Enter the NodePing API Token.
* **Better Uptime** - Enter the Better Uptime API Key.

### API limitations of the free Uptime Robot plan

Uptime Robot has recently reduced the limit to only **10 requests per minute**. Requests include creating new monitors through the MainWP integration and fetching information about existing monitors. Reaching the limit is fairly easy for a large number of sites.

This limit is most often hit when creating monitors for all sites by clicking the **"Create Monitors for All Sites"** button in the UI. You will likely be able to create 2 or 3 monitors **per attempt** and receive an error (red exclamation mark) for other sites because the API limit will be reached.

When Uptime Robot returns a rate-limit response, the integration pauses further requests for the wait period reported by the API and retries automatically. During uptime ratio synchronization, the progress dialog shows a countdown until the next retry.

<Frame>
  <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/BdcomfJgc2_PDXAi/images/add-ons/22a002fdb75f.png?fit=max&auto=format&n=BdcomfJgc2_PDXAi&q=85&s=78a18f2b80551a52c69f82e9d0cea7ac" alt="Screenshot showing API rate limit error when creating monitors for all sites" width="558" height="263" data-path="images/add-ons/22a002fdb75f.png" />
</Frame>

## How to get a Better Uptime API token

To get the Better Uptime API token:

<Steps>
  <Step title="Login to your Better Uptime account" />

  <Step title="Go to the Integrations > APIs page" />

  <Step title="Copy the REST API token">
    <Frame>
      <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/8z9cb-dc2sbcWCJ5/images/add-ons/better-uptime-api-token.jpg?fit=max&auto=format&n=8z9cb-dc2sbcWCJ5&q=85&s=1afd39c64296f3729da3298966a2550d" alt="Better Uptime REST API token" width="1276" height="382" data-path="images/add-ons/better-uptime-api-token.jpg" />
    </Frame>
  </Step>
</Steps>

<Warning>
  **Important Notes:**

  * MainWP Advanced Uptime Monitor Integration does not support Monitor Specific API Keys.
  * If you cannot create your first monitor from the MainWP Advanced Uptime Monitor Integration, try creating the first monitor directly in the Uptime Robot dashboard, then create subsequent monitors from the integration.
  * If you cannot connect your account, try re-creating your Uptime Robot API key and try again.
  * If data is not loading properly from your Uptime Robot account, try resaving the Uptime Robot settings in the Advanced Uptime Monitor Integration.
</Warning>

## Team Control Permissions

If you use the [Team Control Extension](/add-ons/agency/team-control-extension), the Advanced Uptime Monitor respects each role's **Allowed Child Sites** configuration. Users signed in with a restricted role only see monitors that belong to the child sites they are permitted to access; monitors for sites outside their scope are hidden from the Monitors tab and from related views.

Notes on how this works:

* Each monitor is automatically associated with the matching child site based on its URL. Monitors created before this association existed are migrated automatically the first time they are viewed or updated.
* Monitors that cannot be matched to a child site (for example, IP-based or standalone endpoints) remain visible to all users so that they are not accidentally hidden.
* Scheduled uptime checks, WP-CLI commands, and the MainWP REST API are unaffected and continue to process every monitor regardless of the current user's role.

No additional configuration is required. Assign **Allowed Child Sites** to each role in Team Control as described in the [Define Role Permissions](/add-ons/agency/team-control-extension#define-role-permissions) section, and the uptime monitor list will honor those permissions automatically.

***

## Related Resources

* [Monitoring Add-ons](/add-ons/monitoring) - Browse all monitoring tools
* [Domain Monitor](/add-ons/monitoring/mainwp-domain-monitor-extension) - Track domain expiration
* [SSL Monitor](/add-ons/monitoring/mainwp-ssl-monitor-extension) - Monitor SSL certificates
* [Team Control](/add-ons/agency/team-control-extension) - Manage role-based access to monitors
