BD Uptime Monitor

Getting Started with BD Uptime Monitor

Updated March 9, 2026 4 min read

What Is BD Uptime Monitor?

BD Uptime Monitor is a self-monitoring uptime plugin for WordPress. It pings your own site on a configurable schedule, logs response times, tracks downtime incidents, and sends email alerts when your site goes down or recovers. All monitoring data stays on your server — no third-party service required.

Key Features

  • Self-ping monitoring — the plugin pings a dedicated REST health endpoint (/wp-json/bdum/v1/health) on your site to check availability
  • Configurable check intervals — choose from 1 minute to 1 hour between checks
  • Email alerts — receive notifications when your site goes down and when it recovers
  • Response time charts — visualize your site performance over 24 hours, 7 days, or 30 days
  • Incident log — full history of downtime events with duration tracking
  • Uptime percentage — see your uptime stats for 24h, 7d, and 30d periods
  • Automatic data cleanup — old ping data and resolved incidents are purged after 90 days

Installation

  1. Download the BD Uptime Monitor plugin ZIP file from getbdshield.com/shop.
  2. In your WordPress admin, go to Plugins → Add New → Upload Plugin.
  3. Select the ZIP file and click Install Now.
  4. Click Activate Plugin. You will be automatically redirected to the BD Uptime Monitor dashboard.

On activation, the plugin creates two database tables (bdum_pings and bdum_incidents), saves default settings, and schedules the first uptime check to run 60 seconds later.

System Requirements

  • WordPress 5.6 or later
  • PHP 7.4 or later
  • A valid BD Uptime Monitor license key (required to enable monitoring)

Activating Your License

Uptime monitoring is disabled until you activate a license key. Without a license, the plugin dashboard is accessible but no checks are performed.

  1. Navigate to BD Uptime → License tab in the WordPress admin sidebar.
  2. Enter your license key in the text field and click Activate.
  3. Once activated, you will see your license tier (Starter, Professional, or Agency), expiration date, and site activation count.

License tiers determine how many sites you can activate:

TierSitesMin Check IntervalPriority Support
Starter15 minutesNo
Professional31 minuteYes
AgencyUnlimited1 minuteYes

How Self-Ping Monitoring Works

Unlike external monitoring services, BD Uptime Monitor uses WordPress cron to schedule checks from within your own site. Here is how a single check cycle works:

  1. Cron fires — WordPress triggers the bdum_check_site event at the scheduled time.
  2. License check — the plugin verifies that monitoring is enabled and the license is active. If either condition fails, it reschedules the next check and exits.
  3. Ping — the plugin sends an HTTP GET request to /wp-json/bdum/v1/health on your site. This endpoint returns a simple JSON response ({"status":"ok","time":...}) with a 200 status code. The request includes a Cache-Control: no-cache header to bypass caching.
  4. Log result — the response status (up or down), response time in milliseconds, HTTP status code, and any error message are saved to the bdum_pings table.
  5. Process result — if the site is down, a consecutive failure counter is incremented. If the counter reaches the configured failure threshold and no incident is already open, a new downtime incident is created and an alert email is sent. If the site is up and there was an open incident, the incident is closed and (optionally) a recovery email is sent.
  6. Reschedule — the plugin clears the current cron hook and schedules a new single event based on your configured check interval. This self-rescheduling approach ensures each check completes before the next one is queued.

Understanding the Health Endpoint

The plugin registers a public REST API endpoint at GET /wp-json/bdum/v1/health. This endpoint does not require authentication and simply returns:

{"status": "ok", "time": 1710000000}

By pinging a dedicated lightweight endpoint rather than the homepage, the plugin avoids page-level caching and gets an accurate picture of whether WordPress is actually responding.

Dashboard Overview

The BD Uptime Monitor admin page is found under BD Uptime in the WordPress admin sidebar. It has three tabs:

Dashboard Tab

The Dashboard tab is the default view and shows your monitoring status at a glance:

  • Status Banner — a large banner at the top showing whether your site is currently UP (green), DOWN (red), or WAITING (cyan, no data yet). Also displays the current response time in milliseconds, time until the next scheduled check, and a Check Now button to trigger an immediate ping.
  • Stats Cards — four cards showing:
    • Uptime percentage over the last 24 hours
    • Uptime percentage over the last 7 days
    • Average response time (in ms) over the last 24 hours
    • Number of downtime incidents in the last 30 days
  • Response Time Chart — an interactive line chart (powered by Chart.js) showing average response times over time. Use the period toggle buttons (24h, 7d, 30d) to change the time range. The chart groups data by hour for 24h and by day for 7d and 30d views.
  • Recent Incidents — a table listing up to 20 recent incidents. Each row shows the incident type (Down or Recovery), start time, end time (or “Ongoing” if still open), duration, and details. A Clear History button lets you wipe all ping records.

Settings Tab

The Settings tab contains all monitoring configuration options. These are covered in detail in the next article.

License Tab

The License tab lets you activate, view, or deactivate your license key, and shows a plan comparison table.

Monitoring Status Indicator

In the top-right corner of the plugin header, you will see a status pill that reads either Monitoring Active (with a pulsing green dot) or Monitoring Paused. This reflects the current state of the monitoring_enabled setting.

If no license is active, a warning banner appears below the tabs with links to activate your license or purchase one from getbdshield.com/shop.