Title: Simple DDoS Monitor
Author: Thomas Lloancy
Published: <strong>May 5, 2025</strong>
Last modified: May 26, 2026

---

Search plugins

![](https://ps.w.org/simple-ddos-monitor/assets/banner-772x250.png?rev=3288105)

![](https://s.w.org/plugins/geopattern-icon/simple-ddos-monitor_9dabb3.svg)

# Simple DDoS Monitor

 By [Thomas Lloancy](https://profiles.wordpress.org/tlloancy/)

[Download](https://downloads.wordpress.org/plugin/simple-ddos-monitor.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/simple-ddos-monitor/#description)
 * [Reviews](https://wordpress.org/plugins/simple-ddos-monitor/#reviews)
 *  [Installation](https://wordpress.org/plugins/simple-ddos-monitor/#installation)
 * [Development](https://wordpress.org/plugins/simple-ddos-monitor/#developers)

 [Support](https://wordpress.org/support/plugin/simple-ddos-monitor/)

## Description

**Simple DDoS Monitor** is your go-to solution for keeping an eye on your websites.
This lightweight plugin checks for database errors or server downtimes, providing
visual status indicators and email alerts when issues arise. Designed for simplicity
and efficiency, it’s perfect for WordPress administrators who need reliable monitoring
without complexity.

 * **Automatic Monitoring**: Checks your sites every minute via WP-Cron.
 * **Visual Dashboard**: Colour-coded rows with a global health badge and response-
   time chips.
 * **Check Now**: Instantly trigger a manual check from the dashboard without waiting
   for cron.
 * **Response Times**: See how fast each monitored URL responds, colour-coded fast/
   medium / slow.
 * **Last-Checked Timestamps**: Each row shows how long ago the last check ran (“
   just now”, “2 min ago”…).
 * **Recovery Alerts**: Get notified by email when a site comes _back_ online, not
   only when it goes down.
 * **Animated Feedback**: Status changes trigger a visual flash so you catch them
   at a glance.
 * **Clean Uninstall**: All options and transients are removed when the plugin is
   deleted.
 * **Lightweight Design**: Minimal server impact for maximum efficiency.

### Usage

 1. Go to **Settings > DDoS Monitor** in your WordPress admin dashboard.
 2. Enter the URLs of the websites you want to monitor, separated by commas.
 3. Save your settings and let the plugin do the rest.
 4. Use the **Check Now** button for an on-demand check at any time.

### Features

 * Automatic site checks every minute via WP-Cron (runs in the background — no admin
   page required).
 * Manual **Check Now** button triggers an immediate synchronous check and returns
   fresh results.
 * Visual dashboard with per-site status rows and a global health badge.
 * Per-row response-time chip (green < 500 ms / amber < 2 s / red ≥ 2 s).
 * Per-row “last checked” relative timestamp, refreshed live in the browser.
 * Flash animation when a row’s status changes so you never miss an update.
 * Email alerts when a site’s status changes from OK to an error state.
 * Email alerts when a site **recovers** and returns to OK.
 * Uses `wp_remote_get` for reliable HTTP requests.
 * Automatic protocol handling (no need to specify `http://` or `https://`).
 * Proper activation and deactivation hooks — cron is scheduled on activation and
   cleaned up on deactivation.

### Notes

 * The plugin relies on `wp_remote_get` for site checks. Ensure your server allows
   outgoing HTTP requests.
 * URLs do not require `http://` or `https://` prefixes; the plugin adds them automatically.
 * Monitoring runs via WP-Cron and does not require you to have the admin page open.

## Screenshots

[⌊Monitoring Dashboard: View the status of all monitored websites at a glance, with
response times and last-checked timestamps.⌉⌊Monitoring Dashboard: View the status
of all monitored websites at a glance, with response times and last-checked timestamps
.⌉[

**Monitoring Dashboard**: View the status of all monitored websites at a glance,
with response times and last-checked timestamps.

[⌊Status Indicators: Colour-coded rows with green/red/pending badges, response-time
chips, and animated flash on change.⌉⌊Status Indicators: Colour-coded rows with 
green/red/pending badges, response-time chips, and animated flash on change.⌉[

**Status Indicators**: Colour-coded rows with green/red/pending badges, response-
time chips, and animated flash on change.

[⌊Check Now: The manual check button triggers an immediate synchronous check.⌉⌊Check
Now: The manual check button triggers an immediate synchronous check.⌉[

**Check Now**: The manual check button triggers an immediate synchronous check.

[⌊Configuration Page: Easily add or edit URLs to monitor.⌉⌊Configuration Page: Easily
add or edit URLs to monitor.⌉[

**Configuration Page**: Easily add or edit URLs to monitor.

## Installation

 1. **Download** the plugin from WordPress.org.
 2. **Upload** the `simple-ddos-monitor` folder to the `/wp-content/plugins/` directory.
 3. **Activate** the plugin through the **Plugins** menu in WordPress.
 4. **Configure** by navigating to **Settings > DDoS Monitor** in your WordPress dashboard.

## FAQ

### How do I add websites to monitor?

Navigate to **Settings > DDoS Monitor** in your WordPress dashboard and enter the
URLs, separated by commas.

### Does the plugin run in the background?

Yes. Monitoring is handled entirely by WP-Cron and runs even when no admin is viewing
the plugin page. Use **Check Now** for an immediate on-demand check.

### What does the response time colour mean?

Green (< 500 ms) means the server is fast. Amber (500 ms – 2 s) is moderate. Red(
≥ 2 s) may indicate a slow or overloaded server.

### Will I get an email when a site recovers?

Yes. Since 1.1.0 the plugin sends a recovery alert whenever a monitored site returns
to an OK state after being in an error state.

### What happens if my server blocks outgoing HTTP requests?

The plugin uses `wp_remote_get` to check sites. If your server blocks outgoing HTTP
requests, monitoring will not work. Contact your hosting provider to enable this.

### Do I need to include `http://` or `https://` in the URLs?

No, the plugin automatically adds the appropriate protocol.

### What is removed when I delete the plugin?

All options (`ddos_monitor_urls`, `ddos_monitor_enable_email`, `ddos_monitor_email`)
and all status transients are deleted on uninstall.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Simple DDoS Monitor” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Thomas Lloancy ](https://profiles.wordpress.org/tlloancy/)

[Translate “Simple DDoS Monitor” into your language.](https://translate.wordpress.org/projects/wp-plugins/simple-ddos-monitor)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/simple-ddos-monitor/),
check out the [SVN repository](https://plugins.svn.wordpress.org/simple-ddos-monitor/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/simple-ddos-monitor/)
by [RSS](https://plugins.trac.wordpress.org/log/simple-ddos-monitor/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * New: Tested and compatible with WordPress 7.0.
 * New: **Check Now** button — trigger an immediate manual check from the dashboard.
 * New: Response-time chip per URL (colour-coded: fast / medium / slow).
 * New: “Last checked” relative timestamp per URL, refreshed live every 30 seconds.
 * New: Flash animation on rows when their status changes.
 * New: Pulsing dot animation during loading and manual checks.
 * New: Recovery email alerts — admins are now notified when a site comes back online.
 * New: `uninstall.php` — all options and transients removed on plugin deletion.
 * New: `register_activation_hook` / `register_deactivation_hook` for proper cron
   lifecycle management.
 * Fixed: Global badge text no longer shows `undefined` — localized labels (`label_all_ok`,`
   label_issues`, `label_pending`) now passed via `wp_localize_script`.
 * Fixed: Duplicate `wp_ajax_ddos_monitor_toggle_email` hook registration removed
   from main plugin file.
 * Improved: Status transients now store structured data (status, response_time,
   checked_at) with backward-compatible fallback for 1.0.x string format.
 * Improved: Dashboard UI polished — status bar split into left group and Check 
   Now button, card shadow, smoother transitions.

#### 1.0.2

 * Fixed: `Tested up to` updated to WordPress 6.9.
 * Fixed: Added version parameter to `wp_enqueue_style` and `wp_enqueue_script` 
   to prevent browser caching issues.
 * Fixed: `$checked` attribute in email checkbox now correctly escaped via `esc_attr()`.
 * Fixed: `$_POST['email']` now unslashed with `wp_unslash()` before sanitization.
 * Fixed: Removed all `error_log()` calls from production code.
 * Fixed: Removed `wp_ajax_nopriv` registration for `ddos_monitor_toggle_email`.
 * Fixed: Removed `wp_ajax_nopriv` registration for `ddos_monitor_get_statuses`.
 * Fixed: Status transient TTL increased from 60 s to 5 minutes to survive brief
   cron delays.
 * Fixed: Duplicate status refresh (double `setInterval`) eliminated in JavaScript.
 * Improved: Admin dashboard redesigned with colour-coded site rows and a global
   health badge.
 * Improved: Scripts and styles only enqueued on the plugin’s own admin page.
 * Improved: `wp_send_json_success` / `wp_send_json_error` used consistently for
   AJAX responses.

#### 1.0.1

 * Fixed issues for WordPress.org plugin review compliance.

#### 1.0

 * Initial release of Simple DDoS Monitor.

## Meta

 *  Version **1.1.0**
 *  Last updated **4 weeks ago**
 *  Active installations **10+**
 *  WordPress version ** 4.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.0 or higher **
 *  [Advanced View](https://wordpress.org/plugins/simple-ddos-monitor/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/simple-ddos-monitor/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/simple-ddos-monitor/reviews/)

## Contributors

 *   [ Thomas Lloancy ](https://profiles.wordpress.org/tlloancy/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/simple-ddos-monitor/)