I wanted to know which pages of my portfolio are visited, where the traffic comes from, and whether anyone actually reads the blog — without plugging in Google Analytics, without setting up a database, without displaying a cookie banner. The constraint: Apache + pure PHP hosting, nothing else.
Why not Google Analytics
GA4 would have taken 5 minutes. But two concrete problems:
GDPR : the moment you use GA, personal data (IP, behavior) goes to Google. Legal obligation to display a consent banner, handle refusals, maintain a processing register. For a personal portfolio, that's disproportionate.
Blocked : uBlock Origin, Brave, Firefox Enhanced Tracking Protection — GA is blocked by a significant portion of developers who are precisely my audience. The stats would be underreported.
Self-hosted alternatives like Umami or Plausible require Node.js + PostgreSQL. Not available here.
The solution: file log, hashed IP, zero cookies
A tracker.php file included at the top of each page.…