> ## 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.

# Domain Monitor

> MainWP Domain Monitor Extension lets you keep a watchful eye on your domains. It alerts you via email when monitored domains are nearing expiration.

## What You'll Learn

* Checking domain expiration dates across all sites
* Reading expiration status in the dashboard and Overview widgets
* Entering domain info manually for unsupported TLDs
* Scheduling automated domain checks
* Overriding general settings for individual sites
* Using Pro Reports tokens for domain data

***

<div id="addon-data" style={{display: 'none'}} data-title="Domain Monitor" data-purchase-url="https://mainwp.com/extension/domain-monitor/" data-pricing-tier="pro" data-bundle="MainWP Pro" data-addon-type="integration" data-version="5.4" data-developer="MainWP" data-changelog-url="https://mainwp.com/changelog/mainwp-domain-monitor-extension/" data-owned-by="Jestart LLC" data-privacy-url="https://mainwp.com/mainwp-plugin-privacy-policy/" />

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

## Supported TLDs

<Info>
  **Integration Add-on** - This add-on connects MainWP Dashboard to domain registry data through RDAP and WHOIS. No third-party WordPress plugin is required.
</Info>

**Domain lookup may fail or return incomplete data for some TLDs due to restrictions or a lack of available information from RDAP or WHOIS services.**

### TLD lookup support

Domain Monitor attempts lookups through RDAP first. If RDAP does not return usable domain data, the add-on falls back to its built-in WHOIS server map for TLDs with a configured WHOIS server.

For current TLD lookup references, use these maintained external sources:

* [IANA RDAP DNS bootstrap data](https://data.iana.org/rdap/dns.json) - Current RDAP service coverage by TLD.
* [IANA Root Zone Database](https://www.iana.org/domains/root/db) - Current TLD registry records, including WHOIS server details where available.

If the add-on cannot retrieve your domain information automatically, you can enter it manually as described [**below**](#enter-domain-info-manually).

## Install and Set Domain Monitor Extension

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

  <Step title="Go to Add-ons > Manage Add-ons" />

  <Step title="Click the Install Add-ons button">
    <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/BdcomfJgc2_PDXAi/images/add-ons/2833252556cc.png?fit=max&auto=format&n=BdcomfJgc2_PDXAi&q=85&s=0bf355295a40de5e077f0f894bb09001" alt="Click the Install Add-ons button" width="322" height="501" data-path="images/add-ons/2833252556cc.png" />
  </Step>

  <Step title="Locate the Domain Monitor Extension and select it" />

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

  <Step title="Once the installation process is complete, click the Activate Add-ons button">
    Once the installation process is complete, click the **Activate Add-ons** button <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/84pxMSpVYjnopf4I/images/add-ons/578da5c7dc89.png?fit=max&auto=format&n=84pxMSpVYjnopf4I&q=85&s=53bb31eb1ab62fc9e9038287a0d45ef4" alt="Screenshot showing Activate Add-ons button after installation" width="320" height="481" data-path="images/add-ons/578da5c7dc89.png" />
  </Step>

  <Step title="After successful installation, proceed to the add-on settings" />

  <Step title="Set your preferences, Save Settings, and you are ready to audit your sites." />
</Steps>

## Check Domains

<Steps>
  <Step title="Go to Add-ons > Monitoring > Domain Monitor > Dashboard" />

  <Step title="Locate the Check All Sites Domains button">
    <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/BdcomfJgc2_PDXAi/images/add-ons/4bff4539063a.png?fit=max&auto=format&n=BdcomfJgc2_PDXAi&q=85&s=daf4231bb27ba8c7b39f12293c813cd7" alt="Locate the Check All Sites Domains button" width="1895" height="378" data-path="images/add-ons/4bff4539063a.png" />
  </Step>

  <Step title="Click it, and wait until the add-on completes the process." />
</Steps>

Alternatively, you can use the **Bulk actions** menu to check selected sites, or use the **Check Domain** action from the site **Actions** menu to audit just one site.

### Unscanned Sites

Sites that have not been checked yet are highlighted in the Domain Monitor dashboard so you can spot them at a glance:

* The row is shaded yellow.
* The **Expires** column shows a **Not checked** button instead of remaining days. Click it to run a check for that site.
* Domain fields with no data display **N/A**.
* The **Domain Info** action is disabled until the first successful check completes.

Once a check completes, the row returns to its normal style and the remaining-days indicator (green, yellow, or red hourglass) appears based on how close the domain is to expiration.

### Expiration Status

Domain Monitor uses hourglass icons and short status messages to show how close each domain is to expiration:

* **Green hourglass** - The domain expires in 30 or more days.
* **Yellow hourglass** - The domain expires in fewer than 30 days.
* **Red hourglass** - The domain expires today or has already expired.
* **Grey hourglass** - No expiration data is available for the domain.

The Overview widgets pair the icons with a relative status message: **Expires in X days**, **Expires today**, **Expired today**, or **Expired X days ago**. Domains without expiration data show **Expiration information unavailable**.

## Overview Widgets

Domain Monitor adds widgets to your MainWP Dashboard Overview pages:

* The main **Overview** page widget lists all monitored domains with their expiration dates and status icons.
* The individual site **Overview** page widget shows the site's domain, its expiration status, and the saved domain profile. If no domain data is saved yet, the widget prompts you to recheck the domain or add the data manually.

## Enter Domain Info Manually

If your domain is not on the list of supported TLDs, you can add information manually by following the steps below. <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/AQiQ2lG58dDj92_l/images/add-ons/domain-monitor-widget.png?fit=max&auto=format&n=AQiQ2lG58dDj92_l&q=85&s=ba1a38b369e01d66d6b550cf6f592e0b" alt="Screenshot showing Manual Domain information entry toggle in settings" width="1920" height="1080" data-path="images/add-ons/domain-monitor-widget.png" />

<Steps>
  <Step title="Go to Add-ons > Monitoring > Domain Monitor > Dashboard" />

  <Step title="Choose Domain Info from the site's Actions menu" />

  <Step title="Open the Settings tab" />

  <Step title="Toggle on the Manual Domain information entry option and click Save Settings">
    Toggle on the **Manual Domain information entry** option and click **Save Settings**
  </Step>

  <Step title="Open the Edit Domain Info tab" />

  <Step title="Enter or change the desired information, and click Save Settings" />
</Steps>

## See Domain Info

<Steps>
  <Step title="Go to Add-ons > Monitoring > Domain Monitor > Dashboard" />

  <Step title="Locate the site or domain and choose Domain Info from the Actions menu">
    Locate the site/domain you want to check in the list and use the **Domain Info** action from the **Actions** menu.

    <img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/AQiQ2lG58dDj92_l/images/add-ons/domain-monitor-overview.png?fit=max&auto=format&n=AQiQ2lG58dDj92_l&q=85&s=ec96d75803a3965a7570bda13f1c5b18" alt="Screenshot of Domain Info action in site Actions menu" width="1920" height="1080" data-path="images/add-ons/domain-monitor-overview.png" />
  </Step>

  <Step title="Once redirected to the report page, you can review all details" />
</Steps>

## Schedule Automated Checks

<Steps>
  <Step title="Go to Add-ons > Monitoring > Domain Monitor > Settings" />

  <Step title="Locate the Automatically check domains option and enable it" />

  <Step title="Locate the Automated domain checks frequency option and set how often you want checks to run">
    Choose **Once a Day**, **Once a Week**, **Twice a Month**, or **Once Monthly**.
  </Step>

  <Step title="Click Save Settings" />
</Steps>

## Domain Monitor Settings

<img src="https://mintcdn.com/mainwp-mintlify-b537ecc3/AQiQ2lG58dDj92_l/images/add-ons/domain-monitor-settings.png?fit=max&auto=format&n=AQiQ2lG58dDj92_l&q=85&s=df947fc4b471f40275a6cdb0804eb907" alt="Screenshot of Domain Monitor settings showing notification threshold and automated check options" width="1916" height="941" data-path="images/add-ons/domain-monitor-settings.png" />

* **Notifications threshold** - Set the threshold for notifications. If the domain expiration is less in the set number of days, an email will be sent.
* **Automatically check domains** - If you want the add-on to automatically run checks, enable this feature.
* **Automated domain checks frequency** - If automated checks are enabled, here you can set how often you want them to run.

Expiration notifications require a successful latest check and a valid expiration date. If the latest automatic lookup fails, Domain Monitor does not send an expiration alert based on previously saved data. Eligible failed lookups are normally retried after one hour, subject to the Dashboard's background job processing.

### Individual Site Settings

You can override the general settings for a specific child site:

<Steps>
  <Step title="Go to Add-ons > Monitoring > Domain Monitor > Dashboard" />

  <Step title="Choose Domain Info from the site's Actions menu" />

  <Step title="Open the Settings tab" />

  <Step title="Enable the Overwrite general settings option">
    Once enabled, the **Notifications threshold**, **Automatically check domains**, and **Automated domain checks frequency** options appear for this site only.
  </Step>

  <Step title="Set your preferences and click Save Settings" />
</Steps>

The same tab also contains the **Manual domain information entry** toggle described [**above**](#enter-domain-info-manually).

## Check Sites via WP CLI

Check one or more sites:

```bash theme={null}
wp mainwp-domain-monitor check 129
wp mainwp-domain-monitor check 129,130
```

Check all sites:

```bash theme={null}
wp mainwp-domain-monitor check --all
```

View saved domain profiles for one or more sites:

```bash theme={null}
wp mainwp-domain-monitor results 129
wp mainwp-domain-monitor results 129,130
wp mainwp-domain-monitor results --all
```

## Domain Monitor REST API

MainWP REST API calls, including Domain Monitor endpoints, full documentation, and examples, are available in the [MainWP Postman workspace](https://www.postman.com/mainwp/workspace/mainwp/overview). Refer to our [REST API documentation](/api-reference/rest-api/overview) for more details on enabling REST API and managing API keys.

## Available Reports Tokens

* `[domain.monitor.domain.name]` - Displays the domain name.
* `[domain.monitor.registrar]` - Displays the domain registrar.
* `[domain.monitor.updated.date]` - Displays the domain updated date.
* `[domain.monitor.creation.date]` - Displays the domain creation date.
* `[domain.monitor.expiry.date]` - Displays the domain expiry date.
* `[domain.monitor.expires]` - Displays the number of days left before the domain expires.
* `[domain.monitor.status]` - Displays the domain status.
* `[domain.monitor.last.check]` - Displays the last check timestamp.

***

## Related Resources

* [Monitoring Add-ons](/add-ons/monitoring) - Browse all monitoring tools
* [SSL Monitor](/add-ons/monitoring/mainwp-ssl-monitor-extension) - Monitor SSL certificates
* [Pro Reports Extension](/add-ons/agency/pro-reports-extension-overview) - Include domain data in reports
