The strongest CAPTCHA. Switch from reCAPTCHA and Turnstile for free. Works with 60+ integrations: Contact Form 7, Elementor, WooCommerce, Divi, etc.
Category Scores
Top Issues by Category
security114
maintainability19
Issues Details
133 issues found in latest scan
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"({$statusCode}) for {$service}"'.
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$count".
Unescaped parameter $table used in $wpdb->get_results()\n$table assigned unsafely at line 64.
Function "wp_register_ability()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 6.0.0.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$count'.
The %i modifier is only supported in WP 6.2 or higher. Found: "%i".
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "do_shortcode_tag".
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
The plugin name includes a restricted term. Your chosen plugin name - "hCaptcha for WP" - contains the restricted term "wp" which cannot be used at all in your plugin name.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"({$statusCode}) for {$service}"'. | 103 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$count". | 8 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | WARNING | Unescaped parameter $table used in $wpdb->get_results()\n$table assigned unsafely at line 64. | 6 |
| wp_function_not_compatible_with_requires_wp | ERROR | Function "wp_register_ability()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 6.0.0. | 5 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$count'. | 3 |
| WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder | ERROR | The %i modifier is only supported in WP 6.2 or higher. Found: "%i". | 2 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "do_shortcode_tag". | 2 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 2 |
| trademarked_term | WARNING | The plugin name includes a restricted term. Your chosen plugin name - "hCaptcha for WP" - contains the restricted term "wp" which cannot be used at all in your plugin name. | 2 |
Latest Snapshot
Findings
133
Errors
115
Warnings
18
Score History
First score snapshot
First scan completed
v5.0.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
v5.0.1
42
Latest
- Findings
- 133
- Errors
- 115
- Warnings
- 18
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Latest | 42 | 133 | 115 | 18 | v5.0.1 | 2.0.0 | 2026.06-mvp-static-v2 |