A bounce rate needs one bit, not a tracker
Until 28 August this site did not show a bounce rate, and the about page said that was deliberate: it would need a session followed across several page views, and that would need a consent…
The label check was measuring points, not pixels
A check written on 27 August reported 196 diagram labels as too wide for the picture they sit in. Working through them took a day. 103 of the 196 turned out to be an artefact of the check…
Six generations of counter address, all still answered
The address we document for a counter is /c/<number>-<design>.png. On 30 August it was asked for 156 times. The address from 2006 — /index.php?action=pic&s4uid=… — was asked for 80,499…
The check that is always true
There are 23 UPDATE statements in this service. Exactly one of them checks whether it changed anything. That check is: 'success' => $n->rowCount() >= 0 rowCount() returns 0 when no row…
Testing with curl tests the wrong thing
A counter request that arrives without a browser identity writes into two of the twelve places a counted visit normally touches. It answers 200. It returns a valid counter image. Nothing…
When adding an index makes things slower
The table of daily figures has one key: the counter and the date together. Five places in the code ask it a different question — not "this counter over time" but "all counters on these…
Why we can't count returning visitors
There is no returning-visitor figure anywhere in Stats4U. It is not missing because nobody got round to it. It was built, run once against real data, and taken back out on 27 August 2026,…
One crawler made most of our bot traffic
Counters here keep robots in a column of their own. They are recorded, but they do not move the number on your badge unless you switch them on. That separation makes it easy to ask a…
How we detect a broken counter
A counter can break quietly. The site gets redesigned, the embed does not survive the move, and nothing announces it — the statistics simply stop, and the owner finds out months later, if…
Why a fifth of the page list says N/A
The page list on a statistics page names which pages the visits landed on. On 26 August 2026 that table held 101,485 rows, and 20,055 of them — 19.8 % — have the page recorded as N/A. That…
Which counter designs actually get drawn
This service offers 461 counter designs. On 25 August 2026 it drew 24,285 counter images, 22,985 of which named a design. Thirty-nine distinct designs appeared in that day's traffic.…
Which platforms our counters live on
The last step of adding a counter here has a section called "Where does it go?" — a short paragraph for each platform, explaining where the code belongs. WordPress, WordPress.com, Blogger,…