v2.5.7 — Fix audit critical-error 500 + surface the real fatal
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:lineto 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.