Vago Analytics
Vago Analytics is a self-hosted, privacy-respecting analytics dashboard for WordPress and WooCommerce stores. All data stays on your own server — nothing is sent to a third-party analytics service.
Own database, not your WordPress database
Every tracked pageview, click, and checkout event is written to a self-contained SQLite database file under wp-content/uploads/vago-analytics/, completely separate from your site’s WordPress (MySQL) database. Your store’s real data is never touched, and analytics traffic never adds load to the database your site already depends on for everything else.
What it tracks
- Unique visitors, pageviews, and a period-over-period Performance Summary
- Traffic sources (direct, organic, social, paid, referral, email) with UTM campaign tracking
- Conversion funnel: visit → product view → add to cart → cart → checkout → purchase, with step-to-step drop-off and automatic « biggest leak » detection
- Per-product performance table (views, add to cart, clicks, purchases, revenue, conversion rate)
- Path branches and top path patterns (WooCommerce stores only)
- Session-level detail with a chronological event trail per visitor
- Blog → product click-through performance
- Geographic breakdown (country/city) with known datacenter/hosting-IP traffic excluded from every report, not just flagged
- Device and browser breakdown
- On-site search keyword tracking
- Coupon attempt tracking (success/fail)
Rule-based insights, never fabricated
The dashboard surfaces real, thresholded signals — a funnel leak large enough to matter, a datacenter IP range large enough to be worth investigating — instead of a generic « AI insight » box. If nothing clears the bar, it says so plainly.
External Access
Open the same dashboard at a friendly URL outside of wp-admin (Settings → External Access), for anyone who needs to check analytics without any other admin access. Logging in there still uses the normal WordPress login (wp_signon()) — it’s the same trust model as wp-admin, just without the wp-admin chrome around it.
Built for WordPress.org from the start
No CDN-loaded libraries — Chart.js and the MaxMind DB reader are bundled locally (MIT and Apache-2.0 licenses respectively). No external analytics service, no phoning home, no tracking of you as the site owner.
External service: MaxMind GeoLite2 (optional, your own free key)
City/country lookups are resolved from a MaxMind GeoLite2 City database, downloaded with your own free MaxMind license key (get one at maxmind.com/en/geolite2/signup) and stored/read entirely on your own server — there is no per-visitor request to MaxMind or anyone else. The plugin only contacts download.maxmind.com when you first save a license key and, after that, on an automatic weekly refresh to keep city/region boundaries current, exactly the way MaxMind’s own license requires. Skip the license key entirely and everything else in the plugin still works — city/country will simply show as unknown. See MaxMind’s GeoLite2 EULA.
This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com.
Nginx / LiteSpeed: protecting the analytics database
This plugin writes a .htaccess file into wp-content/uploads/vago-analytics/ to block direct access to the SQLite database and GeoLite2 database files. Apache and LiteSpeed (LiteSpeed reads .htaccess natively for Apache compatibility) honor this automatically. Nginx ignores .htaccess entirely — if your site runs on Nginx, add a rule like this to your server block so those files stay private:
location ^~ /wp-content/uploads/vago-analytics/ {
location ~* \.(db|db-wal|db-shm|mmdb)$ { deny all; return 404; }
}
The plugin also shows an admin notice automatically when it detects Nginx.
