I've used it for six years and am quite happy with it.
It's built on the LAMP stack, so you'll also have access to the data from all your websites in a MySQL database.
You can enable/disable specific static features. Fun fact: if you want session recordings, it comes with a unique "lightweight" session recording mode that is specifically built for statically generated websites. That version only stores minimal data, without storing the content on the webpage.
I think the coolest feature is the multi-domain tracking, so you can see stats for all your websites on one page, and even apply filters to it (e.g. see for all websites traffic from Google vs HN).
If you ever decide to host your blog on a cloud provider, Cloudflare provides nice and simple analytics.
It's self-hosted, PHP/Postgresql, server-side. Plus, you can get a free tier with 1,000 API requests/month if you want to enrich data about your IP visitors. As a co-founder, I believe it's one of the most advanced solutions available. (-;
If not joking, I use tirreno for some personal websites with partly masked IP as it shows very interesting insights about bots and their behavior.
Under 90s thing you probably mean is awstats (https://github.com/eldy/awstats). CERN and many other organizations continue to use it even now.
That's probably the easiest thing while not adding Google to my stack.
Good enough for me.
Matomo (Piwik)
Self-hosted, open-source web analytics. Track pageviews, referrers, and user behavior while keeping data on your server. Offers granular controls and GDPR compliance. Open Web Analytics (OWA)
Lightweight, JavaScript-based tool with a minimalist UI. Focuses on core metrics (visits, bounce rates) and avoids intrusive tracking. Countly
Agentless analytics with real-time dashboards. Works via JavaScript or server logs. Supports GDPR and cross-platform tracking (web, mobile). Fathom
Commercial, privacy-first service. No cookies, no cross-site tracking. Visualizes traffic trends and user behavior with clean, GDPR-compliant reporting. Ghost Analytics
Built for JAMstack sites. Integrates with Hugo via JavaScript snippet. Emphasizes speed, privacy, and actionable insights (e.g., traffic sources). Server-side alternatives:
Parse server logs with tools like Webalizer or AWStats for basic metrics (hits, IPs) without client-side code. Pro tips:
Use a lightweight counter like Butterfly.js if you just want visitor counts. Avoid services that require JavaScript or third-party cookies. Choose based on your technical comfort (self-hosting vs. SaaS), privacy priorities, and desired granularity. For a site with minimal traffic, even a simple log parser could suffice!
The main script is ~10 key lines. If you send me contact details (eg via stuff in my bio) I could send it over to give you some ideas.