Website update: Blog post view counter
Website update! This time, I've added a blog post view counter. You can see it at the bottom of every blog post:
While views don't really matter to me on this blog, I am curious as to how many people read my posts.
It was fairly simple to implement actually, but the internals are quite interesting. Under-the-hood, it uses a 1x1 transparent tracking image, that's actually located just to the right of the word "views". You can view that image here. I searched the Internet to find the absolute smallest tracking image I could find, and came up with the one I'm using now (it's from here).
The aim here with using an external tracking image is to avoid counting bots that just load the page without images to see if they can spam me.
Every time you load the image, it adds 1 to a counter stored in an SQLite database file. It also serves a caching header, so that your browser (shouldn't) request the same tracking image more than once in a 30 minute time frame.
The system itself is fairly portable and flexible - I can use it in other places with little to no changes should I wish to. It also has a simple status dashboard where you can see all the views at the same time. As of the time of typing, these are the top 5 posts:
|1||How to set up a WebDav share with Nginx||78|
|2||Run a program on your dedicated AMD graphics card on Linux||48|
|3||Embedding Files in C♯ Binaries||36|
|4||Orange Pi 3 in review||28|
|5||Developing and Running C# Programs on Linux||25|
I kind of suspected that the posts in spots #1 and #2 would be popular. I've got quite a few comments on both of them - which is quite unusual for this blog. I estimate that only 1 in 500 to 1 in 1000 people actually leave a comment.
The post in #3 isn't really a surprise either - I've seen it crop up a number of times in my server logs, and I found it really difficult to find a clear and easy-to-read post on the subject when I wrote that post.
The post in #4 is probably only there because I used it for testing purposes - so at least 70% of those 'views' were me :P
Lastly, the post in #5 surprises me a bit. I would have thought that there's plenty of other resources around the internet about running .NET applications on Linux with Mono that would rank much more highly than my blog post, but I guess I was wrong! I'd be really curious to know if those people are primarily from my University.
The views further down the list get into the <5 views range somewhat quickly, so I'd take those under advisement. I suspect that they are probably bots automatically crawling the page, such as the GoogleBot for instance.
It's amazing to know that people actually read the things I write on here, even if they don't comment. It gives me motivation to write more blog posts :P
Of course, if there's something in particular that you'd like to see, you're welcome to leave a comment.