The Complexity Of Creating A Blog Post Hit Engine For FolderHQ
The Complexity Of Creating A Blog Post Hit Engine For FolderHQ
The Complexity Of Creating A Blog Post Hit Engine For FolderHQ

One of the features that I am planning to add to this blog is a hit engine. That way I could capture analytics for:

  • post views.
  • view trends across time e.g. per day hits, per month hits and so on.
  • most viewed posts.
  • most active months in terms of post views.
  • most active days of the week int terms of post views etc.

These stats would be displayed in some charts in the admin backend.

While this is trivial to build (just dumping a row with a DATETIME column that references a post's ID in the Blog Posts table would be enough for a start) there are certain realities that make this a complicated idea to build. The biggest obstacle is bot activity. The Internet is overrun by bots. Yes, BOTS! Bots do much of page hits online and if this activity is not filtered out it could lead to the rapid growth of the Blog Hits counter. To filter out bots is a foolhardy exercise. While simply filtering out every bot that has the word 'Bot' in its User Agent string would work yet that is depending too much on a client's identification. A bot maker could simply call their creation any name without attaching the word 'Bot' to it.

What about Whitelisting? This is too much work. Blacklisting too would be a lot of work. IP address bans could potentially block legitimate users from this site. Plus we now have the reality that some bots cycle through different IP addresses. It's all pointless.

But this idea is still on the drawing board. Let's see what it will be after letting incubation runs its course.

WORDCOUNT: 278 words.

Latest Blog Posts

  1. How to gracefully shutdown a Rust application.
    11 Mar 2026
  2. How to setup CORS layer in a Rust application.
    23 Feb 2026
  3. In search of the best memory allocator that can replace Rust's default system allocator.
    16 Feb 2026
  4. Why your Rust release build tends to use so much memory.
    09 Feb 2026
  5. The main 2 reasons I moved away from Go/Golang and towards Rust.
    07 Feb 2026