Matomo Analytics – Powerful, Privacy-First Insights for WordPress

Privacy friendly, GDPR compliant and self-hosted. Matomo is the #1 Google Analytics alternative that gives you control of your data. Free and secure.

v5.11.0matomoteamUpdated Added 100k+ installs92% rating100% support resolved
19
Score
1,909
Errors
878
Warnings
+0
Change

Category Scores

Security0
Repo60
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

2,787 findings

Security

1,735

8 issue groups

Maintainability

705

16 issue groups

I18n

80

1 issue group

ERRORSecurityException Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" (Plugin '{$plugin}' is not activated.)"'.1,155
Category
Security
Occurrences
1,155
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" (Plugin '{$plugin}' is not activated.)"'.

WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_COOKIE[$this->name]147
Category
Security
Occurrences
147
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE[$this->name]

WARNINGSecurityRecommendedProcessing form data without nonce verification.140
Category
Security
Occurrences
140
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityMissing Unslash$_COOKIE[$this->name] not unslashed before sanitization. Use wp_unslash() or similar121
Category
Security
Occurrences
121
Severity
warning

Sample message

$_COOKIE[$this->name] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityNon Prefixed Class FoundClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: "HTML_Common2".111
Category
Maintainability
Occurrences
111
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "HTML_Common2".

ERRORMaintainabilitymissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;99
Category
Maintainability
Occurrences
99
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERRORMaintainabilitydate datedate() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.94
Category
Maintainability
Occurrences
94
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

ERRORI18nMissing Translators CommentA 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.80
Category
I18n
Occurrences
80
Severity
error

Sample message

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.

WARNINGSecurityMissingProcessing form data without nonce verification.60
Category
Security
Occurrences
60
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityparse url parse urlparse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.52
Category
Maintainability
Occurrences
52
Severity
error

Sample message

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

Show 15 more
ERRORSecurityOutput Not Escaped51
Category
Security
Occurrences
51
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Error table {$id} is not instance of datatable<br />"'.

WARNINGSecurityInput Not Validated45
Category
Security
Occurrences
45
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_COOKIE[$this-&gt;name]. Check that the array index exists before using it.

WARNINGMaintainabilityerror log var export44
Category
Maintainability
Occurrences
44
Severity
warning

Sample message

var_export() found. Debug code should not normally be used in production.

WARNINGMaintainabilityNon Prefixed Constant Found40
Category
Maintainability
Occurrences
40
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;DEBUG_FORCE_SCHEDULED_TASKS&quot;.

WARNINGMaintainabilityNon Prefixed Variable Found38
Category
Maintainability
Occurrences
38
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$CONFIG_INI_PATH_RESOLVER&quot;.

ERRORMaintainabilityunlink unlink37
Category
Maintainability
Occurrences
37
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

ERRORMaintainabilityfile system operations is writable33
Category
Maintainability
Occurrences
33
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().

WARNINGMaintainabilityDiscouraged28
Category
Maintainability
Occurrences
28
Severity
warning

Sample message

The use of function ini_set() is discouraged

ERRORMaintainabilityfile system operations fclose26
Category
Maintainability
Occurrences
26
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().

ERRORMaintainabilityNot Allowed23
Category
Maintainability
Occurrences
23
Severity
error

Sample message

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

ERRORMaintainabilitymysql PDO22
Category
Maintainability
Occurrences
22
Severity
error

Sample message

Accessing the database directly should be avoided. Please use the $wpdb object and associated functions instead. Found: \PDO.

ERRORMaintainabilitywp function not compatible with requires wp21
Category
Maintainability
Occurrences
21
Severity
error

Sample message

Function "register_block_type()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.8.0.

WARNINGMaintainabilityDirect Query19
Category
Maintainability
Occurrences
19
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERRORSecurityNot Prepared16
Category
Security
Occurrences
16
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $prepare

Score History

First score snapshot

v5.11.0

19

Latest

Findings
2,787
Errors
1,909
Warnings
878
Check
2.0.0

Related Plugins

Disable Emojis (GDPR friendly)

60k+ active installs

100
Machete

7k+ active installs

99
Search Analytics for WP

3k+ active installs

99
Web Worker Offloading

10k+ active installs

99