Title: Statinform: Cookieless Analytics (No Consent Banner)
Author: einform
Published: <strong>October 14, 2026</strong>
Last modified: October 14, 2026

---

Search plugins

![](https://ps.w.org/statinform/assets/icon-256x256.png?rev=3746351)

# Statinform: Cookieless Analytics (No Consent Banner)

 By [einform](https://profiles.wordpress.org/einform/)

[Download](https://downloads.wordpress.org/plugin/statinform.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/statinform/#description)
 * [Reviews](https://wordpress.org/plugins/statinform/#reviews)
 *  [Installation](https://wordpress.org/plugins/statinform/#installation)
 * [Development](https://wordpress.org/plugins/statinform/#developers)

 [Support](https://wordpress.org/support/plugin/statinform/)

## Description

StatInform is a self-hosted analytics plugin for WordPress that keeps all data on
your own server. It does **not** use cookies, does **not** send data to third parties(
Google, Yandex, or anyone else), and has a minimal impact on your site’s performance.

**Key features**

 * **No cookies.** Session identification uses `sessionStorage`, which is cleared
   when the browser tab closes. No long-lived identifiers, no cross-visit tracking.
 * **No external services.** All data is stored in your own MySQL database. Nothing
   is sent anywhere.
 * **Minimal server load.** The collection endpoint runs outside of WordPress core.
   It does not load `wp-load.php`, does not touch the database, and simply appends
   a line to a buffer file.
 * **Page-level detail.** Tracks entry/exit pages, full session page chains, time
   on each page, and transitions between pages.
 * **Source detection.** Classifies traffic by referrer and UTM tags. Recognizes
   search engines, social networks, and messengers (Telegram, WhatsApp, Viber, and
   others).
 * **Outbound link tracking.** Tracks clicks on external links, `mailto:`, and `
   tel:` links.
 * **Bot filtering.** Detects known bots by User-Agent and `Accept-Language` headers.
 * **Bounce rate.** A session is a bounce when it has <= 1 unique page and total
   time < 15 seconds.
 * **Data export.** Export any table to CSV for a chosen period. Create ZIP archives
   on the server. Delete old data with optional pre-archiving.
 * **No cookie consent banner required** for this plugin’s own data collection, 
   because no cookies are used and no personal data is stored in identifiable form.

### Performance and architecture

StatInform’s collection endpoint intentionally runs outside of WordPress core. This
means:

 * **No `wp-load.php`.** The endpoint is a standalone PHP script. It does not load
   WordPress, does not connect to the database, and does not fire any hooks.
 * **The endpoint lives in `wp-content/uploads/eistat/`.** It is copied there on
   activation from a template file inside the plugin folder. WordPress.org guidelines
   require plugins to store user data in `uploads/`, not in the plugin directory.
 * **No SQL in the collection path.** Events are appended to hourly `.jsonl` buffer
   files. Aggregation into the database happens separately via WP-Cron or the manual“
   Update now” button.
 * **Data files are protected from direct access.** `.htaccess` files in the buffer
   and archives folders block direct HTTP access. On Nginx, these files are ignored
   and equivalent server-level rules should be configured.

### Notes for reviewers

A few static-analysis warnings appear when running Plugin Check (PCP) on this plugin.
They are false positives:

 1. **`InterpolatedNotPrepared` on SQL queries.** All queries use `$wpdb->prepare()`
    for values. Table names are built as `$wpdb->prefix . 'eistat_'` and cannot be 
    parameterized through `prepare()`. The table prefix is a controlled value that 
    never comes from user input.
 2. **`NonceVerification.Recommended` on GET parameters.** The admin views read filter
    parameters (`days`, `view`, `date`, `source`, `link_type`, `paged`) directly from`
    $_GET`. These are read-only filters that do not change state, so a nonce is not
    required. All values are sanitized with `sanitize_text_field()`, `sanitize_key()`,
    or `absint()`.
 3. **`DirectDatabaseQuery` and `NoCaching`.** The plugin uses custom tables with the
    prefix `wp_eistat_`. These tables are not part of the WordPress object cache, so
    caching them would provide no benefit.

The plugin does **not** write any PHP code to user files. The buffer path is stored
as plain JSON in `uploads/eistat/buffer-path.json` and read with `file_get_contents()`
+ `json_decode()`.

## Screenshots

[⌊Overview dashboard with today's summary.⌉⌊Overview dashboard with today's summary
.⌉[

Overview dashboard with today’s summary.

## Installation

 1. Upload the `statinform` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. On activation, the plugin creates six database tables and a data folder at `wp-
    content/uploads/eistat/` with the following structure:
 4.  * `uploads/eistat/collect.php` — the collection endpoint.
     * `uploads/eistat/buffer-path.json` — a plain JSON config with the buffer directory
       path.
     * `uploads/eistat/buffer/` — hourly `.jsonl` files.
     * `uploads/eistat/archives/` — exported ZIP archives.
 5. Go to **Analytics** in the admin menu to view your dashboard.

## FAQ

### Does StatInform use cookies?

No. Session identification uses `sessionStorage`, which is cleared when the browser
tab is closed. No cookies are set by the tracker.

### Does it send data to Google, Yandex, or any other service?

No. All data stays in your own MySQL database on your own server.

### Is a cookie consent banner required?

For StatInform’s own data collection, no – because no cookies are set and no personal
data is stored in identifiable form.

### Does it slow down my site?

The collection endpoint bypasses WordPress core entirely. Each tracked event adds
roughly a few milliseconds of server work. Aggregation runs in the background, not
during page loads.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Statinform: Cookieless Analytics (No Consent Banner)” is open source software. 
The following people have contributed to this plugin.

Contributors

 *   [ einform ](https://profiles.wordpress.org/einform/)

[Translate “Statinform: Cookieless Analytics (No Consent Banner)” into your language.](https://translate.wordpress.org/projects/wp-plugins/statinform)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/statinform/), check
out the [SVN repository](https://plugins.svn.wordpress.org/statinform/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/statinform/) by 
[RSS](https://plugins.trac.wordpress.org/log/statinform/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **4 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [analytics](https://wordpress.org/plugins/tags/analytics/)[lightweight](https://wordpress.org/plugins/tags/lightweight/)
   [no cookies](https://wordpress.org/plugins/tags/no-cookies/)[privacy](https://wordpress.org/plugins/tags/privacy/)
   [statistics](https://wordpress.org/plugins/tags/statistics/)
 *  [Advanced View](https://wordpress.org/plugins/statinform/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/statinform/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/statinform/reviews/)

## Contributors

 *   [ einform ](https://profiles.wordpress.org/einform/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/statinform/)