Optimize and modify your website's parameters
Category Scores
Top Issues by Category
security118
maintainability65
i18n41
Issues Details
238 issues found in latest scan
$_POST['ajax_slug'] not unslashed before sanitization. Use wp_unslash() or similar
Detected usage of a non-sanitized input variable: $_POST['lws_tk_optimisation_list']
Detected usage of a possibly undefined superglobal array index: $_POST['less_revision_revision_number']. Check that the array index exists before using it.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$count_inactive_themes'.
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;
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
The $text text string should have translatable content. Found: ''
Writing files using ABSPATH may be problematic. Consider using wp_upload_dir() instead if storing user data or generated files.
Use placeholders and $wpdb->prepare(); found interpolated variable {$new_name} at "RENAME TABLE `{$table[0]}` TO `{$new_name}`"
Mismatched text domain. Expected 'lws-tools' but got 'lws-cleaner'.
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fwrite().
Use placeholders and $wpdb->prepare(); found $db_size_query
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen().
The $text parameter must be a single text string literal. Found: $manager[1]
Function "wp_get_wp_version()" requires WordPress 6.7.0, but your plugin minimum supported version is WordPress 5.0.0.
Unescaped parameter $new_prefix used in $wpdb->query()\n$new_prefix assigned unsafely at line 309.
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.
In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.
Translatable string should not be wrapped in HTML. Found: '<strong>%d revision(s).</strong>'
No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_POST['ajax_slug'] not unslashed before sanitization. Use wp_unslash() or similar | 39 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_POST['lws_tk_optimisation_list'] | 25 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_POST['less_revision_revision_number']. Check that the array index exists before using it. | 24 |
| 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_inactive_themes'. | 19 |
| 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. | 16 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 13 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 12 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 12 |
| WordPress.WP.I18n.NoEmptyStrings | ERROR | The $text text string should have translatable content. Found: '' | 11 |
| PluginCheck.CodeAnalysis.WriteFile.ABSPATHDetected | WARNING | Writing files using ABSPATH may be problematic. Consider using wp_upload_dir() instead if storing user data or generated files. | 6 |
| WordPress.DB.PreparedSQL.InterpolatedNotPrepared | WARNING | Use placeholders and $wpdb->prepare(); found interpolated variable {$new_name} at "RENAME TABLE `{$table[0]}` TO `{$new_name}`" | 6 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'lws-tools' but got 'lws-cleaner'. | 6 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fclose | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose(). | 5 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fwrite | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fwrite(). | 4 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $db_size_query | 3 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fopen | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen(). | 3 |
| WordPress.WP.I18n.MissingArgDomain | ERROR | Missing $domain parameter in function call to esc_html_e(). | 3 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: $manager[1] | 3 |
| wp_function_not_compatible_with_requires_wp | ERROR | Function "wp_get_wp_version()" requires WordPress 6.7.0, but your plugin minimum supported version is WordPress 5.0.0. | 3 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | ERROR | Unescaped parameter $new_prefix used in $wpdb->query()\n$new_prefix assigned unsafely at line 309. | 2 |
| 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. | 2 |
| 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. | 2 |
| WordPress.WP.EnqueuedResourceParameters.NotInFooter | WARNING | In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header. | 2 |
| WordPress.WP.I18n.NoHtmlWrappedStrings | WARNING | Translatable string should not be wrapped in HTML. Found: '<strong>%d revision(s).</strong>' | 2 |
| Internal.NoCodeFound | WARNING | No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them. | 1 |
Latest Snapshot
Findings
238
Errors
104
Warnings
134
Score History
First score snapshot
First scan completed Jun 20, 2026
v2.6.4 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v2.6.4
31
Latest
- Findings
- 238
- Errors
- 104
- Warnings
- 134
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 31 | 238 | 104 | 134 | v2.6.4 | 2.0.0 | 2026.06-mvp-static-v2 |