[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f8_Dl8ho2i3otHe-1G732DwT6rhy3Zu3W20Qo9bwiNSU":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":15,"tags":18,"homepage":24,"download_link":25,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":38,"analysis":149,"fingerprints":197},"wp-page-load-stats","WP Page Load Stats","1.0.2","Mike Jolley","https:\u002F\u002Fprofiles.wordpress.org\u002Fmikejolley\u002F","\u003Cp>Testing your WordPress site? This plugin allows you to display memory, page load time and query count in the footer of your site on both the front-end and within admin.\u003C\u002Fp>\n\u003Cp>This plugin is partly based upon the WP Query Counter by Steven Word (http:\u002F\u002Fwww.stevenword.com\u002Fplugins\u002Fwp-query-counter\u002F) and has been customised for my testing needs.\u003C\u002Fp>\n\u003Cp>If you’d like to contribute to the plugin you can find it on GitHub: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmikejolley\u002FWP-Page-Load-Stats\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fmikejolley\u002FWP-Page-Load-Stats\u003C\u002Fa>\u003C\u002Fp>\n","Display memory, page load time, average load time and query count in the footer of your site.",10,10041,100,9,"","4.4.34","3.0",[19,20,21,22,23],"counter","debug","developer","memory","query","https:\u002F\u002Fgithub.com\u002Fmikejolley\u002FWP-Page-Load-Stats","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-page-load-stats.1.0.2.zip",0,null,"2026-03-15T10:48:56.248Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"mikejolley",4,10620,89,30,86,"2026-04-04T11:07:32.022Z",[39,60,85,105,129],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":15,"download_link":58,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":59},"debug-this","Debug This","0.6.7","Razvan Aldea","https:\u002F\u002Fprofiles.wordpress.org\u002Fraldea89\u002F","\u003Cp>For admins, developers, and support staff, \u003Cstrong>Debug This\u003C\u002Fstrong> provides a ton of information about your WordPress installation, all from the front-end admin bar.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>The current WP_Query object\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>Blog info and options\u003C\u002Fli>\n\u003Cli>Embed providers\u003C\u002Fli>\n\u003Cli>Files in rendered HTML (CSS, images, JavaScript)\u003C\u002Fli>\n\u003Cli>Filters and actions\u003C\u002Fli>\n\u003Cli>Images sizes\u003C\u002Fli>\n\u003Cli>Globals and constants\u003C\u002Fli>\n\u003Cli>Menus\u003C\u002Fli>\n\u003Cli>Object cache stats\u003C\u002Fli>\n\u003Cli>Plugins, must-use plugins, and dropins\u003C\u002Fli>\n\u003Cli>Rewrite rules\u003C\u002Fli>\n\u003Cli>Queries\u003C\u002Fli>\n\u003Cli>PHP and server information\u003C\u002Fli>\n\u003Cli>Post attachments\u003C\u002Fli>\n\u003Cli>Post types\u003C\u002Fli>\n\u003Cli>Scripts and styles enqueued\u003C\u002Fli>\n\u003Cli>Shortcodes\u003C\u002Fli>\n\u003Cli>Sidebars and widgets\u003C\u002Fli>\n\u003Cli>Taxonomies and terms\u003C\u002Fli>\n\u003Cli>Themes\u003C\u002Fli>\n\u003Cli>Users\u003C\u002Fli>\n\u003Cli>WP cron schedules and jobs\u003C\u002Fli>\n\u003Cli>WP debug log\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Debug This\u003C\u002Fstrong> helps you save time and effort when trying to figure out what’s going on. Instead of hardcoding debug snippets or writing complex unit\u003Cbr \u002F>\ntests for small functionality, you can simply bring to the surface what you need right from the admin bar.\u003C\u002Fp>\n\u003Cp>For example, when viewing a single post, you can see:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>a list of post attachments,\u003C\u002Fli>\n\u003Cli>which menus and sidebars are being displayed,\u003C\u002Fli>\n\u003Cli>the post type, post fields, and meta data,\u003C\u002Fli>\n\u003Cli>the current query variables and query string,\u003C\u002Fli>\n\u003Cli>the rewrite rules applied,\u003C\u002Fli>\n\u003Cli>the author,\u003C\u002Fli>\n\u003Cli>the terms,\u003C\u002Fli>\n\u003Cli>and much more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Extend\u003C\u002Fh3>\n\u003Ch4>Debug This Functions\u003C\u002Fh4>\n\u003Cp>New debug modes can be created easily:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_debug_extension(\n    $mode,\n    $menu_label,\n    $description,\n    $callback,\n    $group = 'General'\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Example\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_debug_extension(\n    'actions',\n    __('Actions', 'debug-this'),\n    __('$wp_actions contains all active registered actions', 'debug-this'),\n    'foo_callback',\n    'Filters And Actions'\n);\nfunction foo_callback($buffer, $template){\n    global $wp_actions;\n    $debug = print_r($wp_actions, true);\n    return $debug;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can add links to the header of a debug mode page. Place this code within your debug callback function.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_debug_header_link('http:\u002F\u002Furltolink', 'Link Label');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Extensions can be removed as well using \u003Ccode>remove_debug_extension($mode);\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>No PRE Tags\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you don’t want your debug output to be enclosed in PRE tags, simply set the following in your extension:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Debug_This::$no_pre = true;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Saved Queries and Execution Time\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Retrieve saved queries and execution time by using the following static properties:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>Debug_This::$execution_time\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>Debug_This::$queries\u003C\u002Fcode> – SAVEQUERIES must defined as true\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>URL Helpers\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>Debug_This::get_current_debug_url()\u003C\u002Fcode> – current URL with the debug query\u003C\u002Fli>\n\u003Cli>\u003Ccode>Debug_This::get_escape_url()\u003C\u002Fcode> – used for the debug escape link that links to original page URL\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WP Actions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>debug_this\u003C\u002Fcode> – receives the $mode arg – outputs the debug code sent from the extension modes. The default action is set to priority 5. This allows you to prepend or append any output without conflict using less or greater priorities.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WP Filters\u003C\u002Fh4>\n\u003Cp>There are a few filters you can use to customize Debug This to your needs:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>debug_this_template\u003C\u002Fcode> – receives $template arg – Use your own template\u003C\u002Fli>\n\u003Cli>\u003Ccode>debug_this_default_mode\u003C\u002Fcode>  – receives $mode arg – Alters the mode for the parent DT admin bar button link.\u003C\u002Fli>\n\u003Cli>\u003Ccode>debug_this_output\u003C\u002Fcode> – receives $output, $mode args – Filter debug content before it’s rendered\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>JavaScript\u003C\u002Fh4>\n\u003Cp>To access the built-in Debug This JS functionality, enqueue your custom script with the dependency set to \u003Ccode>debug-this\u003C\u002Fcode>. Your script will inherit a jQuery dependency.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Object: debugThis\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>debugThis.mode\u003C\u002Fcode> – current mode\u003C\u002Fli>\n\u003Cli>\u003Ccode>debugThis.defaultMode\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>debugThis.template\u003C\u002Fcode> – current included template\u003C\u002Fli>\n\u003Cli>\u003Ccode>debugThis.queryVar\u003C\u002Fcode> – the defined query string variable\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Functions:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>isDebug()\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>getDebugMode()\u003C\u002Fcode> – uses \u003Ccode>isDebug()\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Events:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>A jQuery \u003Ccode>debug-this\u003C\u002Fcode> event is fired from the footer. You can hook into this event with the following;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>jQuery(document).bind('debug-this', function(event, debugThis){\n    console.log(debugThis);\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Helper Functions\u003C\u002Fh4>\n\u003Cp>There are three included functions to help you work with files.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>debug_this_get_file_ownership($file)\u003C\u002Fcode> – returns \u003Ccode>array('name' => $name, 'group' => $group)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>debug_this_get_file_perms($file)\u003C\u002Fcode> – returns string – Example: 0775\u003C\u002Fli>\n\u003Cli>\u003Ccode>debug_this_convert_perms_to_rwx($perms)\u003C\u002Fcode> – returns string – converts permission number to RWX format – Example: 0755 folder becomes drwxr-xr-x\u003C\u002Fli>\n\u003C\u002Ful>\n","Peek under the hood with sixty debugging reports just one click away.",2000,158436,96,17,"2025-06-04T08:56:00.000Z","6.8.5","5.2","5.6",[20,56,21,57,23],"debugger","hooks","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdebug-this.0.6.7.zip","2026-03-15T15:16:48.613Z",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":80,"download_link":81,"security_score":82,"vuln_count":83,"unpatched_count":26,"last_vuln_date":84,"fetched_at":59},"query-monitor","Query Monitor – The developer tools panel for WordPress","3.20.2","John Blackbourn","https:\u002F\u002Fprofiles.wordpress.org\u002Fjohnbillion\u002F","\u003Cp>Query Monitor is the developer tools panel for WordPress and WooCommerce. It enables debugging of database queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more.\u003C\u002Fp>\n\u003Cp>It includes some advanced features such as debugging of Ajax calls, REST API calls, user capability checks, and full support for block themes and full site editing. It includes the ability to narrow down much of its output by plugin or theme, allowing you to quickly determine poorly performing plugins, themes, or functions.\u003C\u002Fp>\n\u003Cp>Query Monitor focuses heavily on presenting its information in a useful manner, for example by showing aggregate database queries grouped by the plugins, themes, or functions that are responsible for them. It adds an admin toolbar menu showing an overview of the current page, with complete debugging information shown in panels once you select a menu item.\u003C\u002Fp>\n\u003Cp>Query Monitor supports versions of WordPress up to three years old, and PHP version 7.4 or higher.\u003C\u002Fp>\n\u003Cp>For complete information, please see \u003Ca href=\"https:\u002F\u002Fquerymonitor.com\u002F\" rel=\"nofollow ugc\">the Query Monitor website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Here’s an overview of what’s shown for each page load:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Database queries, including notifications for slow, duplicate, or erroneous queries. Allows filtering by query type (\u003Ccode>SELECT\u003C\u002Fcode>, \u003Ccode>UPDATE\u003C\u002Fcode>, \u003Ccode>DELETE\u003C\u002Fcode>, etc), responsible component (plugin, theme, WordPress core), and calling function, and provides separate aggregate views for each.\u003C\u002Fli>\n\u003Cli>The template filename, the complete template hierarchy, and names of all template parts that were loaded or not loaded (for block themes and classic themes).\u003C\u002Fli>\n\u003Cli>PHP errors presented nicely along with their responsible component and call stack, and a visible warning in the admin toolbar.\u003C\u002Fli>\n\u003Cli>Usage of “Doing it Wrong” or “Deprecated” functionality in the code on your site.\u003C\u002Fli>\n\u003Cli>Blocks and associated properties within post content and within full site editing (FSE).\u003C\u002Fli>\n\u003Cli>Matched rewrite rules, associated query strings, and query vars.\u003C\u002Fli>\n\u003Cli>Enqueued scripts and stylesheets, along with their dependencies, dependents, and alerts for broken dependencies.\u003C\u002Fli>\n\u003Cli>Language settings and loaded translation files (MO files and JSON files) for each text domain.\u003C\u002Fli>\n\u003Cli>HTTP API requests, with response code, responsible component, and time taken, with alerts for failed or erroneous requests.\u003C\u002Fli>\n\u003Cli>User capability checks, along with the result and any parameters passed to the capability check.\u003C\u002Fli>\n\u003Cli>Environment information, including detailed information about PHP, the database, WordPress, and the web server.\u003C\u002Fli>\n\u003Cli>The values of all WordPress conditional functions such as \u003Ccode>is_single()\u003C\u002Fcode>, \u003Ccode>is_home()\u003C\u002Fcode>, etc.\u003C\u002Fli>\n\u003Cli>Transients that were updated.\u003C\u002Fli>\n\u003Cli>Usage of \u003Ccode>switch_to_blog()\u003C\u002Fcode> and \u003Ccode>restore_current_blog()\u003C\u002Fcode> on Multisite installations.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In addition:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Whenever a redirect occurs, Query Monitor adds an HTTP header containing the call stack, so you can use your favourite HTTP inspector or browser developer tools to trace what triggered the redirect.\u003C\u002Fli>\n\u003Cli>The response from any jQuery-initiated Ajax request on the page will contain various debugging information in its headers. PHP errors also get output to the browser’s developer console.\u003C\u002Fli>\n\u003Cli>The response from an authenticated WordPress REST API request will contain an overview of performance information and PHP errors in its headers, as long as the authenticated user has permission to view Query Monitor’s output. An \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Frest-api\u002Fusing-the-rest-api\u002Fglobal-parameters\u002F#_envelope\" rel=\"nofollow ugc\">an enveloped REST API request\u003C\u002Fa> will include even more debugging information in the \u003Ccode>qm\u003C\u002Fcode> property of the response.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By default, Query Monitor’s output is only shown to Administrators on single-site installations, and Super Admins on Multisite installations.\u003C\u002Fp>\n\u003Cp>In addition to this, you can set an authentication cookie which allows you to view Query Monitor output when you’re not logged in (or if you’re logged in as a non-Administrator). See the Settings panel for details.\u003C\u002Fp>\n\u003Ch3>Other Plugins\u003C\u002Fh3>\n\u003Cp>I maintain several other plugins for developers. Check them out:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuser-switching\u002F\" rel=\"ugc\">User Switching\u003C\u002Fa> provides instant switching between user accounts in WordPress.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-crontrol\u002F\" rel=\"ugc\">WP Crontrol\u003C\u002Fa> lets you view and control what’s happening in the WP-Cron system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Statement\u003C\u002Fh3>\n\u003Cp>Query Monitor is private by default and always will be. It does not persistently store any of the data that it collects. It does not send data to any third party, nor does it include any third party resources. \u003Ca href=\"https:\u002F\u002Fquerymonitor.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Query Monitor’s full privacy statement can be found here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Accessibility Statement\u003C\u002Fh3>\n\u003Cp>Query Monitor aims to be fully accessible to all of its users. \u003Ca href=\"https:\u002F\u002Fquerymonitor.com\u002Faccessibility\u002F\" rel=\"nofollow ugc\">Query Monitor’s full accessibility statement can be found here\u003C\u002Fa>.\u003C\u002Fp>\n","Query Monitor is the developer tools panel for WordPress and WooCommerce.",200000,19156533,98,463,"2025-12-11T22:16:00.000Z","6.9.4","6.1","7.4",[20,77,78,79,61],"debug-bar","development","performance","https:\u002F\u002Fquerymonitor.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fquery-monitor.3.20.2.zip",97,1,"2026-03-30 23:21:22",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":13,"num_ratings":95,"last_updated":96,"tested_up_to":52,"requires_at_least":97,"requires_php":54,"tags":98,"homepage":100,"download_link":101,"security_score":102,"vuln_count":103,"unpatched_count":26,"last_vuln_date":104,"fetched_at":59},"debug-log-manager","Debug Log Manager – Conveniently Monitor and Inspect Errors","2.4.3","Bowo","https:\u002F\u002Fprofiles.wordpress.org\u002Fqriouslad\u002F","\u003Cp>Debug Log Manager allows you to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Enable \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Farticle\u002Fdebugging-in-wordpress\u002F\" rel=\"ugc\">WP_DEBUG\u003C\u002Fa> with one click to log PHP, database and JavaScript errors\u003C\u002Fstrong> when you need to, and disable it when you’re done. No need to manually edit wp-config.php file. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create the debug.log file for you\u003C\u002Fstrong> in a non-default location with a custom file name for enhanced security. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Copy the content of the default \u002F existing debug.log file\u003C\u002Fstrong> into the custom debug.log file, and delete the default \u002F existing debug.log file. So there is continuation in logging and enhanced security going forward.\u003C\u002Fli>\n\u003Cli>Parse the debug.log file and \u003Cstrong>view distinct errors and when they last occurred\u003C\u002Fstrong>, which is better than looking at the raw log file (potentially) full of repetitive errors. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quickly find and filter more specific errors\u003C\u002Fstrong> for your debugging work.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Make error details easier to read\u003C\u002Fstrong> by identifying error source (core \u002F plugin \u002F theme) and separating file path and line number.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easily view files where PHP errors occurred\u003C\u002Fstrong>. This includes WordPress core, plugin and theme files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enable auto-refresh\u003C\u002Fstrong> to automatically load new log entries. No need to manually reload the browser tab, or to \u003Ccode>tail -f\u003C\u002Fcode> the log file on the command line.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easily clear the debug.log file\u003C\u002Fstrong> to save disk space and more easily observe newly occurring errors on your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show an indicator on the admin bar\u003C\u002Fstrong> when error logging is enabled.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add a dashboard widget\u003C\u002Fstrong> showing the latest errors logged.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Use \u003Ccode>error_log()\u003C\u002Fcode>\u003C\u002Fstrong> to output error info into your debug log. e.g. \u003Ccode>error_log( $error_message )\u003C\u002Fcode> for simple, string-based error message, or \u003Ccode>error_log( json_encode( $error ) )\u003C\u002Fcode> when inspecting a more complex error info, e.g. array or object.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>A simpler and more compact version of Debug Log Manager is included as part of the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsystem-dashboard\u002F\" rel=\"ugc\">System Dashboard plugin\u003C\u002Fa>, should you prefer a single plugin that does more.\u003C\u002Fp>\n\u003Ch3>What Users Say\u003C\u002Fh3>\n\u003Cp>\u003Cem>“This is \u003Cstrong>a great plugin for dev\u003C\u002Fstrong> especially for people who tinker in the code.”\u003C\u002Fem> ~\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fgreat-for-dev\u002F\" rel=\"ugc\">PK Son\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cem>“I have used a couple of other logger plugins and \u003Cstrong>this is by far the best one\u003C\u002Fstrong>.”\u003C\u002Fem> ~\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fmust-have-plugin-485\u002F\" rel=\"ugc\">Brian Henry\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cem>“\u003Cstrong>Another massive time-saving tool.\u003C\u002Fstrong>“\u003C\u002Fem> ~\u003Ca href=\"https:\u002F\u002Fdigwp.com\u002F2023\u002F06\u002Fplugins-troubleshoot-debug-wordpress\u002F\" rel=\"nofollow ugc\">Jeff Starr\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Give Back\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbowo.io\u002Freview-dlm\" rel=\"nofollow ugc\">A nice review\u003C\u002Fa> would be great!\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbowo.io\u002Ffeedback-dlm\" rel=\"nofollow ugc\">Give feedback\u003C\u002Fa> and help improve future versions.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fdebug-log-manager\u002F\" rel=\"nofollow ugc\">Help translate\u003C\u002Fa> into your language.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbowo.io\u002Fgithub-dlm\" rel=\"nofollow ugc\">Github repo\u003C\u002Fa> to contribute code.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbowo.io\u002Fdotorg-sponsor-dlm\" rel=\"nofollow ugc\">Sponsor\u003C\u002Fa> my work.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Check These Out Too\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsystem-dashboard\u002F\" rel=\"ugc\">System Dashboard\u003C\u002Fa>: Central dashboard to monitor various WordPress components, processes and data, including the server.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvariable-inspector\u002F\" rel=\"ugc\">Variable Inspector\u003C\u002Fa>: Inspect PHP variables on a central dashboard in wp-admin for convenient debugging.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadmin-site-enhancements\u002F\" rel=\"ugc\">Admin and Site Enhancements\u003C\u002Fa> helps you to easily enhance various admin workflows and site aspects while replacing multiple plugins doing it.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpnewsboard.com\u002F\" rel=\"nofollow ugc\">WordPress Newsboard\u003C\u002Fa>: The latest news, articles, podcasts and videos from 100+ WordPress-focused sources.\u003C\u002Fli>\n\u003C\u002Ful>\n","Log PHP, database and JavaScript errors via WP_DEBUG with one click. Conveniently create, view, filter and clear the debug.log file.",10000,116535,24,"2025-09-24T02:30:00.000Z","4.6",[20,21,99],"errors","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdebug-log-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdebug-log-manager.2.4.3.zip",91,7,"2025-04-18 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":115,"num_ratings":103,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":119,"tags":120,"homepage":126,"download_link":127,"security_score":128,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":59},"page-visits-counter-lite","Page Visits Counter – Lite","1.2.2","Denis Botić","https:\u002F\u002Fprofiles.wordpress.org\u002Fstrongetic\u002F","\u003Cp>This plugin is going to display the number of visits for each page in the:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Admin dashboard\u003C\u002Fli>\n\u003Cli>Browser developer-tools\u002Fconsole tab – (HIDDEN COUNTERS)\u003C\u002Fli>\n\u003Cli>Website\u002Fpage frontend – (OPTIONAL)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can add and display counters on the frontend of your website:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>total page-visits-counter and\u002For\u003C\u002Fli>\n\u003Cli>total website-visits-counter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>( Page-visits-counter does not count page refresh as a new visit while Website-visits-counter counts everything. )\u003C\u002Fp>\n\u003Ch3> Hidden page counter + admin page reports \u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FwxWiFin8NwE?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3> How to display hidden counter on a website frontend? \u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FLWKxYhtYH3o?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>The purpose of this plugin is to supplement the report of actual visits to the pages of the website that cannot be recorded through advanced analytical tools. Advanced analytical tools require the consent of a visitor before the visit is recorded.\u003C\u002Fp>\n\u003Ch3> WHY LITE? \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>It is a small size software and it does not require much memory.\u003C\u002Fli>\n\u003Cli>It is not going to crowd your database with tons of metric data and “eat” database memory.\u003C\u002Fli>\n\u003Cli>It is not going to collect user’s personal data – GDPR compliant.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> NOT COUNTING \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Logged in user with a role:\n\u003Cul>\n\u003Cli>admin\u003C\u002Fli>\n\u003Cli>editor\u003C\u002Fli>\n\u003Cli>shop manager\u003C\u002Fli>\n\u003Cli>custom role\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Page refresh\u002Freload ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003Cli>Submitting comments ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003Cli>Visiting direct media link in the uploads folder\u003C\u002Fli>\n\u003Cli>Media – attachment page\u003C\u002Fli>\n\u003Cli>Search results page\u003C\u002Fli>\n\u003Cli>Update cart ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003Cli>Checkout\u002Forder received ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> COUNTING \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>A visitor ( Not logged in )\u003C\u002Fli>\n\u003Cli>Logged in user with a role:\n\u003Cul>\n\u003Cli>Subscriber\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Contributor\u003C\u002Fli>\n\u003Cli>Pending_user\u003C\u002Fli>\n\u003Cli>Customer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Pages and posts:\n\u003Cul>\n\u003Cli>Pages and subpages\u003C\u002Fli>\n\u003Cli>Default and Static Homepage\u003C\u002Fli>\n\u003Cli>Blog Posts page\u003C\u002Fli>\n\u003Cli>Single post\u003C\u002Fli>\n\u003Cli>Default category and tag – archive pages\u003C\u002Fli>\n\u003Cli>404\u003C\u002Fli>\n\u003Cli>CPT\u003C\u002Fli>\n\u003Cli>Taxonomy archive pages\u003C\u002Fli>\n\u003Cli>WooCommerce:\n\u003Cul>\n\u003Cli>SHOP – archive page\u003C\u002Fli>\n\u003Cli>Single product\u003C\u002Fli>\n\u003Cli>Default category and tag – archive pages\u003C\u002Fli>\n\u003Cli>Attribute archive pages\u003C\u002Fli>\n\u003Cli>Cart ( Check Update cart is not counting… )\u003C\u002Fli>\n\u003Cli>Checkout ( Check “Checkout\u002Forder received” is not counting…)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> ON CHANGE NAME of Page, Post, Product… \u003C\u002Fh3>\n\u003Cp>If you change the name of an existing page, post, product, archive, etc. then the old page will remain intact in the page visits report.\u003Cbr \u002F>\nAfter a new visit, the new page name will appear in the page visits report and the counter will start counting visits for the new page from the start.\u003C\u002Fp>\n\u003Ch3> ON DELETE of Page, Post, Product… \u003C\u002Fh3>\n\u003Cp>If you delete an existing page, post, product, archive, etc. then the page will remain intact in the page visits report including its number of visits.\u003C\u002Fp>\n\u003Ch3> VISITS-COUNTER ON THE WEBSITE FRONTEND \u003C\u002Fh3>\n\u003Cp>There are two counter types:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Website counter\u003C\u002Fli>\n\u003Cli>Page counter ( Not counting page refresh. )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can add one or both counter types on your website or page frontend.\u003C\u002Fp>\n\u003Cp>Instructions on how to add counter\u002Fs to your website are in the plugin settings page under the tab named counter.\u003C\u002Fp>\n\u003Ch3> FEATURES \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Invisible counter (In browser Developer-tools \u002F Console)\u003C\u002Fli>\n\u003Cli>GDPR Compliant\u003C\u002Fli>\n\u003Cli>WooCommerce (HPOS and Remote Logging) compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> REQUIREMENTS \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 5.0 +\u003C\u002Fli>\n\u003Cli>PHP 5.6.40 +\u003C\u002Fli>\n\u003Cli>WooCommerce 4.9.2 +\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> PLUGIN UNINSTALL \u003C\u002Fh3>\n\u003Cp>On the plugin delete\u002Funinstall it will automatically clean its data from the database unless you select to preserve them in the plugin settings area.\u003Cbr \u002F>\nTherefore, it is harmless for you to try out this plugin.\u003C\u002Fp>\n\u003Ch3> FOR DEVELOPER \u003C\u002Fh3>\n\u003Cp>Admin dashboard widget has four wp-hooks:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_wrapper_start’ );\u003C\u002Fli>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_after_total_visits_boxes’ );\u003C\u002Fli>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_wrapper_end_before_js’ );\u003C\u002Fli>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_wrapper_end_after_js’ );\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>LEGAL\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDenisBotic\u002FWP-org-plugin-PAGE-VISITS-COUNTER-LITE\u002Fblob\u002Fmain\u002Fprivacy-policy.txt\" rel=\"nofollow ugc\">Privacy policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDenisBotic\u002FWP-org-plugin-PAGE-VISITS-COUNTER-LITE\u002Fblob\u002Fmain\u002Fread-me-disclaimer.txt\" rel=\"nofollow ugc\">Disclaimer\u003C\u002Fa>\u003C\u002Fp>\n","Display number of visits for each page in admin dashboard and browser developer-tool\u002Fconsole. Doesn't count page refresh as a new visit...",5000,42595,80,"2025-01-06T15:19:00.000Z","6.7.5","5.0","5.6.40",[121,122,123,124,125],"developer-tools-counter","page-views","page-visit-counter","visit-stats","wordpress-counter","https:\u002F\u002Fstrongetic.com\u002Ffree-wp-plugins\u002Fpage-visits-counter-lite\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-visits-counter-lite.zip",92,{"slug":130,"name":131,"version":132,"author":133,"author_profile":134,"description":135,"short_description":136,"active_installs":137,"downloaded":138,"rating":13,"num_ratings":139,"last_updated":140,"tested_up_to":52,"requires_at_least":54,"requires_php":54,"tags":141,"homepage":145,"download_link":146,"security_score":147,"vuln_count":83,"unpatched_count":26,"last_vuln_date":148,"fetched_at":59},"debug-log-config-tool","Debug Log – Manager Tool","2.0.1","Lukman Nakib","https:\u002F\u002Fprofiles.wordpress.org\u002Fpyrobd\u002F","\u003Cp>A comprehensive debugging toolkit for WordPress developers and site administrators. This plugin gives you complete control over WordPress debugging without editing wp-config.php files or using FTP.\u003C\u002Fp>\n\u003Ch4>Quick Demo\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FD4K5zsLnILw?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WP-CLI Style Terminal\u003C\u002Fstrong>: Execute WordPress commands directly from your browser with syntax highlighting and auto-completion\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Database Tools\u003C\u002Fstrong>: Run SQL queries, view table structures, and optimize your database (super admin only)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Debug Constants Manager\u003C\u002Fstrong>: Toggle all WordPress debug constants with a single click\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Log Viewer\u003C\u002Fstrong>: View, filter, and analyze debug logs with syntax highlighting and error categorization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Query Inspector\u003C\u002Fstrong>: Examine database queries with SAVEQUERIES support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Notifications\u003C\u002Fstrong>: Get alerts when new errors appear in your logs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Safe Mode\u003C\u002Fstrong>: Quickly disable all plugins except selected ones for troubleshooting\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Log Paths\u003C\u002Fstrong>: Set custom log file locations with filter support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Debug Constants Available\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WP_DEBUG\u003C\u002Fstrong> – Default Value: true – Enables WordPress debug mode\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP_DEBUG_LOG\u003C\u002Fstrong> – Default Value: true – Saves all errors to a debug.log file\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SCRIPT_DEBUG\u003C\u002Fstrong> – Default Value: false – Uses development versions of core JS and CSS files\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP_DEBUG_DISPLAY\u003C\u002Fstrong> – Default Value: false – Controls whether debug messages display on screen\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SAVEQUERIES\u003C\u002Fstrong> – Default Value: false – Saves database queries for analysis\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer Tools\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Terminal Commands\u003C\u002Fstrong>: Use WP-CLI style commands like \u003Ccode>wp core version\u003C\u002Fcode> or \u003Ccode>wp plugin list\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Database Explorer\u003C\u002Fstrong>: Run SELECT queries and view results in a formatted table\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stack Trace Analysis\u003C\u002Fstrong>: Visualize error stack traces for easier debugging\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hook Inspector\u003C\u002Fstrong>: View all registered hooks and their callbacks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Environment Detection\u003C\u002Fstrong>: Development features are automatically hidden in production\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Developer API\u003C\u002Fstrong>: Apply custom filters like \u003Ccode>apply_filters('wp_debuglog_log_file_path', $file);\u003C\u002Fcode> to extend functionality\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Please note: Constant values will be restored on plugin deactivation as it was before activating the plugin.\u003C\u002Fp>\n","The \"Debug Log Config Tool\" simplifies debugging. Toggle logging,queries , view levels, clear logs from dashboard.",3000,56110,21,"2025-04-30T19:04:00.000Z",[20,21,142,143,144],"log","remote-debug","tools","https:\u002F\u002Fnkb-bd.github.io\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdebug-log-config-tool.2.0.1.zip",99,"2024-05-20 00:00:00",{"attackSurface":150,"codeSignals":179,"taintFlows":189,"riskAssessment":190,"analyzedAt":196},{"hooks":151,"ajaxHandlers":175,"restRoutes":176,"shortcodes":177,"cronEvents":178,"entryPointCount":26,"unprotectedCount":26},[152,156,159,162,165,168,172],{"type":153,"name":154,"callback":154,"file":155,"line":35},"action","init","wp-page-load-stats.php",{"type":153,"name":157,"callback":157,"file":155,"line":158},"wp_head",31,{"type":153,"name":160,"callback":160,"file":155,"line":161},"wp_footer",32,{"type":153,"name":163,"callback":157,"file":155,"line":164},"admin_head",33,{"type":153,"name":166,"callback":160,"file":155,"line":167},"admin_footer",34,{"type":153,"name":169,"callback":170,"file":155,"line":171},"admin_enqueue_scripts","enqueue",35,{"type":153,"name":173,"callback":170,"file":155,"line":174},"wp_enqueue_scripts",36,[],[],[],[],{"dangerousFunctions":180,"sqlUsage":181,"outputEscaping":183,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":188},[],{"prepared":26,"raw":26,"locations":182},[],{"escaped":26,"rawEcho":83,"locations":184},[185],{"file":155,"line":186,"context":187},112,"raw output",[],[],{"summary":191,"deductions":192},"The \"wp-page-load-stats\" v1.0.2 plugin exhibits a strong security posture based on the provided static analysis.  The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events significantly limits the plugin's attack surface.  Furthermore, the code signals indicate a lack of dangerous functions, file operations, and external HTTP requests.  The fact that all SQL queries utilize prepared statements is a commendable security practice.\n\nHowever, a significant concern arises from the 100% unescaped output. This means that any data processed by the plugin and then displayed to users could potentially be vulnerable to Cross-Site Scripting (XSS) attacks. The absence of nonce checks and capability checks, while not directly exploitable given the limited attack surface, represents a missed opportunity to reinforce security controls should new entry points be introduced in future versions.\n\nThe vulnerability history is clean, with no recorded CVEs. This, combined with the lack of critical or high severity taint flows, suggests that the plugin has historically been developed with security in mind. Despite the excellent track record and limited attack surface, the unescaped output remains the primary, albeit potentially severe, weakness that requires attention.",[193],{"reason":194,"points":195},"Unescaped output",8,"2026-03-16T23:31:45.888Z",{"wat":198,"direct":205},{"assetPaths":199,"generatorPatterns":201,"scriptPaths":202,"versionParams":203},[200],"\u002Fwp-content\u002Fplugins\u002Fwp-page-load-stats\u002Fstyle.css",[],[],[204],"wp-page-load-stats\u002Fstyle.css?ver=",{"cssClasses":206,"htmlComments":208,"htmlAttributes":209,"restEndpoints":212,"jsGlobals":213,"shortcodeOutput":215},[207],"actions",[],[210,211],"onclick","data-reset_wp_pls_stats",[],[214],"wp_pls_hide",[]]