Half the Traffic Was Bots: What a Week of Numbers Across 65 Sites Actually Showed
Every week I get an aggregate report across the whole network and every week the top line tells me almost nothing. This one: 15,630 visits, down 3.58%. 16,130 page views, down 4.1%. Median load time 3,252ms across 65 sites. Flat. Fine. Move on.
Except the aggregate is the least trustworthy number in the whole report, and this week made that obvious in two separate ways.
Start with the browser column, because that’s where it hurts. On analysis.org, 720 of roughly 1,300 visits came back tagged Unknown. Chrome was 390. Mobile Safari 50. On technologies.org it’s 520 Unknown against 610 Chrome. Unknown at that share isn’t a privacy-hardened reader base, it’s crawlers. Which means the headline number on my two biggest sites is inflated by something close to half, and every week-over-week percentage I’ve been reading off those two is partly a story about how often a bot felt like showing up.
That’s not a small correction. A 30% drop on a site where half the traffic is automated might be a 5% drop in actual humans plus a crawler that changed its schedule. I’ve almost certainly overreacted to moves like that before. The only honest read is Chrome plus Mobile Safari and treat the rest as weather.
The second measurement problem is worse because it’s self-inflicted. Sites four through ten in the rankings report no page load time and no Core Web Vitals at all. Not slow numbers. Empty cells. Visits are being counted at the edge, but nothing is running in the browser, which means the beacon script never made it into those templates. marketanalysis.com, pho.tography.org, transportational.com, opinion.org, mediapresser.com, appcoding.com, technologyconference.com. About 3,760 visits a week, roughly a quarter of everything, running completely dark on performance. One line in a base template and I’ve been putting it off.
So of the ten sites I look at most, two report numbers I have to mentally halve and seven report no performance data whatsoever. That leaves osint.org as the only entry on the list I can read straight, and it happens to be the healthiest one: up 25.42%, LCP at 2,135ms, CLS down to 0.13. Median load time did climb 66% to 3,656ms, which I clocked, but LCP is the metric that gets scored so I’m leaving it.
Now the actual fire. technologies.org posted an LCP of 4,252ms at the 75th percentile, up 431.5% in seven days. Four seconds is where Google’s “poor” band starts, so it’s not near the line, it’s over it. Visits fell 31.76% in the same window and I don’t believe those are causally linked yet, because ranking consequences from Core Web Vitals arrive on a lag measured in weeks, not days. But a five-fold regression is never ambient. Something specific shipped. Plugin update, hero image with no width and height set, a font or third-party script that wandered into the header, a cache layer that stopped answering. CLS on the same site improved to 0.15, down 25.84%, which argues against a template rewrite and points at one heavy asset instead. The task is archaeology: find what changed around July 26.
The counterexample is analysis.org, where the previous round of fixes finally showed up in the data. LCP down 37.09% to 2,816ms. CLS down 40.61% to 0.21. INP sitting at 56ms. Visits fell 20.25% but the machine underneath got meaningfully better. It’s still not good, to be clear. 0.21 CLS is double where it needs to be and the 4,831ms median load is the worst of anything reporting properly, even after a 31.63% improvement. But it responded to attention, which is more than most of these do.
Movers worth a line. appcoding.com up 91.3%, mediapresser.com up 66.67%, marketanalysis.com up 64.44%. First two are recent builds so that’s indexing catching up with publishing, not demand. Going down, past technologies.org: pho.tography.org off 30.34% and transportational.com off 24.29%. Both far enough that something probably slipped off page one.
Three jobs this week. Find the technologies.org regression. Get the beacon deployed so I stop guessing about a quarter of my traffic. Keep pushing CLS on analysis.org while it’s still responding.
The general lesson, which I keep relearning: a number you didn’t instrument properly is worse than no number, because you’ll act on it anyway.