Backup, restore, staging, and migration for WordPress. Create full-site backups and test updates safely. 100% Unit Tested.
Category Scores
Top Issues by Category
security1,220
maintainability979
Issues Details
2,741 issues found in latest scan
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$activeClass".
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" to negative offset: $offset"'.
Processing form data without nonce verification.
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.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
$_GET[$numericValue] not unslashed before sanitization. Use wp_unslash() or similar
Detected usage of a non-sanitized input variable: $_ENV['SSH_AUTH_SOCK']
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$argv[1]'.
Processing form data without nonce verification.
Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'PHP failed to process this task. We will lower the memory usage and try again... (%d/%d)'.
unlink() is discouraged. Use wp_delete_file() to delete a file.
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$actionCallback".
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen().
parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().
Use placeholders and $wpdb->prepare(); found interpolated variable $idsToDelete at "DELETE FROM $wpdb->options WHERE `option_id` IN ($idsToDelete)"
The $text parameter must be a single text string literal. Found: "This clone is incomplete and does not work. Clone or update it again! \n\n" .\n "Important: Keep the browser open until the cloning is finished. \n" .\n "It will not proceed if your browser is not open.\n\n" .\n "If you have an unstable internet connection and cloning breaks due to that, clone again only the folders wp-admin, wp-includes, and all database tables.\n\n" .\n "That will not take much time. Then, you can proceed with the wp-content folder that usually needs the most disk space. " .\n "If it interrupts again, at least it will not break the existing staging site again, and you can repeat and resume the last operation."
Unescaped parameter $optionTable used in $wpdb->get_var()\n$optionTable assigned unsafely at line 208.
error_log() found. Debug code should not normally be used in production.
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fwrite().
print_r() found. Debug code should not normally be used in production.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$activeClass". | 500 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" to negative offset: $offset"'. | 475 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 273 |
| WordPress.WP.I18n.MissingTranslatorsComment | ERROR | 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. | 250 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 168 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET[$numericValue] not unslashed before sanitization. Use wp_unslash() or similar | 155 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_ENV['SSH_AUTH_SOCK'] | 115 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$argv[1]'. | 85 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 83 |
| WordPress.WP.I18n.UnorderedPlaceholdersText | ERROR | Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'PHP failed to process this task. We will lower the memory usage and try again... (%d/%d)'. | 63 |
| WordPress.WP.AlternativeFunctions.unlink_unlink | ERROR | unlink() is discouraged. Use wp_delete_file() to delete a file. | 43 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fclose | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose(). | 38 |
| WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$actionCallback". | 35 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fopen | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen(). | 33 |
| WordPress.WP.AlternativeFunctions.parse_url_parse_url | ERROR | parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead. | 30 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 23 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 23 |
| WordPress.DateTime.RestrictedFunctions.date_date | ERROR | date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead. | 23 |
| WordPress.WP.AlternativeFunctions.file_system_operations_is_writable | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable(). | 22 |
| WordPress.DB.PreparedSQL.InterpolatedNotPrepared | WARNING | Use placeholders and $wpdb->prepare(); found interpolated variable $idsToDelete at "DELETE FROM $wpdb->options WHERE `option_id` IN ($idsToDelete)" | 20 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: "This clone is incomplete and does not work. Clone or update it again! \n\n" .\n "Important: Keep the browser open until the cloning is finished. \n" .\n "It will not proceed if your browser is not open.\n\n" .\n "If you have an unstable internet connection and cloning breaks due to that, clone again only the folders wp-admin, wp-includes, and all database tables.\n\n" .\n "That will not take much time. Then, you can proceed with the wp-content folder that usually needs the most disk space. " .\n "If it interrupts again, at least it will not break the existing staging site again, and you can repeat and resume the last operation." | 18 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | WARNING | Unescaped parameter $optionTable used in $wpdb->get_var()\n$optionTable assigned unsafely at line 208. | 14 |
| WordPress.PHP.DevelopmentFunctions.error_log_error_log | WARNING | error_log() found. Debug code should not normally be used in production. | 14 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fwrite | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fwrite(). | 14 |
| WordPress.PHP.DevelopmentFunctions.error_log_print_r | WARNING | print_r() found. Debug code should not normally be used in production. | 13 |
Latest Snapshot
Findings
2,741
Errors
1,414
Warnings
1,327
Score History
First score snapshot
First scan completed Jun 19, 2026
v4.8.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 19, 2026
v4.8.1
23
Latest
- Findings
- 2,741
- Errors
- 1,414
- Warnings
- 1,327
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 19, 2026Latest | 23 | 2,741 | 1,414 | 1,327 | v4.8.1 | 2.0.0 | 2026.06-mvp-static-v2 |