As part of my migration from Wordpress to Ghost, I wanted a way to see how many views my posts had. This blog only gets a few hits per day - but over 10,000 people have seen my content over the past 2 years which serves as an incentive to keep writing!
- It has to be free. A goal of this blog is to cost $0 to run (plus a few dollars per year for the domain name).
I looked at a few options:
- Google Analytics. It's free, simple, and everyone uses it. It also seemed like overkill for a blog that gets a few hits per day.
- Simple Analytics. I couldn't find a free option, but this looked really neat.
- Ghostboard.io. No free option I could find.
- Nginx server access logs - I have these on disk!
The last option is the one I went with. Nginx access logs have all the information I need - a timestamp and URL requested. This is enough to show me visitors per day and the most popular blog posts.
But I did not want to read through a log text file to get this information. Luckily, there's an open-source project called GoAccess that visualizes server log files. With one command, I could get a visualization via an HTML file:
goaccess /var/log/nginx/access.log -o analytics.html --log-format=COMBINED
That's all there is to it. That command generates an HTML page with charts and graphs with everything I need: