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
- Go to Settings > DDoS Monitor in your WordPress admin dashboard.
- Enter the URLs of the websites you want to monitor, separated by commas.
- Save your settings and let the plugin do the rest.
- 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_getfor reliable HTTP requests. - Automatic protocol handling (no need to specify
http://orhttps://). - Proper activation and deactivation hooks — cron is scheduled on activation and cleaned up on deactivation.
Notes
- The plugin relies on
wp_remote_getfor site checks. Ensure your server allows outgoing HTTP requests. - URLs do not require
http://orhttps://prefixes; the plugin adds them automatically. - Monitoring runs via WP-Cron and does not require you to have the admin page open.
Screenshots




Installation
- Download the plugin from WordPress.org.
- Upload the
simple-ddos-monitorfolder to the/wp-content/plugins/directory. - Activate the plugin through the Plugins menu in WordPress.
- 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_getto 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.
ContributorsTranslate “Simple DDoS Monitor” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by 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_hookfor proper cron lifecycle management. - Fixed: Global badge text no longer shows
undefined— localized labels (label_all_ok,label_issues,label_pending) now passed viawp_localize_script. - Fixed: Duplicate
wp_ajax_ddos_monitor_toggle_emailhook 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 toupdated to WordPress 6.9. - Fixed: Added version parameter to
wp_enqueue_styleandwp_enqueue_scriptto prevent browser caching issues. - Fixed:
$checkedattribute in email checkbox now correctly escaped viaesc_attr(). - Fixed:
$_POST['email']now unslashed withwp_unslash()before sanitization. - Fixed: Removed all
error_log()calls from production code. - Fixed: Removed
wp_ajax_noprivregistration forddos_monitor_toggle_email. - Fixed: Removed
wp_ajax_noprivregistration forddos_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_errorused consistently for AJAX responses.
1.0.1
- Fixed issues for WordPress.org plugin review compliance.
1.0
- Initial release of Simple DDoS Monitor.
