Smart WordPress security that blocks bots automatically, guides you to what matters, and repairs problems — without drowning you in noise.
Prioritized issue groups from the latest Plugin Check scan
I18n
685
5 issue groups
Security
414
7 issue groups
Maintainability
179
13 issue groups
Sample message
A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$ae'.
Sample message
error_log() found. Debug code should not normally be used in production.
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$args['after_title']'.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$con->prefix( 'after_pre_options_store' )".
Sample message
The "shield/2fa" prefix is not a valid namespace/function/class/variable/constant prefix in PHP.
Sample message
var_dump() found. Debug code should not normally be used in production.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "login_body_class".
Sample message
Use placeholders and $wpdb->prepare(); found $dbCon
Sample message
var_export() found. Debug code should not normally be used in production.
Sample message
The $text parameter must be a single text string literal. Found: $cfg->properties[ 'name' ]
Sample message
Processing form data without nonce verification.
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
The $plural parameter must be a single text string literal. Found: $tabKey === 'plugins' ? '%s plugins need review.' : '%s themes need review.'
Sample message
The $single parameter must be a single text string literal. Found: $tabKey === 'plugins' ? '%s plugin needs review.' : '%s theme needs review.'
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$oICWP_Wpsf".
Sample message
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
Sample message
Missing singular placeholder, needed for some languages. See https://codex.wordpress.org/I18n_for_WordPress_Developers#Plurals
Sample message
Incorrect number of replacements passed to $wpdb->prepare(). Found 2 replacement parameters, expected 0.
Sample message
Detected usage of meta_key, possible slow query.
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Sample message
Processing form data without nonce verification.
Sample message
Detected usage of a non-sanitized input variable: $_FILES['import_file']['tmp_name']
Not analyzed yet.
First score snapshot
v22.1.3
23
Latest
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 23 | 1,320 | 1,118 | 202 | v22.1.3 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.