This is a submission for DEV's Summer Bug Smash: Smash Stories powered by Sentry.
The bug that never crashed
I run a small Google rank tracker (RankLoop). Its one job: tell you your position for each keyword, daily, and email you when something moves.
For weeks it reported "not in top 100" for keywords that were actually sitting on page 2. Every request returned 200. Rows were written. Dashboards updated. The alert emails — the core feature — simply never fired, because nothing ever "moved". The product looked perfectly healthy while being wrong for every user it had.
The cause
Google quietly removed support for the 100-results-per-page parameter. My SERP provider kept accepting num: 100 without an error — and returned ~10 results. My code scanned the ten results it got, did not find the domain, and recorded ">100". Silently. For every keyword ranking 11-100.
The smash
Pagination, with two traps that will bite anyone doing this:
- Positions restart on every page — page 2 returns 1-10 again, so the absolute position is
(page - 1) * 10 + position. - Page 1 regularly returns 9 results (SERP features absorb slots). My first fix stopped paginating on a short page, which meant it stopped after page 1 almost every time. Only a fully empty page means you are done.
What caught the bug was not a log or a monitor: it was comparing my numbers against Search Console, which said position 17 while my tool said ">100". Two instruments, one truth.
Before / after
Before: zero alert emails, ever. The morning the fix shipped: the alerts fired for real for the first time — and one of my few real users got an email telling them their main keyword had climbed to #2. That email was the entire product finally working as promised, three weeks late.
Full technical write-up with the credit-economics fallout (a not-found keyword costs 10x a ranked one): https://dev.to/rankloop/google-quietly-killed-num100-and-my-rank-tracker-lied-for-weeks-2d38
What I keep
If your product measures something, run a second instrument beside it and make them argue. A crash pages you; a wrong number just sits there looking healthy.
Top comments (0)