Permalink Manager for WooCommerce improves your store permalinks and remove product, product_category and product_tag slugs from the URL.
Category Scores
Top Issues by Category
security73
maintainability63
i18n2
Issues Details
140 issues found in latest scan
Short PHP opening tag used with echo; expected "<?php echo $this ..." but found "<?= $this ..."
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$this'.
Detected usage of a non-sanitized input variable: $_POST[$this->settings]
Detected usage of a possibly undefined superglobal array index: $_POST['product_permalink_structure']. Check that the array index exists before using it.
Processing form data without nonce verification.
$_POST[$this->settings] not unslashed before sanitization. Use wp_unslash() or similar
Detected usage of a non-sanitized, non-validated input variable _SERVER: "$request_scheme://$_SERVER[HTTP_HOST]"
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Processing form data without nonce verification.
The $text parameter must be a single text string literal. Found: $this->get( $this->options, 'prefix' )
Mismatched text domain. Expected 'permalink-manager-for-woocommerce' but got 'admin_texts_wc_links'.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Tested up to: 6.9 < 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.
Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.
| Code | Type | Message | Count |
|---|---|---|---|
| Generic.PHP.DisallowShortOpenTag.EchoFound | ERROR | Short PHP opening tag used with echo; expected "<?php echo $this ..." but found "<?= $this ..." | 60 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$this'. | 49 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_POST[$this->settings] | 6 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_POST['product_permalink_structure']. Check that the array index exists before using it. | 5 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 4 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_POST[$this->settings] not unslashed before sanitization. Use wp_unslash() or similar | 4 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $query | 2 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidatedNotSanitized | WARNING | Detected usage of a non-sanitized, non-validated input variable _SERVER: "$request_scheme://$_SERVER[HTTP_HOST]" | 2 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 1 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 1 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 1 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: $this->get( $this->options, 'prefix' ) | 1 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'permalink-manager-for-woocommerce' but got 'admin_texts_wc_links'. | 1 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 1 |
| outdated_tested_upto_header | ERROR | Tested up to: 6.9 < 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_no_license | ERROR | Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license. | 1 |
Latest Snapshot
Findings
140
Errors
116
Warnings
24
Score History
First score snapshot
First scan completed
v1.0.8.2 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
v1.0.8.2
39
Latest
- Findings
- 140
- Errors
- 116
- Warnings
- 24
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Latest | 39 | 140 | 116 | 24 | v1.0.8.2 | 2.0.0 | 2026.06-mvp-static-v2 |