CrashAlert

Description

Know about a crash before your clients do.

When a plugin or theme throws a fatal error, WordPress emails the site owner —
hours later, easily lost in spam, and always in cryptic PHP jargon. CrashAlert
makes the same information instant, readable and actionable:

  • Instant alerts to Telegram, email and a custom webhook.
  • Culprit attribution — the alert names the plugin, mu-plugin or theme
    that owns the failing file (with its version).
  • Plain-language explanations — “Call to undefined function” becomes
    “Plugin versions diverged — roll back the last update”, in English or Russian.
  • Recovery notice — a green message when the site starts responding again.
  • Correlation with updates — “what changed in the 24 h before the crash?”
    is answered right in the event card.
  • Rate-limited — a flood of identical errors produces one alert with a
    repeat counter, not a hundred messages.
  • Failure history with a filterable timeline, kept for your chosen
    retention period (default 60 days) and fully removed on uninstall.
  • Privacy-friendly by design — alerts go ONLY to the channels you
    configure yourself (your own Telegram bot, your site’s email, your own
    webhook endpoint). Nothing is ever sent to the developer. No IPs stored,
    stack traces sanitized (relative paths, no call arguments). See the
    “External Services” section below.

CrashAlert never limits your site: the monitor itself is guarded so it can
never be the cause of a white screen, and healthy requests pay a microsecond
overhead.

Looking for more? The optional CrashAlert Pro companion adds a PHP
deprecation radar (warnings that will become fatals in future PHP versions),
unlimited alert channels and a weekly health report: https://yodsira.com/en/product/crashalert/

Why not just rely on the WordPress core email?

Core recovery emails go to the site owner’s address, are easy to miss, contain
a raw stack trace, say nothing about repeats, and never tell you the site is
back. CrashAlert covers exactly those gaps — and delivers to Telegram, where
site owners actually live.

External Services

CrashAlert sends notifications ONLY to services you configure in its own
settings. It never contacts yodsira.com servers and includes no telemetry.

— Telegram notifications —
* What the service is: Telegram Bot API (api.telegram.org), used to deliver
instant crash alerts to your own bot and chat.
* What data is sent and when: your site hostname, the time of the crash, the
error message (truncated to 200 characters), the file path, the plugin or
theme name and version identified as the culprit, the affected page URL and
a repeat counter — sent only when a fatal error is caught, or when you
press “Send test to Telegram” in the settings.
* Opt-in: the feature is fully disabled until you enter your own bot token
and chat id; you can clear them at any time to switch it off.
* Terms: https://telegram.org/tos
* Privacy: https://telegram.org/privacy

— Email notifications —
* What the service is: your own site’s email system (wp_mail), used to send
the same alert to the address you choose (site admin by default).
* What data is sent and when: the same alert content as above, only when an
alert fires. Delivery depends on the mail configuration of YOUR site.

— Custom webhook —
* What the service is: any HTTP endpoint you paste into the plugin settings
(for example, your own Slack/Discord relay or log collector).
* What data is sent and when: a JSON payload with the same alert content,
only when an alert fires or when you press the webhook test button.
* The endpoint is yours; the plugin does not provide, host or proxy this
service.

Installation

  1. Upload the plugin folder to /wp-content/plugins/, or install the zip via
    Plugins Add New Upload Plugin.
  2. Activate the plugin.
  3. Open CrashAlert Settings, paste your Telegram bot token and chat id,
    press “Send test” — done. Email alerts to the admin address are on by
    default.

There is no easier setup. Alerts are delivered through the channels you
configure: your own Telegram bot (api.telegram.org), your site’s own email
(wp_mail) and, optionally, your own webhook endpoint. The plugin never sends
anything to the developer’s servers.

FAQ

Will it slow my site down?

Healthy requests do not touch the database at all — the monitor checks the
last PHP error in the shutdown phase and exits. Fatal handling is capped
(sanitized stack, queue) and alerts are sent by cron, not during the request.

WordPress already emails me about fatals. Why this plugin?

Speed (Telegram beats email), attribution (named plugin and version), human
explanations, repeat counting, recovery notices and a searchable history.
Core emails stop at “something died, here is a stack”.

Will I get spammed if a loop throws 500 fatals a minute?

No. Identical errors share one signature; one alert goes out per signature
per rate window (default 10 minutes) and repeats are counted (“×500”).

Does it send my data anywhere?

Only to the delivery channels YOU configure in the plugin settings: your own
Telegram bot (requests go from your server to api.telegram.org), your site’s
own email (wp_mail) and, if you enable it, your own webhook URL. The developer
receives nothing. See “External Services” below for the exact data sent. No
IPs are stored, stack traces are sanitized, and uninstall removes everything.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“CrashAlert” is open source software. The following people have contributed to this plugin.

Contributors

Translate “CrashAlert” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.5

  • Review feedback: the admin menu no longer competes with core items
    (position moved to the bottom of the menu).
  • All translation strings now use the plugin text domain “crashalert”
    (previously mixed “yodsira-family” and the default domain).
  • Renamed the internal components to unique prefixes (WPCRASH_/wpcrash_)
    to prevent name collisions with other plugins; removed a stray file from
    the package.

0.1.4

  • New: optional HTTP proxy for Telegram delivery (hosts that block Telegram).

0.1.3

  • Code hardening for the Plugin Check review: table names now use the %i identifier placeholder in every query, settings input is sanitized with map_deep(). Minimum WordPress version raised to 6.2 (introduced in 6.2).
  • Removed development artifacts from the package.
  • The “site is back online” recovery notice now actually renders after a fatal episode (the recovery was detected but never shown).

0.1.2

  • Load the shared Yodsira family components (family status endpoint).

0.1.1

  • Documented all external services (Telegram Bot API, email, custom webhook)
    in a dedicated “External Services” readme section, with the exact data sent
    and links to the service terms and privacy policy.
  • Corrected privacy wording in Features/FAQ: alerts go only to channels the
    site admin configures; the developer receives nothing.
  • Telegram alert texts are now in English (same as email alerts).
  • “Upgrade to Pro” links now point to yodsira.com.

0.1.0

  • Initial release: fatal capture, culprit attribution, plain-language
    explanations (RU/EN), Telegram/email/webhook alerts, rate limiting,
    recovery notices, update correlation, event timeline, retention.