I have my personal blog, made with Hugo and hosted on GitHub pages. Initially I did not turn on any kind of web tracking / web analytics, because I do not like tracking at all. But I want to make my blog better and to achieve it, I need a feedback loop about traffic. For example, what are the most popular publications, or how many people view my blog from mobile devices, etc.

So, my question is, what is the most appropriate (ot the less evil) way to track a web traffic?

An answer “there is no good way to do it without breaking user’s privacy” is acceptable too, I did not decide yet turning on the analytics. Instead I’m interested in an opinion of the community.

Thanks in advance!

  • mox@lemmy.sdf.org
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    2 months ago

    The right way to do this is to self-host your analytics.

    I don’t know which tools are popular for this nowadays, but something like Matomo On-Premise might be worth a look. I expect you can find more with a web search. Keywords: open-source self-hosted web analytics.

    • Sem@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      Interesting, thanks! I didn’t think about it. But for a personal blog (without any kind of monetization) it is not an option, unfortunately, due to hosting/infra prices 😞

      • mox@lemmy.sdf.org
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        2 months ago

        VPS can be had very cheap: https://lowendstock.com/

        Also, it might be worth looking for analytics software that can get its data from web server log files. I have done that with Apache and Nginx in the past. These days, I wouldn’t be surprised if such software can ingest the log files created by Amazon’s S3 free tier. You wouldn’t have to manage a VPS with that approach.

        Of course, if you’re letting a major data collector like Github (Microsoft), Amazon, or Cloudflare serve your site, it’s not particularly good for privacy to begin with.