{"id":377002,"date":"2026-10-02T03:29:18","date_gmt":"2026-10-02T03:29:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/listingcore-diagnostics\/"},"modified":"2026-10-02T03:29:04","modified_gmt":"2026-10-02T03:29:04","slug":"listingcore-diagnostics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/listingcore-diagnostics\/","author":23492499,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ListingCore Diagnostics","header_author":"Virendra Singh","header_description":"A read-only diagnostic plugin for WordPress that reports concrete, observable site facts and provides one safe, reversible site URL alignment fix.","assets_banners_color":"","last_updated":"2026-10-02 03:29:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":68,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"virendrasingh06","date":"2026-10-02 03:29:04","revision":3724114}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[],"plugin_category":[],"plugin_contributors":[279915],"plugin_business_model":[],"class_list":["post-377002","plugin","type-plugin","status-publish","hentry","plugin_contributors-virendrasingh06","plugin_committers-virendrasingh06"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/listingcore-diagnostics.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>ListingCore Diagnostics inspects a WordPress installation and reports what it can directly observe \u2014 versions, update state, security and performance configuration, database metadata, error-log activity, and more \u2014 without guessing.<\/p>\n\n<p><strong>Project Philosophy:<\/strong><\/p>\n\n<blockquote>\n  <p>ListingCore Diagnostics should report what it can prove, not what it merely suspects.<\/p>\n<\/blockquote>\n\n<p><strong>Current capabilities:<\/strong><\/p>\n\n<ul>\n<li>32 static, read-only, deterministic diagnostics across core, configuration, security, performance, database, plugins, and themes.<\/li>\n<li>A factual diagnostic summary (total, severity, and category counts) with no scoring or interpretation.<\/li>\n<li>Aggregate evidence only \u2014 no raw option dumps, credentials, or paths.<\/li>\n<li>One reversible fix (<code>fix.site_urls_align<\/code>) with preview, confirmation, verification, and rollback.<\/li>\n<li>A capability-gated admin page with fully escaped output.<\/li>\n<\/ul>\n\n<p>ListingCore Diagnostics deliberately avoids speculative diagnosis, plugin blame, root-cause claims, health scoring, AI\/ML, arbitrary filesystem scanning, arbitrary SQL, external HTTP, and telemetry. Diagnostics are read-only; the only mutation path is a single, explicitly confirmed, nonce-protected fix.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>MySQL 5.7 or higher (or MariaDB 10.2+)<\/li>\n<\/ul>\n\n<h3>Security<\/h3>\n\n<ul>\n<li>Diagnostics are read-only and aggregate-only<\/li>\n<li>The single fix requires the <code>manage_options<\/code> capability and a valid nonce<\/li>\n<li>All output is escaped<\/li>\n<li>No external HTTP, telemetry, or automatic data modification<\/li>\n<\/ul>\n\n<p>See docs\/SECURITY.md for details.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPL v2 or later license.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>listingcore-diagnostics<\/code> plugin to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through WordPress admin<\/li>\n<li>Open <strong>ListingCore Diagnostics<\/strong> in the admin menu<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Rollback outcome correctness: an unchanged write is no longer misreported as a rollback failure.<\/li>\n<li>Value-bound fix confirmation: approval is now bound to the exact previewed before-state and direction.<\/li>\n<li>Shared LogFileReader across the debug-log diagnostics, so the bounded log tail is read once per scan.<\/li>\n<li>Coalesced database metadata queries via a shared read-only DatabaseMetadata provider.<\/li>\n<li>Four new read-only diagnostics: core.wp_cron, database.upgrade_pending, configuration.upload_limits, security.xmlrpc (32 total).<\/li>\n<li>Unified site URL comparison semantics shared by configuration.site_urls and fix.site_urls_align.<\/li>\n<li>Environment-aware suppression for approved environment-sensitive diagnostics; unknown environments never suppress and security-posture\/ERROR results are never suppressed.<\/li>\n<li>Admin UX: \"All Diagnostics\" is a collapsed native disclosure and the fix confirmation shows trusted Before -&gt; After values.<\/li>\n<li>Tooling: committed PHPUnit configuration, GitHub Actions CI, and reproducible forward-slash packaging scripts.<\/li>\n<li>Added the ListingCore Diagnostics translation template (POT) for translations.<\/li>\n<\/ul>","raw_excerpt":"A read-only diagnostic plugin for WordPress that reports concrete, observable site facts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377002"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/virendrasingh06"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377002"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377002"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377002"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377002"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377002"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}