Koko Analytics – Privacy-Friendly WordPress Analytics

WordPress analytics without cookies or third-party tracking. A fast, privacy-friendly Google Analytics alternative

v2.4.1Danny van KootenUpdated Added 60k+ installs100% rating75% support resolved
24
Score
161
Errors
280
Warnings
+0
Change

Category Scores

Security0
Repo90
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

441 findings

Maintainability

330

20 issue groups

Security

92

4 issue groups

I18n

10

1 issue group

ERRORMaintainabilityShort PHP open tag foundShort PHP opening tag used with echo; expected "<?php echo $active_tab ..." but found "<?= $active_tab ..."90
Category
Maintainability
Occurrences
90
Severity
error

Sample message

Short PHP opening tag used with echo; expected "<?php echo $active_tab ..." but found "<?= $active_tab ..."

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.50
Category
Maintainability
Occurrences
50
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().49
Category
Maintainability
Occurrences
49
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$body&quot;.43
Category
Maintainability
Occurrences
43
Severity
warning

Sample message

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

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.43
Category
Security
Occurrences
43
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_COOKIE[&#039;_koko_analytics_pages_viewed&#039;]41
Category
Security
Occurrences
41
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE[&#039;_koko_analytics_pages_viewed&#039;]

WARNINGMaintainabilitySchema ChangeAttempting a database schema change is discouraged.25
Category
Maintainability
Occurrences
25
Severity
warning

Sample message

Attempting a database schema change is discouraged.

ERRORMaintainabilityDeprecated function: get_settingsget_settings() has been deprecated since WordPress version 2.1.0. Use get_option() instead.13
Category
Maintainability
Occurrences
13
Severity
error

Sample message

get_settings() has been deprecated since WordPress version 2.1.0. Use get_option() instead.

ERRORMaintainabilityfile system operations fcloseFile operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().10
Category
Maintainability
Occurrences
10
Severity
error

Sample message

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

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.10
Category
I18n
Occurrences
10
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.

Show 15 more
ERRORMaintainabilityparse url parse url8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

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

WARNINGMaintainabilityDiscouraged PHP function6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

The use of function set_time_limit() is discouraged

WARNINGMaintainabilityerror log error log6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

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

WARNINGSecurityDatabase parameter is not escaped5
Category
Security
Occurrences
5
Severity
warning

Sample message

Unescaped parameter $placeholders used in $wpdb-&gt;query()\n$placeholders assigned unsafely at line 227.

ERRORMaintainabilityfile system operations mkdir5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

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

ERRORMaintainabilityunlink unlink5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

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

WARNINGSecurityUnfinished Prepare3
Category
Security
Occurrences
3
Severity
warning

Sample message

Replacement variables found, but no valid placeholders found in the query.

ERRORMaintainabilityfile system operations fopen3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

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

ERRORMaintainabilityfile system operations is writable3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

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

ERRORMaintainabilityNon Enqueued Script3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Scripts must be registered/enqueued via wp_enqueue_script()

ERRORMaintainabilityMissing direct file access protection3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

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

WARNINGMaintainabilityerror log var export2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

ERRORMaintainabilityfile system operations fwrite2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

WARNINGMaintainabilityMissing Version2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Resource version not set in call to wp_register_script(). This means new versions of the script may not always be loaded due to browser caching.

WARNINGMaintainabilityNot In Footer2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_register_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.

Score History

2 score snapshots

+0
1007550250Jun 20, 2026, 01:37 AM UTC Score 24/100 Plugin v2.4.0 Plugin Check 2.0.0 370 errors, 361 warningsJun 22, 2026, 08:29 AM UTC Score 24/100 Plugin v2.4.1 Plugin Check 2.0.0 161 errors, 280 warningsJun 20, 2026Jun 22, 2026

v2.4.1

24

Latest

Findings
441
Errors
161
Warnings
280
Check
2.0.0

v2.4.0

24

Score

Findings
731
Errors
370
Warnings
361
Check
2.0.0

Related Plugins

Machete

7k+ active installs

99
Search Analytics for WP

3k+ active installs

99
Web Worker Offloading

10k+ active installs

99
98
Google Tag Manager

10k+ active installs

98