{"id":297743,"date":"2026-05-05T06:26:37","date_gmt":"2026-05-05T06:26:37","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/health-inspector-for-wp-lite\/"},"modified":"2026-05-24T05:16:52","modified_gmt":"2026-05-24T05:16:52","slug":"wphi-diagnostic-suite-lite","status":"publish","type":"plugin","link":"https:\/\/pan.wordpress.org\/plugins\/wphi-diagnostic-suite-lite\/","author":8100765,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.1.0","stable_tag":"3.1.0","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"WPHI Diagnostic Suite Lite","header_author":"Brian Shah","header_description":"A read-only diagnostic suite for WordPress. Core features free forever \u2014 upgrade to WP Health Inspector Pro for the full suite.","assets_banners_color":"3d485d","last_updated":"2026-05-24 05:16:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wphealthinspector.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":229,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"bsha100","date":"2026-05-05 06:26:11"},"3.0.1":{"tag":"3.0.1","author":"bsha100","date":"2026-05-10 16:46:40"},"3.0.2":{"tag":"3.0.2","author":"bsha100","date":"2026-05-10 16:46:40"},"3.0.3":{"tag":"3.0.3","author":"bsha100","date":"2026-05-10 17:48:24"},"3.1.0":{"tag":"3.1.0","author":"bsha100","date":"2026-05-24 05:16:52"}},"upgrade_notice":{"3.1.0":"<p>Major release. New in this version: plugin attribution throughout Blast Radius, structured Error Maps with message-aware fix guides, What Changed? timeline correlation, Deep Autoload Diagnostics, Recommended Diagnostic Paths, and table pagination. No database changes required \u2014 fully backward compatible.<\/p>","3.0.0":"<p>PHP 8.0 or higher is now required. Please verify your hosting environment before upgrading.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3522957,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3522957,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3522957,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3522957,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.0","3.0.1","3.0.2","3.0.3","3.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3522957,"resolution":"1","location":"assets","locale":"","width":1681,"height":4106},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3529090,"resolution":"2","location":"assets","locale":"","width":1683,"height":2308},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3529090,"resolution":"3","location":"assets","locale":"","width":1681,"height":4157},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3529090,"resolution":"4","location":"assets","locale":"","width":1680,"height":3726},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3529090,"resolution":"5","location":"assets","locale":"","width":1681,"height":3922},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3529090,"resolution":"6","location":"assets","locale":"","width":1681,"height":1571},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3529090,"resolution":"7","location":"assets","locale":"","width":1681,"height":1569},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3529090,"resolution":"8","location":"assets","locale":"","width":1681,"height":3430}},"screenshots":[]},"plugin_section":[],"plugin_tags":[153,94,23516,1508,247],"plugin_category":[54,59],"plugin_contributors":[261897],"plugin_business_model":[],"class_list":["post-297743","plugin","type-plugin","status-publish","hentry","plugin_tags-database","plugin_tags-debug","plugin_tags-diagnostic","plugin_tags-health","plugin_tags-performance","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-bsha100","plugin_committers-bsha100"],"banners":{"banner":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/banner-772x250.png?rev=3522957","banner_2x":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/banner-1544x500.png?rev=3522957","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/icon-128x128.png?rev=3522957","icon_2x":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/icon-256x256.png?rev=3522957","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-1.png?rev=3522957","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-2.png?rev=3529090","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-3.png?rev=3529090","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-4.png?rev=3529090","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-5.png?rev=3529090","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-6.png?rev=3529090","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-7.png?rev=3529090","caption":""},{"src":"https:\/\/ps.w.org\/wphi-diagnostic-suite-lite\/assets\/screenshot-8.png?rev=3529090","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>You already know something is wrong. This plugin tells you what, why, and exactly how to fix it.<\/strong><\/p>\n\n<p>Most WordPress diagnostic tools show you a list of problems. WPHI Diagnostic Suite goes further: it reads your PHP error log, traces each error back to the plugin that caused it, checks whether a recent update triggered it, and gives you a structured \"error map\" \u2014 plain-English explanation, probable cause, impact level, numbered fix steps, and WP-CLI commands \u2014 specific to the actual function or class that failed. It also features a temproary error log, which reports all current errors, and can be cleared for quick debugging and error remediation. This allows for realtime reporting of which errors have been resolved, and which still exist.<\/p>\n\n<p>It does all of this without touching a single row of your data. Every query is <code>SELECT<\/code>-only. No cleanups, no automation, no risk.<\/p>\n\n\n\n<h4>Who is this for?<\/h4>\n\n<p>\u2705 <strong>Site owners<\/strong> who see \"something is wrong\" on their dashboard and don't know where to start.<\/p>\n\n<p>\u2705 <strong>Developers<\/strong> who need to diagnose a client site quickly without installing Query Monitor on production.<\/p>\n\n<p>\u2705 <strong>Agencies<\/strong> managing multiple WordPress sites who need a fast, reliable read on site health before and after maintenance.<\/p>\n\n<p>\u2705 <strong>Anyone<\/strong> who has ever looked at a PHP error log and not known what to do next.<\/p>\n\n\n\n<h4>What makes this different<\/h4>\n\n<p>Most diagnostic plugins show you numbers. This one tells you what the numbers mean for <em>your<\/em> site, right now.<\/p>\n\n<p><strong>Plugin attribution everywhere.<\/strong> It's not enough to know you have 12 custom database tables. You need to know <em>which plugin owns each one<\/em>, how many rows each table has, and what would happen if you deactivated that plugin. The Blast Radius module traces every custom table, every scheduled cron job, and every REST API namespace back to the plugin that created it \u2014 using callback Reflection, file scanning, and a curated fingerprint database covering 30+ popular plugins.<\/p>\n\n<p><strong>Error maps, not error lists.<\/strong> When the Error Log Viewer finds a PHP fatal error, it doesn't just show you the message and file. It opens a structured \"error map\" with five sections: what this error class means in plain English, the probable cause based on the actual function or class name extracted from the message, the impact on visitors, numbered fix steps specific to this error type, copyable WP-CLI commands, and a prevention tip. A \"Call to undefined function wc_get_cart()\" gets different advice than a \"Cannot redeclare foo()\" \u2014 because they're different problems.<\/p>\n\n<p><strong>Recommended diagnostic paths based on your live data.<\/strong> The dashboard reads your current error log, autoload size, overdue cron count, and pending update count, then surfaces the two or three diagnostic paths most likely to lead you to the root cause of your current problem \u2014 in the right order. No generic checklists. Paths are ordered by how strongly your live data points to each scenario.<\/p>\n\n<p><strong>Change correlation.<\/strong> The What Changed? module tracks every plugin update, activation, and WordPress core update as a timestamped event. When a PHP error appears, it calculates a 0\u201399 correlation score between the error and the most likely change that caused it \u2014 using file-path matching (the error originates inside the updated plugin's folder) as the primary signal. You can see at a glance whether last night's WooCommerce update is responsible for today's fatal errors.<\/p>\n\n\n\n<h4>The Modules<\/h4>\n\n<p><strong>\ud83c\udfe5 Health Score Dashboard<\/strong>\nAn animated 0\u2013100 gauge computed from all module findings. Issues are listed with severity labels and direct links to the relevant module. Opens instantly \u2014 no page scan required.<\/p>\n\n<p><strong>\ud83d\udd0d Error Log Viewer<\/strong>\nParses your PHP error log and groups identical errors. Each group shows severity, occurrence count, first and last seen timestamps, file path, line number, and a full error map with fix steps and WP-CLI commands. A \"What Changed?\" button on each card checks whether a recent update correlates with the error's appearance. Error log search filters live without a page reload and composes correctly with pagination.<\/p>\n\n<p><strong>\ud83d\udce1 What Changed? \u2014 Timeline Correlation<\/strong>\nTracks plugin updates, activations\/deactivations, WordPress core updates, and theme changes as timestamped events. Displays them on an interactive SVG timeline alongside PHP error spikes. Clicking any correlation finding shows the confidence score, the reasoning, and the specific files involved.<\/p>\n\n<p><strong>\ud83d\uddc4\ufe0f DB Health Inspector<\/strong>\nShows every autoloaded option ranked by size with colour-coded severity. Flags orphaned postmeta rows left by removed plugins, and lists every table exceeding 50 MB. Identifies the exact options driving your autoload overhead.<\/p>\n\n<p><strong>\u26a1 Autoload Governor<\/strong>\nFull per-plugin autoload attribution \u2014 know which plugin owns each option. Includes Deep Autoload Diagnostics with five detection passes: orphaned options from removed plugins (80+ plugin fingerprint database), autoloaded transients, duplicate cache clusters, migration remnants from backup tools, and stale WooCommerce sessions. Each finding shows the size in KB and includes a ready-to-run WP-CLI command.<\/p>\n\n<p><strong>\ud83c\udfaf Blast Radius Analyzer<\/strong>\nEvery custom database table attributed to its owning plugin \u2014 with name, version, and approximate row count. Every non-core cron job attributed via callback Reflection and hook-name fingerprinting. Know exactly which plugins have the deepest footprint on your site and what removing them would affect.<\/p>\n\n<p><strong>\ud83d\uddbc\ufe0f Asset Inspector<\/strong>\nEvery JavaScript and CSS file WordPress enqueues on the front end, with individual file sizes and running totals. If a plugin loads a 400 KB script on pages where it's not needed, this is where you find it.<\/p>\n\n<p><strong>\ud83d\udd50 Cron Inspector<\/strong>\nEvery WP-Cron and Action Scheduler job with its next run time and recurrence interval. Overdue jobs are highlighted \u2014 they run on the next page request and spike load for that visitor.<\/p>\n\n<p><strong>\ud83d\udca3 Time Bomb Detector<\/strong>\nChecks your SSL certificate expiry and warns you 30 days in advance. An expired SSL certificate is a site outage your visitors experience before you do.<\/p>\n\n<p><strong>\ud83d\udda5\ufe0f Server &amp; PHP Environment<\/strong>\nPHP memory limit, max execution time, upload limits, OPcache status, and server software details. The configuration ceiling that caps everything else your site can do.<\/p>\n\n<p><strong>\ud83d\udcc4 Export Report<\/strong>\nDownloads a self-contained HTML report covering health score, database metrics, error log summary, and system snapshot \u2014 useful for sharing findings with a developer or keeping as a pre-maintenance baseline.<\/p>\n\n\n\n<h4>Recommended Diagnostic Paths<\/h4>\n\n<p>The dashboard evaluates seven common WordPress problem scenarios against your live site data and surfaces the ones most relevant right now:<\/p>\n\n<ul>\n<li><strong>Something broke after an update<\/strong> \u2014 What Changed? \u2192 Error Log \u2192 Blast Radius<\/li>\n<li><strong>Slow admin panel<\/strong> \u2014 Autoload Governor \u2192 Cron Inspector \u2192 DB Health<\/li>\n<li><strong>Checkout or payment issues<\/strong> \u2014 Error Log \u2192 Cron Inspector \u2192 Blast Radius<\/li>\n<li><strong>Random outages<\/strong> \u2014 Error Log \u2192 Server &amp; PHP \u2192 Cron Inspector<\/li>\n<li><strong>Plugin conflict suspected<\/strong> \u2014 Error Log \u2192 Blast Radius \u2192 Conflict Detector <em>(Pro)<\/em><\/li>\n<li><strong>Database errors<\/strong> \u2014 Error Log \u2192 DB Health \u2192 Blast Radius<\/li>\n<li><strong>Performance regression<\/strong> \u2014 Asset Inspector \u2192 Autoload Governor \u2192 DB Health<\/li>\n<\/ul>\n\n<p>Each path shows specific errors from your log that triggered the recommendation, so you know exactly what you're chasing before you open the first module.<\/p>\n\n\n\n<h4>100% Read-Only. Safe on Any Live Site.<\/h4>\n\n<p>Every query this plugin runs is <code>SELECT<\/code>, <code>SHOW<\/code>, or <code>SHOW INDEX<\/code>. It never writes, updates, or deletes anything. There is no cleanup feature, no auto-fix button, no risk. It was designed from the ground up to be safe on live production sites \u2014 because that's where you need a diagnostic tool most.<\/p>\n\n\n\n<h4>Free. No Account. No Expiry. No Ads.<\/h4>\n\n<p>All modules listed above are free forever. No trial period, no nag screens, no email signup, no telemetry, no usage limits.<\/p>\n\n\n\n<h4>Upgrade to WP Health Inspector Pro<\/h4>\n\n<p>The Pro plugin runs alongside Lite and unlocks additional modules:<\/p>\n\n<ul>\n<li><strong>Pre-Update Impact Analysis<\/strong> \u2014 before every update, see the plugin's Blast Radius Score (0\u2013100): how many hooks it shares with other plugins, which DB tables it owns, how many cron jobs it runs, and a risk rating (Low \/ Moderate \/ High \/ Critical)<\/li>\n<li><strong>Root Cause Analysis<\/strong> \u2014 correlates findings from all modules into plain-language conclusions, with named plugin attribution, WP-CLI commands, and a \"Primary Suspect\" callout when multiple findings point to the same plugin<\/li>\n<li><strong>Conflict Detector<\/strong> \u2014 which specific plugins are fighting over the same hooks, loading duplicate assets, and providing overlapping functionality \u2014 with plugin names, versions, and one-click deactivation links<\/li>\n<li><strong>Request Profiler<\/strong> \u2014 per-request execution timing, memory consumption, database query counts, and hook timeline for deep performance diagnosis<\/li>\n<li><strong>External Dependencies<\/strong> \u2014 outbound HTTP latency monitoring; identifies slow or failing calls to payment gateways, APIs, and CDNs<\/li>\n<li><strong>Risk Indicators<\/strong> \u2014 deprecated function and hook scanner; checks each plugin against the WordPress.org compatibility API<\/li>\n<li><strong>Performance Baselines<\/strong> \u2014 records snapshots over time and flags regressions automatically<\/li>\n<li><strong>Core Web Vitals<\/strong> \u2014 server-side LCP, CLS, and INP estimates with actionable signals<\/li>\n<li><strong>Complete Server Audit<\/strong> \u2014 full <code>php.ini<\/code> audit, all <code>wp-config.php<\/code> constants, PHP extension checklist, and database server details<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/wphealthinspector.com\/pricing\">See everything included in Pro \u2192<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install through the WordPress Plugins screen (Plugins \u2192 Add New \u2192 search \"WPHI Diagnostic Suite\") or upload the zip manually.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Navigate to <strong>Health Inspector<\/strong> in the WordPress admin menu.<\/li>\n<\/ol>\n\n<p>No configuration required. The plugin reads existing data \u2014 your error log, database, cron schedule \u2014 and has no settings to configure before it starts showing results.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20make%20any%20changes%20to%20my%20database%3F\"><h3>Does this plugin make any changes to my database?<\/h3><\/dt>\n<dd><p>No. Every query uses <code>SELECT<\/code>, <code>SHOW<\/code>, or <code>SHOW INDEX<\/code>. Nothing is inserted, updated, or deleted. The plugin has no write path of any kind.<\/p><\/dd>\n<dt id=\"can%20i%20run%20this%20on%20a%20live%20production%20site%3F\"><h3>Can I run this on a live production site?<\/h3><\/dt>\n<dd><p>Yes \u2014 that's what it was designed for. It has no frontend footprint (nothing loads for visitors), and all queries are read-only.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>The plugin only runs code when an administrator opens one of its pages in wp-admin. It has no frontend hooks, no background tasks of its own, and no code that runs on regular page loads.<\/p><\/dd>\n<dt id=\"what%20does%20%22blast%20radius%22%20mean%3F\"><h3>What does \"Blast Radius\" mean?<\/h3><\/dt>\n<dd><p>Blast radius is a measure of how deeply a plugin or theme has modified your WordPress installation \u2014 custom database tables, background cron jobs, and autoloaded options. A plugin with a large blast radius is harder to safely remove because it has more hooks into your site's data and operations.<\/p><\/dd>\n<dt id=\"what%20is%20the%20correlation%20score%20in%20what%20changed%3F\"><h3>What is the correlation score in What Changed?<\/h3><\/dt>\n<dd><p>Each error-to-change pairing is scored 0\u201399. Scores of 80\u201399 indicate file-path matching: the PHP error originates inside the updated plugin's own folder, which is strong evidence. Lower scores indicate temporal matching: the error appeared within a few hours of the change, but the file connection is indirect.<\/p><\/dd>\n<dt id=\"how%20does%20plugin%20attribution%20work%20in%20blast%20radius%3F\"><h3>How does plugin attribution work in Blast Radius?<\/h3><\/dt>\n<dd><p>Three methods in sequence: (1) a curated fingerprint database mapping known table prefix patterns to plugin slugs (covers 30+ major plugins including WooCommerce, Gravity Forms, Yoast SEO, Elementor, BuddyPress, and more); (2) a file scan of each active plugin's main PHP file looking for the table name in the source code; (3) fuzzy slug matching between the table name and plugin folder names. Cron attribution uses PHP Reflection on the registered callback to trace it to a source file, with hook-name pattern matching as a fallback.<\/p><\/dd>\n<dt id=\"who%20can%20see%20the%20plugin%20pages%3F\"><h3>Who can see the plugin pages?<\/h3><\/dt>\n<dd><p>The plugin requires the <code>manage_options<\/code> capability. Only users with the Administrator role can access its pages.<\/p><\/dd>\n<dt id=\"why%20are%20some%20asset%20sizes%20in%20the%20asset%20inspector%20listed%20as%20unknown%3F\"><h3>Why are some asset sizes in the Asset Inspector listed as Unknown?<\/h3><\/dt>\n<dd><p>The inspector uses HTTP <code>HEAD<\/code> requests to check file sizes. Some CDN-hosted files do not return a <code>Content-Length<\/code> header for <code>HEAD<\/code> requests, so the size cannot be determined remotely.<\/p><\/dd>\n<dt id=\"can%20i%20use%20lite%20and%20pro%20at%20the%20same%20time%3F\"><h3>Can I use Lite and Pro at the same time?<\/h3><\/dt>\n<dd><p>Yes. They are designed to coexist \u2014 Lite handles the free modules and Pro adds its own on top. Both can be active simultaneously with zero conflicts.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>New: Blast Radius attribution \u2014 every custom table, cron job, and REST namespace now shows which plugin owns it (name, version, row count) using Reflection, file scanning, and a 30+ plugin fingerprint database<\/li>\n<li>New: Error Map \u2014 the fix guide for each error group now has five structured sections: What This Means, Probable Cause (extracts the actual function\/class\/variable from the error message), Impact, numbered Fix Steps specific to the error type, and a Prevention tip; WP-CLI commands are included throughout<\/li>\n<li>New: What Changed? \u2014 interactive SVG timeline correlating change events to PHP error spikes, with file-path-based matching and 0\u201399 correlation scores<\/li>\n<li>New: Deep Autoload Diagnostics \u2014 five detection passes: orphaned options from removed plugins (80+ fingerprint database), autoloaded transients, duplicate cache clusters, migration remnants, and stale ecommerce sessions; each with WP-CLI remediation commands<\/li>\n<li>New: Recommended Diagnostic Paths on the dashboard \u2014 seven evaluated scenarios driven by live error log data, autoload size, and cron status<\/li>\n<li>New: \"What Changed?\" button on every error card \u2014 opens the correlation panel inline without navigating away<\/li>\n<li>New: Table pagination \u2014 10\/25\/50\/100\/All page size selector, result counter, and navigation at both top and bottom of every data table; scroll container with sticky header enabled when more than 25 rows are shown; page size preference persisted across sessions<\/li>\n<li>Improved: Admin menu reordered into logical groups \u2014 Diagnostics first, then Performance, Risk &amp; Safety, Environment<\/li>\n<li>Improved: Dashboard health issues now include direct [\u2192 View] links to the relevant module<\/li>\n<li>Improved: WP_DEBUG_LOG check now verifies actual web accessibility of the log file \u2014 escalates to critical only when the log is inside the webroot<\/li>\n<li>Improved: Error log search uses class-based filtering so it composes correctly with pagination<\/li>\n<\/ul>\n\n<h4>3.0.3<\/h4>\n\n<ul>\n<li>Improved: Added Autoload Governor button in DB Health panel<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Improved: Moved all inline CSS to assets\/css\/style.css<\/li>\n<li>Updated cron-background.php to improve reporting<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Improved: Updated messaging regarding Lite \/ Pro interaction on Pro activation<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>New: Error Log Aggregation module<\/li>\n<li>New: Export Report feature<\/li>\n<li>New: Autoload Governor with full per-plugin autoload attribution<\/li>\n<li>New: Time Bomb Detector with SSL certificate expiry check<\/li>\n<li>New: Server &amp; PHP Environment summary<\/li>\n<li>Improved: PHP requirement raised to 8.0<\/li>\n<li>Improved: All date output now uses gmdate() for timezone safety<\/li>\n<li>Improved: AJAX endpoints now verify nonces<\/li>\n<li>Fixed: Unprefixed global functions renamed with wphi_ prefix<\/li>\n<li>Fixed: Database queries use $wpdb-&gt;prepare() and esc_like() throughout<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>New: Health Score dashboard with animated SVG gauge<\/li>\n<li>New: Complete CSS design system with CSS custom properties<\/li>\n<li>New: Full mobile responsiveness across all pages<\/li>\n<li>Improved: Consistent Model\/View architecture across all modules<\/li>\n<li>Fixed: Autoload size query now covers auto in addition to yes, on, auto-on<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Initial structured release with DB Health, Blast Radius, Asset Inspector, and Cron Inspector modules.<\/li>\n<\/ul>","raw_excerpt":"Find out exactly why your WordPress site is slow, broken, or throwing errors \u2014 and get specific, actionable fix steps. 100% read-only.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/297743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=297743"}],"author":[{"embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bsha100"}],"wp:attachment":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=297743"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=297743"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=297743"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=297743"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=297743"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=297743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}