What WordPress recovery mode does
WordPress 5.2 shipped recovery mode. When a plugin or theme causes a fatal error, WordPress catches it, sends the site admin an email with a link to enter recovery mode, and pauses the offending extension. Users on the front end see the site as normal while the admin gets a degraded dashboard with the broken plugin disabled.
Recovery mode is a safety net. It stops a single bad plugin update from taking down your entire site. The catch: it only works if someone reads the email and acts on it. If that email goes to an inbox nobody checks, your site sits in recovery mode with a broken plugin and nobody knows.
How SitePulse plugs into recovery mode
SitePulse monitors PHP errors in real time. When it detects a fatal error , type E_ERROR, the kind that triggers recovery mode, it logs the full stack trace, the file path, the line number, and the plugin responsible. You get this in the SitePulse dashboard, not buried in your debug log.
Here’s the difference: WordPress sends one recovery mode email to the admin account. SitePulse sends an alert to every email address you configure. It includes the error details WordPress skips. The exact plugin version, the PHP version, the hook that fired, and whether the site is now in recovery mode. You know what broke, which version broke it, and what to roll back to.
For agencies managing 10+ sites, this is the difference between catching a fatal error at 2 AM and finding out about it when a client calls at 9 AM.
Setting up recovery mode alerts in SitePulse
The setup takes 3 minutes. Here’s how:
1. Install and activate SitePulse. The free tier handles PHP error monitoring out of the box. No premium upgrade needed for this feature.
2. Go to the SitePulse dashboard in your WordPress admin. Click on the Email Alerts tab. You will see a list of all alert types SitePulse can send: PHP fatal errors, load threshold breaches, PageSpeed score drops, and database query spikes.
3. Enable the PHP Fatal Error alert. Toggle it on. A field appears for email addresses. Add the emails that should receive these alerts: yours, your team’s, your client’s. One per line. Multiple addresses are fine.
4. Test the alert. Click the Send Test Alert button next to the PHP Fatal Error row. SitePulse sends a test email to every address you listed. If it does not arrive in 60 seconds, check your spam folder and add the sender address to your allowlist.
5. Configure LoadSentinel as a backup. Recovery mode alerts tell you something broke. LoadSentinel can act on it automatically. Set a rule: if a PHP fatal error fires and the site enters recovery mode, LoadSentinel can auto-disable the offending plugin. This keeps your site running while you investigate.
What the alert email includes
Every SitePulse recovery mode alert contains:
- The error type (E_ERROR, E_PARSE, E_CORE_ERROR)
- The exact error message
- The plugin or theme that caused it, with version number
- The file path and line number where the error occurred
- The PHP version running on your server
- A timestamp in your site’s timezone
- A direct link to the full error trace in the SitePulse dashboard
Compare that to WordPress’s built-in recovery mode email, which says “your site is experiencing a technical issue” with a one-click recovery link and no technical details. SitePulse’s version tells you what to fix. WordPress’s version tells you something is broken.
When to act vs. when to ignore
Not every recovery mode alert is a five-alarm fire. Here’s a quick guide:
Act immediately when: the error is repeatable: if it fires on every page load or every admin screen. Check if the plugin has a recent update. Roll back one version if it does. If the error is in a custom theme or a client’s custom code, forward the alert to the developer with the stack trace attached.
Monitor but don’t panic when: the error fires once and the site exits recovery mode on its own. This happens with intermittent plugin conflicts: two plugins both hooking into the same action and one winning a race condition. The site is stable. The alert still matters because it tells you which two plugins are fighting.
Ignore when: the error is on a staging site you are actively developing. You broke it, you fix it. But keep the alert on. A fatal error on staging you didn’t cause (plugin auto-update, host PHP upgrade) is still worth knowing about.
Troubleshooting: alerts not arriving
If recovery mode alerts don’t arrive, check these three things first:
1. Email deliverability on your WordPress host. SitePulse uses WordPress’s built-in wp_mail() function. If your host blocks outgoing email on port 25, no plugin-based alert will work. Install an SMTP plugin (Post SMTP, WP Mail SMTP) and route through a transactional email service like Mailgun or SendGrid. This fixes deliverability for all WordPress emails, not just SitePulse alerts.
2. Spam filtering at the recipient’s inbox. The test email sender is your site’s admin email address. If that domain has no SPF or DKIM records, Gmail and Outlook will bounce it or mark it as spam. Add SPF and DKIM records for your domain. Takes 10 minutes, fixes deliverability permanently.
3. SitePulse is not detecting the error. Go to the SitePulse dashboard and check the PHP Errors tab. If the timestamp is empty or the last error is from hours ago while you know a fatal error just happened, click Refresh Data. SitePulse polls every 60 seconds by default. If the error fired and resolved within that window, it may have been missed. Reduce the polling interval to 15 seconds in the SitePulse settings for high-traffic sites.
Pairing recovery mode alerts with PageSpeed monitoring
A plugin update that causes a fatal error is obvious. A plugin update that drops your PageSpeed score from 92 to 64 is not. SitePulse’s recovery mode alerts catch the crashes. The PageSpeed Score Guard catches the silent regressions.
Set both. Each catches what the other misses. Recovery mode alerts fire on hard failures: E_ERROR, E_PARSE, E_CORE_ERROR. Score Guard fires on performance drops: a 10-point PageSpeed decline in 24 hours. One tells you the site is broken. The other tells you the site is getting worse.
SitePulse’s free tier includes both. That’s PHP error monitoring and PageSpeed monitoring on up to 6 sites. No charge.