An easier path to great Page Experience for everyone. Powered by AMP.
Category Scores
Top Issues by Category
maintainability380
security31
Issues Details
425 issues found in latest scan
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "admin_head".
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "AMP_Accessibility_Sanitizer".
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_amp_bootstrap_customizer".
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_amp_construct".
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$class'.
Mismatched text domain. Expected 'amp' but got 'default'.
$_GET['post'] not unslashed before sanitization. Use wp_unslash() or similar
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "static::HOOK_PREFIX . static::ARGUMENTS_FILTER".
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "AMP_QUERY_VAR".
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
Short URL detected (goo.gl). Use full URLs instead of URL shorteners.
Detected usage of meta_key, possible slow query.
Traits declared by a theme/plugin should start with the theme/plugin prefix. Found: "AMP_Noscript_Fallback".
Detected usage of a possibly undefined superglobal array index: $_GET['orderby']. Check that the array index exists before using it.
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
The parameter "$args" at position #2 of wp_count_terms() has been deprecated since WordPress version 5.6.0. Instead do not pass the parameter.
The "/vendor" directory using composer exists, but "composer.json" file is missing.
Tested up to: 6.7 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.
The "Plugin Name" header in the plugin file is not valid. It needs to contain at least 5 latin letters (a-Z) and/or numbers. This is necessary because the initial plugin slug is generated from the name.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "admin_head". | 126 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound | WARNING | Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "AMP_Accessibility_Sanitizer". | 82 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound | WARNING | Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_amp_bootstrap_customizer". | 62 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_amp_construct". | 55 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 35 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$class'. | 21 |
| WordPress.WP.I18n.TextDomainMismatch | WARNING | Mismatched text domain. Expected 'amp' but got 'default'. | 12 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET['post'] not unslashed before sanitization. Use wp_unslash() or similar | 9 |
| WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "static::HOOK_PREFIX . static::ARGUMENTS_FILTER". | 5 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound | WARNING | Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "AMP_QUERY_VAR". | 4 |
| PluginCheck.CodeAnalysis.Heredoc.NotAllowed | ERROR | Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead | 2 |
| PluginCheck.CodeAnalysis.ShortURL.Found | WARNING | Short URL detected (goo.gl). Use full URLs instead of URL shorteners. | 2 |
| Squiz.PHP.DiscouragedFunctions.Discouraged | WARNING | The use of function ini_set() is discouraged | 1 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_key | WARNING | Detected usage of meta_key, possible slow query. | 1 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedTraitFound | WARNING | Traits declared by a theme/plugin should start with the theme/plugin prefix. Found: "AMP_Noscript_Fallback". | 1 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_GET['orderby']. Check that the array index exists before using it. | 1 |
| WordPress.WP.AlternativeFunctions.strip_tags_strip_tags | ERROR | strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead. | 1 |
| WordPress.WP.DeprecatedParameters.Wp_count_termsParam2Found | ERROR | The parameter "$args" at position #2 of wp_count_terms() has been deprecated since WordPress version 5.6.0. Instead do not pass the parameter. | 1 |
| library_core_files | ERROR | Library files that are already in the WordPress core are not permitted. | 1 |
| missing_composer_json_file | WARNING | The "/vendor" directory using composer exists, but "composer.json" file is missing. | 1 |
| outdated_tested_upto_header | ERROR | Tested up to: 6.7 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress. | 1 |
| plugin_header_unsupported_plugin_name | ERROR | The "Plugin Name" header in the plugin file is not valid. It needs to contain at least 5 latin letters (a-Z) and/or numbers. This is necessary because the initial plugin slug is generated from the name. | 1 |
Latest Snapshot
Findings
425
Errors
63
Warnings
362
Score History
First score snapshot
First scan completed Jun 19, 2026
v2.5.5 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 19, 2026
v2.5.5
43
Latest
- Findings
- 425
- Errors
- 63
- Warnings
- 362
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 19, 2026Latest | 43 | 425 | 63 | 362 | v2.5.5 | 2.0.0 | 2026.06-mvp-static-v2 |