Skip to content

v2.5.7 — Fix audit critical-error 500 + surface the real fatal

Choose a tag to compare

@JoshMilli JoshMilli released this 21 Jul 13:16
· 3 commits to main since this release

The audit "critical error" 500 is fixed and now diagnosable

Root cause. The audit endpoint's try/catch (\Throwable) only wrapped the AI call. All the heavy work that runs before it — page rendering (which fires apply_filters('the_content') and the entire third-party filter chain in a REST context), HTML-structure extraction, screenshot capture, sprint/GSC fetch — ran outside the guard. A fatal PHP error there escaped to WordPress's shutdown handler and came back as the generic "There has been a critical error on this website" 500, which the guard never saw.

Fixes:

  • The per-page guard now wraps the entire page-processing body, so a fatal in any pre-AI step is returned as a clear per-page failure (with message + file:line) instead of a critical-error page.
  • A fatal-error safety net records non-catchable fatals too (memory exhaustion, execution timeout, or anything outside the guard) and exposes them via a new read-only endpoint GET /conversioniq/v1/audit-last-error.
  • The dashboard fetches that endpoint on a 500 and prints the exact PHP message + file:line to the browser console and the on-screen notice — no WordPress debug.log needed.

After updating: run the audit again. If it still fails, the dashboard will now show the precise PHP error and location (in the notice and the console as 🔥 CIQ recorded PHP fatal:). Send that line and the underlying bug can be fixed directly.

Update

Self-hosted update channel — sites are offered v2.5.7 through the standard WordPress updates screen. Manual install: download conversion-iq-2.5.7.zip below → Plugins → Add New → Upload Plugin.