TWIPLA (Visitor Analytics IO) – Privacy-First Website Stats, Session Recordings, Heatmaps, Polls and Surveys

2.5M+ installs — #1 Web Analytics Tool on WIX, now on WordPress! 📈 Traffic Stats, Session Replays, Heatmaps.🔓 GDPR & CCPA Ready. 💵 Free Forever Plan.

v1.3.0Visitor AnalyticsUpdated Added 900 installs92% rating
38
Score
71
Errors
49
Warnings
+0
Change

Category Scores

Security0
Repo89
Performance100
Maintainability73

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

120 findings

Security

84

8 issue groups

Maintainability

30

12 issue groups

I18n

4

2 issue groups

Repo Compliance

2

2 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$visitor_analytics_site_id'.54
Category
Security
Occurrences
54
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$visitor_analytics_site_id'.

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$i18n".15
Category
Maintainability
Occurrences
15
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$i18n".

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['visaLocale']6
Category
Security
Occurrences
6
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['visaLocale']

WARNINGSecurityRequest data is not unslashed$_GET['visaLocale'] not unslashed before sanitization. Use wp_unslash() or similar6
Category
Security
Occurrences
6
Severity
warning

Sample message

$_GET['visaLocale'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_SERVER['HTTPS']. Check that the array index exists before using it.5
Category
Security
Occurrences
5
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_SERVER['HTTPS']. Check that the array index exists before using it.

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "getAddress".4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "getAddress".

ERRORSecuritySetting is missing a sanitization callbackSanitization missing for register_setting().3
Category
Security
Occurrences
3
Severity
error

Sample message

Sanitization missing for register_setting().

ERRORI18nText Domain MismatchMismatched text domain. Expected 'visitor-analytics-io' but got 'VisitorAnalytics'.3
Category
I18n
Occurrences
3
Severity
error

Sample message

Mismatched text domain. Expected 'visitor-analytics-io' but got 'VisitorAnalytics'.

WARNINGSecuritywp redirect wp redirectwp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.2
Category
Security
Occurrences
2
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

Show 14 more
ERRORMaintainabilitycurl curl setopt2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

WARNINGMaintainabilityNo PHP code found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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.

ERRORMaintainabilitydate date1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed class1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

ERRORSecurityUnsafe printing function1
Category
Security
Occurrences
1
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

ERRORMaintainabilitycurl curl close1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl exec1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl init1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitylibrary core files1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Library files that are already in the WordPress core are not permitted.

ERRORRepo Compliancelicense mismatch1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Your plugin has a different license declared in the readme file and plugin header. Please update your readme with a valid GPL license identifier.

WARNINGMaintainabilitymismatched plugin name1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Plugin name "TWIPLA (Visitor Analytics IO) - Privacy-First Website Stats, Session Recordings, Heatmaps, Polls and Surveys" is different from the name declared in plugin header "TWIPLA".

ERRORMaintainabilityMissing direct file access protection1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORRepo Complianceoutdated tested upto header1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Tested up to: 6.8 < 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.

WARNINGI18ntextdomain mismatch1
Category
I18n
Occurrences
1
Severity
warning

Sample message

The "Text Domain" header in the plugin file does not match the slug. Found "visitor-analytics", expected "visitor-analytics-io".

External Connections

Potential connections found in static code analysis.

9 domains

Outbound calls

14

External assets

1

Incoming endpoints

0

Notable Domains

app.twipla.com5 · outbound
twipla.com3 · outbound
cdn.twipla.com1 · outbound
google.com1 · outbound
twipla.com.io1 · outbound

Platform / Reference Domains

github.com1 · platform/reference
gnu.org1 · platform/reference

External Asset Domains

Incoming Endpoints

No public endpoints detected.

Score History

First score snapshot

v1.3.0

38

Latest

Findings
120
Errors
71
Warnings
49
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

35 nodes

Related Plugins

Machete

7k+ active installs

99
Search Analytics for WP

3k+ active installs

99
Web Worker Offloading

10k+ active installs

99
Google Tag Manager

10k+ active installs

98