HACKER Q&A
📣 tombert

What do you use for analytics for a statically generated website?


I recently deployed a Hugo blog that I'm locally hosting. I would like to know roughly how much traffic it's getting (almost nothing except friends right now, but I still would like some data).

Obviously I could use Google Analytics or something, but I would rather not introduce any kind of Google tracking to my site. Honestly I think I'd be happy enough with one of those "counter" things from the 90's.

Does anyone here have anything? It's been forever since I've done anything like this, I'm sure the state of the art has advanced.


  👤 stefanos82 Accepted Answer ✓
GoAccess looks interesting; to be sincere, I haven't used it myself, but the demo website looks extremely fascinating to me! https://goaccess.io/

👤 wannabebarista
Check out GoatCounter: https://www.goatcounter.com/.

I've used it for six years and am quite happy with it.


👤 XCSme
Probably not exactly what you're looking for (if you only want basic stats), but I made a self-hosted platform: https://uxwizz.com

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).


👤 coronapl
Since you are hosting your blog on your personal server, I would just go with Mixpanel or postHog. They are quite easy to integrate and they enable you to track some more specific events that might be relevant for you.

If you ever decide to host your blog on a cloud provider, Cloudflare provides nice and simple analytics.


👤 reconnecting
Check out tirreno: https://play.tirreno.com (admin/tirreno)

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.


👤 mobilio

👤 pixodaros
Your web host should provide some options such as AWstats based on the server logs. Your host may or may not make it easy to install something else.

👤 skwee357
I self host plausible. Also interested to check GoAccess once I move away from Netlify to my own VPS

👤 webpagealert
Which Fits You? For simplicity: Use server logs + GoAccess (no code changes). For insights: Self-host Matomo (privacy-first). For a retro feel: Client-side counter (least reliable but fun).

👤 kilroy123
Plausible. I make sure to proxy it so extensions don't block it.

Good enough for me.


👤 openplatypus
Wide Angle Analytics (our product) is great for static websites. Small script, fast, no cookie banner required, privacy first.

👤 vednig
ODS is worth looking into

https://onedollarstats.com


👤 pagealert
For analytics on a statically generated site like Hugo without Google Analytics, consider these privacy-focused tools:

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!


👤 DamonHD
I analyse the server logs with awk + friends, filtering out obvious bots.

👤 deivid
I've tried goaccess and goatcounter, finally settling for umami.

👤 enyosam10
Did you deploy of vercel? they provide analytics as well

👤 rishikeshs
Goatcounter