WP Debug Toolkit (WPDT) sends email alerts when PHP errors occur on your WordPress site. The Site Monitor module catches errors at the PHP level and notifies you before users report problems — or before you notice them yourself.
WPDT installs a must-use plugin (wpdebugtoolkit-notifications.php) to wp-content/mu-plugins/. This MU-plugin registers a custom PHP error handler that intercepts errors and sends email notifications based on your configured rules.
MU-plugins load before regular plugins in the WordPress boot sequence. This means the error handler is active early enough to catch errors from any plugin, theme, or WordPress core itself. If a plugin crashes during initialization, the MU-plugin is already running and captures the error.
Two mechanisms prevent email floods during error storms:
Per-error cooldown — When a specific error triggers a notification, the same error (identified by its message and file location) is suppressed until the cooldown period expires. You configure this cooldown from 15 minutes to 24 hours. If a plugin generates the same deprecation notice on every page load, you receive one email and then silence until the cooldown resets.
Max emails per hour — A hard cap on the total number of notification emails sent per hour, regardless of how many distinct errors occur. Configurable from 5 to 100 per hour. This protects your inbox and your mail server during cascading failures where dozens of different errors fire simultaneously.
Standard PHP error handlers cannot catch fatal errors (memory exhaustion, maximum execution time, parse errors). WordPress 5.2 introduced its own fatal error handler that runs during shutdown. WPDT installs a custom fatal-error-handler.php drop-in that extends the default WordPress handler. After WordPress processes the fatal error (including recovery mode), the drop-in delegates to the MU-plugin to send a notification. This ensures you receive alerts for errors that bypass normal error handling.
wp-content/mu-plugins/The Site Monitor module monitors PHP errors that go through WordPress’s error handling. It does not monitor:
For server-level monitoring, use your hosting provider’s log access or a server monitoring service.